119 lines
3.5 KiB
JavaScript
119 lines
3.5 KiB
JavaScript
// package_B/page/changePassword/index.js
|
|
import {changePassword} from '../../../api/mine.js'
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
form: {
|
|
oldPassword: "", // 旧密码
|
|
newPassword: "", // 新密码
|
|
repairPassword: "",// 再次输入的密码
|
|
},
|
|
formRules: {
|
|
oldPassword: {
|
|
title: "原密码",
|
|
isPassword: true,
|
|
tips: "请输入原密码",
|
|
validator: function (value) {
|
|
return value.trim() != ""
|
|
},
|
|
placeholder: "请输入原密码"
|
|
},
|
|
newPassword: {
|
|
title: "新密码",
|
|
isPassword: true,
|
|
tips: "请输入新密码",
|
|
validator: function (value) {
|
|
return value.trim() != ""
|
|
},
|
|
placeholder: "请输入新密码"
|
|
},
|
|
repairPassword: {
|
|
title: "确认密码",
|
|
isPassword: true,
|
|
tips: "请再次输入新密码",
|
|
validator: function (value) {
|
|
return value.trim() != ''
|
|
},
|
|
placeholder: "请再次输入新密码"
|
|
}
|
|
}
|
|
},
|
|
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
bindValue(e) {
|
|
let name = e.currentTarget.dataset.name;
|
|
let str = "form."+name
|
|
this.setData({
|
|
[str]: e.detail.value,
|
|
})
|
|
this.validate(name, e.detail.value)
|
|
},
|
|
validate(name) {
|
|
let formRules = this.data.formRules;
|
|
let validator = this.data.formRules[name].validator
|
|
let result = false
|
|
result = validator ? !validator(this.data.form[name]) : false;
|
|
// 判断两次密码是否一致
|
|
if(name == "repairPassword") {
|
|
if(this.data.form.repairPassword !== "") {
|
|
if(this.data.form.newPassword !== this.data.form.repairPassword) {
|
|
result = true
|
|
formRules[name].tips = "请确保两次输入的密码一致"
|
|
}
|
|
} else {
|
|
formRules[name].tips = "请再次输入新密码"
|
|
}
|
|
}
|
|
formRules[name].warning = result
|
|
this.setData({
|
|
formRules
|
|
})
|
|
return result
|
|
},
|
|
validateForm() {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
let formRules = this.data.formRules;
|
|
let result = false;
|
|
for (let key in formRules) {
|
|
let temp = this.validate(key)
|
|
if (temp) {
|
|
result = temp
|
|
}
|
|
}
|
|
resolve(!result)
|
|
} catch (e) {
|
|
reject(e)
|
|
}
|
|
})
|
|
},
|
|
submitForm() {
|
|
this.validateForm().then(res => {
|
|
if(res) {
|
|
let params = {}
|
|
let form = this.data.form
|
|
params.oldPassword = form.oldPassword
|
|
params.newPassword = form.newPassword
|
|
changePassword(params).then(res=> {
|
|
if(res.code === 0) {
|
|
wx.switchTab({
|
|
url: '/pages/mine/mine',
|
|
})
|
|
}
|
|
}).catch((e)=> {
|
|
console.log(e);
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}) |