const app = getApp() const api = require('../../../request/api'); const http = require('../../../request/http'); const utils = require('../../../utils/util.js'); const storeKeys = require('../../../utils/storageKeys.js'); Page({ data: { selected: false, phone: "", //手机号 code: "", //验证码 sunTime: 60, //倒计时 isCode: false, //是否处于倒计时 interval: null, isOk: false }, toPage(e) { let type = e.currentTarget.dataset.type; if (type == 1) { //服务协议 wx.navigateTo({ url: "/pages/public/pages/serviceAgreement/serviceAgreement" }) } if (type == 2) { //隐私协议 wx.navigateTo({ url: "/pages/public/pages/privacy/privacy" }) } }, changeInput: function (e) { let value = e.detail.value.replace(/\s+/g, ''); let type = e.target.dataset.type; if (type) { //手机号 if (type == 1) { this.setData({ phone: value }) this.changeOk(); return; } //验证码 if (type == 2) { this.setData({ code: value }) this.changeOk(); return; } } }, //勾选 changSelected() { let selected = this.data.selected; this.setData({ selected: !selected }) this.changeOk(); }, //清空验证码 emptyCode: utils.throttle(function (e) { this.setData({ code: "" }) this.changeOk(); }), changeOk() { if (this.data.phone && this.data.code && this.data.selected) { this.setData({ isOk: true }) } else { this.setData({ isOk: false }) } }, //获取验证码 getCode: utils.throttle(function (e) { if (!this.data.phone) { utils.toast("请输入手机号码") return; } let mobileReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/; //手机号 if (!mobileReg.test(this.data.phone)) { utils.toast("请输入正确的手机号"); return; } let data = { mobile: this.data.phone } wx.showLoading({ title: "加载中", mask: true }); http.request({ url: api.URL + "/api/index/sms", token: utils.getStorageSync(storeKeys.TOKEN), method: 'GET', data, success: (res) => { wx.hideLoading(); console.log(res) utils.toast('验证码已发送请注意查收'); this.setData({ isCode: true, sunTime: 60, }); this.data.interval = setInterval(() => { let sunTime = this.data.sunTime-1; if (this.data.sunTime == 1) { clearTimeout(this.data.interval); this.setData({ isCode:false, sunTime: 60, interval:null }); } this.setData({ sunTime }); }, 1000); }, error: (res) => { console.log(res) wx.hideLoading(); } }) }), // 登录/注册 submitLogin: utils.throttle(function (e) { if(!this.data.isOk){ return; } if (!this.data.phone) { utils.toast("请输入手机号码") return; } let mobileReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/; //手机号 if (!mobileReg.test(this.data.phone)) { utils.toast("请输入正确的手机号"); return; } if(!this.data.code){ utils.toast("请输入验证码"); return; } if(!this.data.selected){ utils.toast("请先同意原味公明腊肠优选服务协议"); } let data = { mobile: this.data.phone, sms_code: this.data.code } wx.showLoading({ title: "登录中...", mask: true }); http.request({ url: api.URL + '/api/mobile', method:'POST', data, success: (res)=> { wx.hideLoading(); console.log(res) if(res.data.data.token){ utils.toast('登录成功'); utils.setStorageSync(storeKeys.TOKEN, res.data.data.token); this.getUserInfo() this.promotion(); app.getCartNumber(); setTimeout(() => { wx.navigateBack({ delta: 2 }) }, 1000) } }, error: (res)=> { wx.hideLoading(); } }) }), getUserInfo: function() { http.request({ url: api.URL + '/api/user/info', token: utils.getStorageSync(storeKeys.TOKEN), method: 'GET', noLogin: true, success: function(res) { console.log(res) let userInfo = res.data.data.userInfo; app.globalData.userInfo = userInfo utils.setStorageSync(storeKeys.USERINFO, userInfo); }, error: function(res) {}, }) }, // 普通用户切换绑定关系 promotion(){ let sharerId = utils.getStorageSync(storeKeys.SHAREID) || utils.getStorageSync(storeKeys.APPLESID) || ""; console.log("sharerId",sharerId) if(!sharerId){ return; } let data = { sharerId: sharerId, isScanCode: "1" } http.request({ url: api.URL + '/api/promotion/ch_upper', data: data, method: 'POST', token: utils.getStorageSync(storeKeys.TOKEN), noLogin: true, noToast:true, success: function(res) { console.log("success") console.log(res) }, error: function(res) { console.log("error") console.log(res) } }) }, onHide: function () { clearTimeout(this.data.interval); this.setData({ interval: null }); }, onUnload() { clearTimeout(this.data.interval); this.setData({ interval: null }); }, })