Commit d6157291 authored by 许珑标's avatar 许珑标

登录短信

parent c247d38d
import request from '@/utils/request' import request from '@/utils/request'
// 登录方法 // 登录方法
export function login(username, password, code, uuid) { export function login(username, password, code, smsCode, uuid) {
const data = { const data = {
username, username,
password, password,
code, code,
smsCode,
uuid uuid
} }
return request({ return request({
......
...@@ -34,9 +34,10 @@ const user = { ...@@ -34,9 +34,10 @@ const user = {
const username = userInfo.username.trim() const username = userInfo.username.trim()
const password = userInfo.password const password = userInfo.password
const code = userInfo.code const code = userInfo.code
const smsCode = userInfo.smsCode
const uuid = userInfo.uuid const uuid = userInfo.uuid
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
login(username, password, code, uuid).then(res => { login(username, password, code, smsCode, uuid).then(res => {
setToken(res.token) setToken(res.token)
commit('SET_TOKEN', res.token) commit('SET_TOKEN', res.token)
resolve() resolve()
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="code" v-if="captchaEnabled"> <el-form-item prop="code" v-if="captchaEnabled">
<el-input v-model="loginForm.code" auto-complete="off" placeholder="验证码" style="width: 63%;" <el-input v-model="loginForm.code" auto-complete="off" placeholder="数字验证码" style="width: 63%;"
@keyup.enter.native="handleLogin"> @keyup.enter.native="handleLogin">
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input> </el-input>
...@@ -24,6 +24,16 @@ ...@@ -24,6 +24,16 @@
<img :src="codeUrl" @click="getCode" class="login-code-img" /> <img :src="codeUrl" @click="getCode" class="login-code-img" />
</div> </div>
</el-form-item> </el-form-item>
<div style="color: red; font-size: 12px">获取短信验证码必须同时填写账号、密码、数字验证码</div>
<el-form-item prop="smsCode" v-if="captchaEnabled">
<el-input v-model="loginForm.smsCode" auto-complete="off" placeholder="短信验证码" style="width: 63%;"
@keyup.enter.native="handleLogin">
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
<div class="login-code">
<el-button size="small" @click="getSmsCode">发送短信验证码</el-button>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:12px 0px 25px 0px;">记住密码</el-checkbox> <el-checkbox v-model="loginForm.rememberMe" style="margin:12px 0px 25px 0px;">记住密码</el-checkbox>
<el-form-item style="width:100%;"> <el-form-item style="width:100%;">
<el-button :loading="loading" size="medium" type="primary" style="width:100%;" <el-button :loading="loading" size="medium" type="primary" style="width:100%;"
...@@ -35,13 +45,6 @@ ...@@ -35,13 +45,6 @@
<router-link class="link-type" :to="'/register'">立即注册</router-link> <router-link class="link-type" :to="'/register'">立即注册</router-link>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item style="width:100%;">
<el-button :loading="loading" size="medium" type="primary" style="width:100%;"
@click.native.prevent="getSmsCode">
<span v-if="!loading">登 录</span>
<span v-else>登 录 中...</span>
</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 底部 --> <!-- 底部 -->
<div class="el-login-footer"> <div class="el-login-footer">
...@@ -65,6 +68,7 @@ export default { ...@@ -65,6 +68,7 @@ export default {
password: "", password: "",
rememberMe: false, rememberMe: false,
code: "", code: "",
smsCode:"",
uuid: "" uuid: ""
}, },
loginRules: { loginRules: {
...@@ -74,7 +78,8 @@ export default { ...@@ -74,7 +78,8 @@ export default {
password: [ password: [
{ required: true, trigger: "blur", message: "请输入您的密码" } { required: true, trigger: "blur", message: "请输入您的密码" }
], ],
code: [{ required: true, trigger: "change", message: "请输入验证码" }] code: [{ required: true, trigger: "change", message: "请输入数字验证码" }],
smsCode: [{ required: true, trigger: "change", message: "请输入短信验证码" }]
}, },
loading: false, loading: false,
// 验证码开关 // 验证码开关
...@@ -117,6 +122,7 @@ export default { ...@@ -117,6 +122,7 @@ export default {
}; };
}, },
handleLogin() { handleLogin() {
this.loginRules.smsCode = [{ required: true, trigger: "change", message: "请输入短信验证码" }]
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate(valid => {
if (valid) { if (valid) {
this.loading = true; this.loading = true;
...@@ -141,9 +147,9 @@ export default { ...@@ -141,9 +147,9 @@ export default {
}); });
}, },
getSmsCode() { getSmsCode() {
delete this.loginRules.smsCode
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate(valid => {
if (valid) { if (valid) {
this.loading = true;
getLoginSmsCode(this.loginForm).then(resp => { getLoginSmsCode(this.loginForm).then(resp => {
if (200 === resp.code) { if (200 === resp.code) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment