// pages/real_name/read_name.js const app = getApp(); const util = require('../../utils/utils.js'); let timer1 = null; Page({ data: { state1: 1, //步骤一 state2: '', //步骤二 state3: '', //步骤三 state4: '', //步骤四 index: 0, //0 手机验证 1 实名认证 2 缴纳押金 3完成 index1: 0, //0 选择获取手机号码方式 1 手动输入页面 nameVal: '', //输入的名字 cardVal: '', //输入的身份证号码 smsVal: '', //输入的短信验证码 phoneVal: '', //输入的手机号码 code: '获取验证码', //获取短信验证码 phoneDisabele: false, //输入的手机号是否能更改 currentTime: 60, //倒计时秒数 codeDisabled: false, //是否禁用按钮 timer: null, //定时器 money: wx.getStorageSync('setting').deposit, payment: true, count: 10, statusIndex: 0, //0 缴纳押金 1退回押金 2退押金状态 pay: 0, // 1 支付押金 0 支付/缴纳/退回 popShow: true, //是否显示弹窗 money: '', depoSuce: true, imgUrl: '', depShow: true, //是否选中缴纳押金 true选中 false 未选中 curShow: '', //是否选中购买免押金卡 undefined 未选中 有值选中 cardList: [], //免押金卡列表 state: [], }, onLoad: function (options) { if (options.index) { this.setData({ index: options.index, state2: options.state2 }) } var imgurl = wx.getStorageSync('imgUrl'); this.setData({ imgUrl: 'http://resource.' + imgurl[2] }) this.getState(); this.setData({ money: wx.getStorageSync('setting').deposit }) if (wx.getStorageSync('setting') == '') { wx.showModal({ title: '提示', content: '您附近暂无运营区域~', showCancel: false, success: function (res) { if (res.confirm) { wx.navigateBack() } } }) } else { this.setData({ money: wx.getStorageSync('setting').deposit }) } if (options.home) { this.setData({ pay: 1 }) } this.getCard(); }, //返回首页 backPage() { clearInterval(timer1); if(app.globalData.compatible){ wx.reLaunch({ url: '/pages/compatible/index/index', }) }else{ wx.reLaunch({ url: '/pages/index/index', }) } }, //验证名字 ckName(e) { this.setData({ nameVal: e.detail.value }) }, name(e) { this.setData({ nameVal: e.detail.value }) }, namefirm(e) { this.setData({ nameVal: e.detail.value }) }, //验证身份证号 ckCard(e) { this.setData({ cardVal: e.detail.value }) }, input(e) { this.setData({ cardVal: e.detail.value }) }, valuefirm(e) { this.setData({ cardVal: e.detail.value }) }, //验证手机号 ckPhone(e) { this.setData({ phoneVal: e.detail.value }) }, //验证短信验证码 ckSms(e) { this.setData({ smsVal: e.detail.value }) }, //获取短信验证码 getCode: util.throttle(function () { let self = this let currentTime = self.data.currentTime let timer = self.data.timer if (self.data.phoneVal.length != 11) { wx.showToast({ title: '请输入正确的手机号', icon: 'none', duration: 2000 }) } else { self.setData({ phoneDisabele: true }) // 调用短信验证码接口 let data = { mobile: this.data.phoneVal, type: 1 } app.request('/verification-code', data, 'POST').then(res => { if (res.statusCode == 200) { //60秒倒计时 if (!timer) { timer = setInterval(() => { if (currentTime > 0 && currentTime <= 60) { currentTime--; } if (currentTime !== 0) { self.setData({ code: "重新发送" + "(" + currentTime + ")", codeDisabled: true, }) } else { clearInterval(timer); self.setData({ code: '获取验证码', phoneDisabele: false, codeDisabled: false, currentTime: 60, timer: null, }) } }, 1000) } } }) } }, 1000), //提交申请按钮 submit: util.throttle(function () { let reg = /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/; let reg1 = /^[\u4E00-\u9FA5]{2,4}$/; var that = this; if (!reg1.test(this.data.nameVal)) { wx.showToast({ title: '请输入正确的姓名', icon: 'none', duration: 2000 }) } else if (!reg.test(this.data.cardVal)) { wx.showToast({ title: '请输入正确的身份证号', icon: 'none', duration: 2000 }) } else { wx.showLoading({ title: '认证中...', mask: true }) if (app.globalData.req) { let data = { card_id: that.data.cardVal, name: that.data.nameVal } app.request('/user/real-name-authentication', data, 'POST', app.globalData.req).then(res => { console.log(res) if (res.statusCode == 200) { that.setData({ state3: 3, index: 2 }) wx.hideLoading() } }).catch(err => { console.log(err) }) } else { wx.showToast({ title: '您的操作过于频繁,请稍后再试~', icon: 'none' }) } } }, 1000), // 一键获取手机号 getPhoneNumber(e) { console.log(e.detail.errMsg) console.log(e.detail.iv) console.log(e.detail.encryptedData) if (e.detail.errMsg == "getPhoneNumber:ok") { let data = { session_key: wx.getStorageSync('session_key'), iv: e.detail.iv, encryptedData: e.detail.encryptedData } app.request('/user/bind-wechat-mobile', data, 'POST').then(res => { if (res.statusCode == 200) { //获取成功判断当前有没有实名认证,如果有跳到交押金 没有则正常执行 if (wx.getStorageSync('userState').is_card_certified == 1) { this.setData({ state3: 3, index: 2, state2: 2 }) } else { this.setData({ state2: 2, index: 1 }) } } }) } else { wx.showToast({ title: '获取手机号失败', icon: 'none', duration: 2000 }) } }, // 手动输入手机号码 manual() { this.setData({ index1: 1 }) }, //立即验证按钮 verify: util.throttle(function () { let reg = 11 && /^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/; let reg1 = /^\d{4}$/ if (!reg1.test(this.data.smsVal)) { wx.showToast({ title: '请输入短信验证码', icon: 'none', duration: 2000 }) } if (!reg.test(this.data.phoneVal)) { wx.showToast({ title: '请输入正确的手机号', icon: 'none', duration: 2000 }) return; } else if (!this.data.smsVal) { wx.showToast({ title: '短信验证码不能为空', icon: 'none', duration: 2000 }) return; } else { if (app.globalData.req) { let data = { mobile: this.data.phoneVal, code: this.data.smsVal } app.request('/user/bind-mobile', data, 'POST', app.globalData.req).then(res => { if (res.statusCode == 200) { if (wx.getStorageSync('userState').is_card_certified == 1) { this.setData({ state3: 3, index: 2, state2: 2 }) } else { this.setData({ state2: 2, index: 1 }) } } if (res.statusCode == 422) { console.log(res) wx.showToast({ title: res.data.errors, icon: 'none', duration: 2000 }) } }) } else { wx.showToast({ title: '您的操作过于频繁,请稍后再试~', icon: 'none' }) } } }, 1000), phone: function () { wx.makePhoneCall({ phoneNumber: wx.getStorageSync('home').customer_service_phone, }) }, privacy: util.throttle(function () { //点击个人隐私条约 wx.navigateTo({ url: '/pages/personal/privacy/privacy', }) }, 1000), agreement: util.throttle(function () { //充值条约 wx.navigateTo({ url: '/pages/agreement/agreement', }) }, 1000), onReady: function () { }, onShow: function () { this.setData({ money: wx.getStorageSync('setting').deposit }) }, onHide: function () { }, onUnload: function () { }, onPullDownRefresh: function () { }, onReachBottom: function () { }, onShareAppMessage: function () { }, explain() { wx.navigateTo({ url: '/pages/explain_card_free/explain_card_free', }) }, getCard() { let data = { area_id: wx.getStorageSync('home').id } app.request('/deposit_card/index', data, 'GET').then(res => { console.log(res.data); this.setData({ cardList: res.data.data }) console.log(this.data.cardList) }) }, // 切换免押金卡 cut(e) { let that = this; let id = e.currentTarget.dataset.id; if (id == undefined) { that.setData({ depShow: true, curShow: "text_undefined", depshow: true }) } else { that.setData({ curShow: id, depShow: false, depshow: false }) } }, //进入页面判断是否缴纳押金 getState: util.throttle(function (e) { app.request('/user/status', '', 'GET').then(res => { console.log(res, '判断'); this.setData({ statusIndex: res.data.is_deposit, state: res.data }) }) }, 1000), //缴纳押金 pay: util.throttle(function (e) { this.setData({ pay: 1 }) }, 100), //显示弹窗 showPop: util.throttle(function (e) { this.setData({ popShow: false, }) }, 1000), //取消退回押金 cancle: util.throttle(function (e) { this.setData({ popShow: true, }) }, 1000), //确定退回押金 confirm: util.throttle(function (e) { this.setData({ popShow: true, statusIndex: 1, }) if (app.globalData.req) { app.request('/deposit/refund', '', 'POST', app.globalData.req).then(res => { console.log(res); if (res.statusCode == 200) { wx.showToast({ title: '押金退还成功稍后到账~', icon: 'none', duration: 3000 }) this.setData({ statusIndex: 0 }) } }) } else { wx.showToast({ title: '您的操作过于频繁,请稍后再试~', icon: 'none' }) } }, 1000), //立即支付 depoSuce: util.throttle(function (e) { console.log('支付') var that = this; let url = ''; var data = ''; if (app.globalData.req) { console.log(that.data.depShow) if (that.data.depShow) { //缴纳押金 console.log(11111) url = "/deposit/pay"; data = { area_id: wx.getStorageSync('home').id } } else { //购买免押金卡 console.log(2222) url = "/deposit_card/pay"; data = { area_id: wx.getStorageSync('home').id, id: that.data.curShow } } app.request(url, data, 'POST', app.globalData.req).then(res => { if (res.statusCode == 200) { console.log(res) wx.requestPayment({ timeStamp: res.data.timeStamp.toString(), nonceStr: res.data.nonceStr, package: res.data.package, signType: res.data.signType, paySign: res.data.paySign, success(res) { that.setData({ payment: false, state4: 4, index: 3, depoSuce: true }) if (!timer1) { let count = that.data.count; timer1 = setInterval(() => { if (count > 0) { that.setData({ count: --count }) } if (count <= 0) { clearInterval(timer1) that.backPage(); } }, 1000) } }, fail(err) { console.log(err) wx.showToast({ title: '支付失败', icon: 'none' }) that.setData({ depoSuce: true }) } }) } else { console.log(res) that.setData({ depoSuce: true }) } }) } else { wx.showToast({ title: '您的操作过于频繁,请稍后再试~', icon: 'none' }) } }, 1000), agreement: util.throttle(function (e) { //充值条约 wx.navigateTo({ url: '/pages/agreement/agreement', }) }, 1000), })