// pages/forget/forget.js Page({ /** * 页面的初始数据 */ data: { // userName: null, // email: null, // checkPass: false, phone: null, vcode: null, checkCode: false, checkPhone: false, vcodeFlag: false, errorMsg: '', varificatCodeFocus:false, vcode_button_text: '获取验证码', scene: "FORGET_PWD", vcodeTimeOut: 0, vcodeTimeOutDefault: 0, vcodeLen:6, errorMsg: '', servicetel: '4009608068', showMsg: false, timeing: true }, goNext(e){ let that = this; this.checkAll(); this.setData({ showMsg:true }) if(!this.data.checkCode){ return; } let { phone, vcode } = this.data; //跳转到下一步 wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/forget', data: { phonenumber: phone, vcode }, method: 'POST', success(res) { if (res.data.code == 1) { if(res.data.msg!=null && res.data.msg.startsWith("503")){ getApp().showNetworkError(); return; } wx.showModal({ title: '提示', content: res.data.msg, showCancel: false, confirmColor:'#00AADD', }); } else { //跳转到下一步 let url = `/pages/reset_password/reset_password?phone=`+phone; wx.redirectTo({ url }); } } }); }, inputPhone(e) { this.setData({ phone: e.detail.value, showMsg: false, }); this.checkAll(); }, inputVerificatrCode(e) { this.setData({ vcode: e.detail.value, showMsg: false, }); if(!this.msgVcode()){ return; } this.checkAll(); }, msgVcode(){ if (!this.checkVcode()) { this.setData({ // errorMsg: '验证码格式不正确' errorMsg: '验证码格式不正确' }); this.setData({ checkCode: false }); return false; } else { this.setData({ errorMsg: '' }); } return true; }, checkAll() { if (!this.checkPhoneNumber()) { this.setData({ errorMsg: '手机号输入有误,请重新输入', checkPhone: false, checkCode: false, vcodeFlag: false }); return; } else { this.setData({ checkPhone: true, errorMsg: '', vcodeFlag: true }); } if(!this.msgVcode()){ return; } if (this.data.phone && this.data.vcode) { this.setData({ checkCode: true }); } else { this.setData({ checkCode: false }); } }, checkPhoneNumber() { if (!(/^1[3456789]\d{9}$/.test(this.data.phone))) { return false; } return true; }, checkVcode() { if (this.data.vcode==undefined || this.data.vcode=="") { return false; } if(this.data.vcode.length==this.data.vcodeLen){ return true; } return false; }, phoneCall(){ wx.makePhoneCall({ phoneNumber: this.data.servicetel, }) }, getVerificateCode(){ let vcodeFlag = this.data.vcodeFlag; let checkPhone = this.data.checkPhone; let phone = this.data.phone; let that = this; if (!vcodeFlag) { return; } if (!checkPhone) { that.setData({ errorMsg: '手机号输入有误,请重新输入', checkCode: false }); return; } else { that.setData({ errorMsg: '' }); } this.setData({ vcodeTimeOut:this.data.vcodeTimeOutDefault }) wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/sendPhoneVcodeNoUnique', data: { scene: that.data.scene, terminal: phone, }, method: 'POST', success(res) { if (res.data.code == 2) { wx.showModal({ title: '提示', content:res.data.msg, showCancel:false, confirmColor:'#00AADD', }); }else if (res.data.code == 1) { if(res.data.msg!=null && res.data.msg.startsWith("503")){ getApp().showNetworkError(); return; } // 跳转 wx.showModal({ title: '提示', content: '手机号未绑定账户。若您已注册,请检查手机号是否填写正确或联系客服', showCancel:false, confirmText: '确定', confirmColor:'#00AADD', success: function (res1) { } }); }else if (res.data.code == 200) { wx.showToast({ title: '验证码已发送', icon: 'success', duration: 1000 //持续的时间 }) let vcodeInterval = setInterval(function () { if (that.data.vcodeTimeOut <= 0) { that.setData({ vcodeFlag: true, vcode_button_text: '获取验证码', timeing:true }) clearInterval(vcodeInterval); }else{ let str = '获取验证码'+'(' + that.data.vcodeTimeOut + 's)' that.setData({ vcodeTimeOut:that.data.vcodeTimeOut-1, vcodeFlag: false, vcode_button_text: str, timeing:false }) } }, 1000); } } }); }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { let scene = this.data.scene; let that = this wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/vcodeInfo', data: { scene, }, method: 'POST', success(res) { that.setData({ vcodeInfo:false, vcodeTimeOut:res.data.result.expire, vcodeTimeOutDefault:res.data.result.expire, vcodeLen:res.data.result.len }) } }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function() { }, /** * 生命周期函数--监听页面显示 */ onShow: function() { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { } })