Commit 8957e28898763dae9f4064d5b4522cc737305d9b
1 parent
8cb58a4c
停车服务登录 重复发送验证码 bug修复
Showing
2 changed files
with
37 additions
and
16 deletions
src/utils/request.js
| ... | ... | @@ -46,13 +46,17 @@ service.interceptors.response.use( |
| 46 | 46 | const res = response.data; |
| 47 | 47 | // if the custom code is not 20000, it is judged as an error. |
| 48 | 48 | if (res.code !='8888') { |
| 49 | - Message({ | |
| 50 | - message: res.msg || 'Error', | |
| 51 | - type: 'error', | |
| 52 | - duration: 5 * 1000 | |
| 53 | - }) | |
| 49 | + if(res.code!='1011'){ | |
| 50 | + Message({ | |
| 51 | + message: res.msg || 'Error', | |
| 52 | + type: 'error', | |
| 53 | + duration: 5 * 1000 | |
| 54 | + }) | |
| 55 | + return Promise.reject(res.msg || 'error') | |
| 56 | + }else{ | |
| 57 | + return res | |
| 58 | + } | |
| 54 | 59 | |
| 55 | - return Promise.reject(res.msg) | |
| 56 | 60 | } else { |
| 57 | 61 | return res |
| 58 | 62 | } | ... | ... |
src/views/login/index.vue
| ... | ... | @@ -39,7 +39,7 @@ |
| 39 | 39 | onkeyup = "value=value.replace(/[^\d]/g,'')" |
| 40 | 40 | @keyup.enter.native="handleLogin" |
| 41 | 41 | /> |
| 42 | - <el-button type="primary" @click="getVerifyCode" :disabled="disabled" style="float:right;margin-top:6px;margin-right:10px;">{{btnTitle}}</el-button> | |
| 42 | + <el-button type="primary" @click="getVerifyCode" :disabled="isDisable" style="float:right;margin-top:6px;margin-right:10px;">{{btnTitle}}</el-button> | |
| 43 | 43 | </el-form-item> |
| 44 | 44 | |
| 45 | 45 | <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" |
| ... | ... | @@ -85,7 +85,7 @@ export default { |
| 85 | 85 | password: [{ required: true, trigger: 'blur', validator: validatePassword }] |
| 86 | 86 | }, |
| 87 | 87 | loading: false, |
| 88 | - disabled: false, | |
| 88 | + isDisable: false, | |
| 89 | 89 | btnTitle: '发送验证码', |
| 90 | 90 | redirect: undefined |
| 91 | 91 | } |
| ... | ... | @@ -100,13 +100,16 @@ export default { |
| 100 | 100 | }, |
| 101 | 101 | methods: { |
| 102 | 102 | getVerifyCode(){ |
| 103 | + this.isDisable = true; | |
| 103 | 104 | let phone = this.loginForm.phone; |
| 104 | 105 | if (!this.loginForm.phone) { |
| 106 | + this.isDisable = false; | |
| 105 | 107 | this.$message({ |
| 106 | 108 | type: 'error', |
| 107 | 109 | message: '请输入正确的手机号!' |
| 108 | 110 | }); |
| 109 | 111 | } else if(!/^1[345678]\d{9}$/.test(this.loginForm.phone)) { |
| 112 | + this.isDisable = false; | |
| 110 | 113 | this.$message({ |
| 111 | 114 | type: 'error', |
| 112 | 115 | message: '请输入正确的手机号!' |
| ... | ... | @@ -114,39 +117,53 @@ export default { |
| 114 | 117 | } |
| 115 | 118 | //获取验证码 |
| 116 | 119 | else { |
| 120 | + | |
| 117 | 121 | sendValidatorCode(phone).then(response =>{ |
| 118 | 122 | let data = response; |
| 119 | 123 | if(data.code=='8888'){ |
| 124 | + console.log(111); | |
| 125 | + this.validateBtn(); | |
| 120 | 126 | this.$message({ |
| 121 | 127 | type: 'success', |
| 122 | 128 | message: '验证码发送成功!' |
| 123 | 129 | }); |
| 124 | - this.validateBtn(); | |
| 125 | 130 | }else{ |
| 131 | + this.isDisable = false; | |
| 126 | 132 | this.$message({ |
| 127 | 133 | type: 'error', |
| 128 | 134 | message: data.msg |
| 129 | 135 | }); |
| 130 | 136 | } |
| 131 | 137 | }); |
| 132 | - | |
| 133 | - | |
| 134 | 138 | } |
| 135 | 139 | }, |
| 136 | 140 | validateBtn(){ |
| 137 | 141 | //倒计时 |
| 142 | + let that = this, time = 60; | |
| 143 | + let sendTimer = setInterval(function(){ | |
| 144 | + that.isDisable = true; | |
| 145 | + time--; | |
| 146 | + that.btnTitle = time + '秒后重试'; | |
| 147 | + if(time <=0){ | |
| 148 | + that.isDisable = false; | |
| 149 | + clearInterval(sendTimer); | |
| 150 | + that.btnTitle = "获取验证码"; | |
| 151 | + } | |
| 152 | + },1000) | |
| 153 | + | |
| 154 | + /* | |
| 138 | 155 | let time = 60; |
| 139 | 156 | let timer = setInterval(() => { |
| 140 | 157 | if(time == 0) { |
| 141 | 158 | clearInterval(timer); |
| 142 | - this.disabled = false; | |
| 143 | - this.btnTitle = "获取验证码"; | |
| 159 | + that.disabled = false; | |
| 160 | + that.btnTitle = "获取验证码"; | |
| 144 | 161 | } else { |
| 145 | - this.btnTitle =time + '秒后重试'; | |
| 146 | - this.disabled = true; | |
| 162 | + that.btnTitle =time + '秒后重试'; | |
| 163 | + that.disabled = true; | |
| 147 | 164 | time-- |
| 148 | 165 | } |
| 149 | - },1000) | |
| 166 | + },1000)*/ | |
| 150 | 167 | }, |
| 151 | 168 | handleLogin() { |
| 152 | 169 | this.$refs.loginForm.validate(valid => { | ... | ... |