From 01e47901facb2206ff2093b25099ed098e0d38e4 Mon Sep 17 00:00:00 2001 From: pan <1029559041@qq.com> Date: Sat, 1 Aug 2020 00:36:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=86=E7=A0=81=E5=90=8E=E5=8F=B0=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/account/register.vue | 12 +++---- components/center/security.vue | 59 ++++++++++++++++++++++++++++----- nuxt.config.js | 8 +++-- 3 files changed, 63 insertions(+), 16 deletions(-) diff --git a/components/account/register.vue b/components/account/register.vue index 80ca01b..690478a 100644 --- a/components/account/register.vue +++ b/components/account/register.vue @@ -6,7 +6,7 @@ - + @@ -42,18 +42,18 @@ message: this.$t('input_please', { keyword: this.$t('account.form.password') }) }], confirmPwd:[{ + required:true, + message: this.$t('input_confirm', { keyword: this.$t('account.form.password') }) + },{ validator:(rule, value, callback) => { - if (value === '') { + if (value !== that.form.password) { callback(new Error(rule.msg.a)); - } else if (value !== that.form.password) { - callback(new Error(rule.msg.b)); } else { callback(); } }, msg:{ - a:this.$t('input_confirm', { keyword: this.$t('account.form.password') }), - b:this.$t('account.form.tip.tow_diff') + a:this.$t('account.form.tip.tow_diff') } }] } diff --git a/components/center/security.vue b/components/center/security.vue index f7a9268..cd904f9 100644 --- a/components/center/security.vue +++ b/components/center/security.vue @@ -31,6 +31,7 @@ export default Vue.extend({ name: 'security', data() { + let that = this return { form: { oldpwd: '', @@ -44,7 +45,7 @@ message: this.$t('input_please', { keyword: this.$t('center.security.oldpwd') }), trigger: 'blur' }, - { min: 3, max: 5, message: this.$t('center.security.rules.password',{min:3,max:5}), trigger: 'blur' } + { min: 3, max: 5, message: this.$t('center.security.rules.password', { min: 3, max: 5 }), trigger: 'blur' } ], newpwd: [ { @@ -52,27 +53,69 @@ message: this.$t('input_please', { keyword: this.$t('center.security.newpwd') }), trigger: 'blur' }, - { min: 3, max: 5, message: this.$t('center.security.rules.password',{min:3,max:5}), trigger: 'blur' } + { + validator: (rule, value, callback) => { + if (value === that.form.oldpwd) { + callback(new Error(rule.msg.b)) + } else { + callback() + } + }, + msg: { + b: this.$t('center.security.tip.same_err') + } + }, + { min: 3, max: 5, message: this.$t('center.security.rules.password', { min: 3, max: 5 }), trigger: 'blur' } ], confirmpwd: [ { required: true, message: this.$t('input_confirm', { keyword: this.$t('center.security.newpwd') }), - trigger: 'blur' }, - { min: 3, max: 5, message: this.$t('center.security.rules.password',{min:3,max:5}), trigger: 'blur' } + { + validator: (rule, value, callback) => { + if (value !== that.form.newpwd) { + callback(new Error(rule.msg.a)) + } else { + callback() + } + }, + msg: { + a: this.$t('account.form.tip.tow_diff') + } + }, + { min: 3, max: 5, message: this.$t('center.security.rules.password', { min: 3, max: 5 }), trigger: 'blur' } ] } } }, methods: { onSubmit() { - this.$refs.form.validate((valid: boolean)=>{ + let that=this + this.$refs.form.validate((valid: boolean) => { if (valid) { - this.$alert(this.$t('center.security.tip.ok').toString()) + this.GLOBAL.fetchJSON('/v1/api/users/update','PUT',{ + oldpwd:this.form.oldpwd, + newpwd:this.form.newpwd + },function(res) { + if(res.code==='200'){ + that.$message.info(that.$t('center.security.tip.ok').toString()) + that.$cookies.remove(that.GLOBAL.user_key) + that.$router.push(that.localePath('/account')) + }else if(res.msg!==null){ + that.$message.error(res.msg) + } + else{ + that.$message.error(that.$t('center.security.tip.fail').toString()) + } + }) + } else { - console.log('error submit!!'); - return false; + this.$message.error({ + message:this.$t('form_err').toString(), + duration:2000 + }) + return false } }) diff --git a/nuxt.config.js b/nuxt.config.js index ab627a4..2fa8b4e 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -142,7 +142,9 @@ export default { "password": "长度在 {min} 到 {max} 个字符之间" }, "tip": { - "ok": "密码修改成功" + "fail": "密码修改失败", + "ok": "密码修改成功,请重新登录", + "same_err": "新密码不能和旧密码一致" } } }, @@ -307,7 +309,9 @@ export default { "password": "" }, "tip": { - "ok": "" + "fail": "", + "ok": "", + "same_err": "" } } },