// pages/login/phone_login/phone_login.js let log = require('../../../utils/log.js'); Page({ /** * 页面的初始数据 */ data: { phone: null, vcode: null, checkCode: false, checkPhone: false, vcodeFlag: true, errorMsg: '', varificatCodeFocus:false, vcode_button_text: '获取验证码', scene: "LOGIN", vcodeTimeOut: 0, vcodeTimeOutDefault: 0, vcodeLen: 2, servicetel: getApp().globalData.helpPhoneNum }, onError(e) { wx.showModal({ title: '温馨提示', content: '当前网络环境较差,无法连接服务器,请稍后重试。有问题请联系客服电话4009608068,接听时段08:30-17:00。', showCancel: false }); }, inputPhone(e) { this.setData({ phone: e.detail.value }); this.checkAll(); }, inputVerificatrCode(e) { this.setData({ vcode: e.detail.value }); this.checkAll(); }, checkAll() { if (!this.checkPhoneNumber()) { this.setData({ errorMsg: '手机号输入有误,请重新输入', checkPhone: false, checkCode: false }); return; } else { this.setData({ checkPhone: true, errorMsg: '' }); } if (!this.checkVcode()) { this.setData({ errorMsg: '验证码格式不正确' }); this.setData({ checkCode: false }); return; } else { this.setData({ errorMsg: '' }); } 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; }, 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) { console.info(res.data.code); if (res.data.code == 1) { wx.showModal({ title: '提示', content:res.msg, showCancel:false, confirmColor:'#4359b5' }); }else if (res.data.code == 2) { // 跳转 wx.showModal({ title: '提示', content: '手机号未绑定账户。若您已注册,请通过账号密码方式登录,登陆后根据系统提示绑定手机号或联系客服处理', confirmText: '账号密码登录', cancelText:"确定", showCancel:true, confirmColor:'#00AADD', success: function (res1) { if (res1.confirm) { let url = '/pages/login/username_login/username_login'; wx.redirectTo({ url }) } } }); }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: '获取验证码' }) clearInterval(vcodeInterval); }else{ let str = '获取验证码'+'(' + that.data.vcodeTimeOut + 's)' that.setData({ vcodeTimeOut:that.data.vcodeTimeOut-1, vcodeFlag: false, vcode_button_text: str }) } }, 1000); } } }); }, loginUser(e) { let that = this; let { phone, vcode } = this.data; log.info('[登录]', '[登录]', '[请求]', { phone, vcode }); wx.request({ url: getApp().globalData.postHeadAgreement +'/restapi/wechat/phoneLogin', data: { phonenumber: phone, vcode }, method: 'POST', success(res) { console.log(res); log.info('[登录]', '[登录]', '[响应]', res.data); if (res.data.code == 1) { that.setData({ vcode: null, passwordFocus:true//, //errorMsg: res.data.msg }); wx.showModal({ title: '提示', content:res.data.msg, showCancel:false, confirmColor:'#4359b5' }); log.info('[登录]', '[登录]', '[失败code==1]', res.data); } else { //返回该用户 //跳转到上一页 wx.setStorageSync("userInfo", res.data); wx.setStorageSync("isLogin", true); //let url = `/pages/ucenter/index/index`; log.info('[登录]', '[登录]', '[成功返回上一个界面]', res.data); wx.navigateBack(); //wx.redirectTo({ // url //}); } }, fail(e){ getApp().showNetworkError(); } }); }, phoneCall(){ wx.makePhoneCall({ phoneNumber: this.data.servicetel }) }, goToAccountLogin(e){ let url = '/pages/login/username_login/username_login'; wx.redirectTo({ url }) }, goToRegister(e) { let url = '/pages/register/register'; wx.redirectTo({ url }) }, goToForget(e){ let url = '/pages/forget/forget'; wx.redirectTo({ url }) }, /** * 生命周期函数--监听页面加载 */ 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 () { } })