bug修改

This commit is contained in:
zhaoxiao
2021-10-13 11:30:57 +08:00
parent 02898fd216
commit 896ad36e6a
6 changed files with 85 additions and 46 deletions
+31 -6
View File
@@ -53,6 +53,8 @@
<script>
import { putAction } from '@/api/manage'
import { getRSAPublicKey } from '@api/login'
import { JSEncrypt } from 'jsencrypt'
export default {
name: 'UserPassword',
@@ -72,12 +74,13 @@ export default {
rules: [
{ required: true, message: '请输入新密码!' },
{
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
},
{ validator: this.validateToNextPassword }
]
],
validateTrigger: 'blur'
},
confirmpassword: {
rules: [
@@ -86,8 +89,9 @@ export default {
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
},
{ validator: this.validateToNextPassword }
]
{ validator: this.handlePasswordCheck }
],
validateTrigger: 'blur'
}
},
confirmDirty: false,
@@ -102,7 +106,8 @@ export default {
form: this.$form.createForm(this),
url: 'sys/user/updatePassword',
username: ''
username: '',
rsaPublicKey: '' // 公钥
}
},
methods: {
@@ -112,10 +117,16 @@ export default {
return
} else {
this.username = uname
this.getPublicKey()
this.form.resetFields()
this.visible = true
}
},
getPublicKey() {
getRSAPublicKey().then(res => {
this.rsaPublicKey = res.result
})
},
handleCancel() {
this.close()
},
@@ -131,7 +142,14 @@ export default {
this.form.validateFields((err, values) => {
if (!err) {
that.confirmLoading = true
let params = Object.assign({ username: this.username }, values)
let params = {}
params.username = this.username
params.rsaPublicKey = this.rsaPublicKey
let encrypt = new JSEncrypt()
encrypt.setPublicKey(params.rsaPublicKey)
params.oldpassword = encrypt.encrypt(values.oldpassword)
params.password = encrypt.encrypt(values.password)
params.confirmpassword = encrypt.encrypt(values.confirmpassword)
console.log('修改密码提交数据', params)
putAction(this.url, params).then((res) => {
if (res.success) {
@@ -154,6 +172,13 @@ export default {
}
callback()
},
handlePasswordCheck(rule, value, callback) {
let password = this.form.getFieldValue('password')
if (value && password && value.trim() !== password.trim()) {
callback(new Error('两次密码不一致'))
}
callback()
},
compareToFirstPassword(rule, value, callback) {
const form = this.form
if (value && value !== form.getFieldValue('password')) {