// pages/home/password/index.js import Scene from '../../index/scene' import { postCaptcha, setPassword } from "../../../api/user" const util = require('../../../utils/util') const app = getApp() Scene({ /** * 页面的初始数据 */ data: { second: '获取验证码', codeEnable: false, pwdType: 'password', pwd_icon: 'attention', form: { mobile: null, password: null, verifyCode: null }, requesting: false, first: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ ['form.mobile']: app.userInfo.mobile }) if(options.from){ this.setData({ first: true }) } }, bindForm: function (e) { this.data.form[e.target.id] = e.detail.value }, changePwd: function (e) { if (this.data.pwdType === 'password') { this.setData({ pwdType: 'text', pwd_icon: 'attentionforbid' }) } else { this.setData({ pwdType: 'password', pwd_icon: 'attention' }) } }, fetchCode: function () { if (util.isEmpty(this.data.form.mobile)) { util.showToast('请输入手机号码') return } if (this.second && this.second.interval) return !1 wx.showLoading({ title: '正在获取', mask: true }) postCaptcha({ verifiableAccount: this.data.form.mobile, verifiableAccountType: 1, purpose: 2 }).then(result => { wx.hideLoading() this.setData({ codeEnable: true }) util.showToast('验证码已经发送') this.countDown = this.countDown || this.selectComponent('.count-down') this.countDown.reset() this.countDown.start() }).catch(error => { wx.hideLoading() util.showToast(error) }) }, onChange: function(e) { this.setData({ second: e.detail.seconds + ' 秒 ' }) }, onFinished: function(){ this.setData({ second: '重新获取验证码', codeEnable: false }) }, submitForm: function () { if (this.data.requesting) { return } if (util.isEmpty(this.data.form.mobile) && !this.data.first) { util.showToast('请输入手机号码') return } if (util.isEmpty(this.data.form.password)) { util.showToast('请输入密码') return } if (util.isEmpty(this.data.form.verifyCode) && !this.data.first) { util.showToast('请输入验证码') return } wx.showLoading({ title: '处理中', mask: true }) this.data.requesting = true setPassword(this.data.form).then(res => { wx.hideLoading() util.showBackToast('修改密码成功') }).catch(error => { wx.hideLoading() this.data.requesting = false util.showToast(error) }) } })