const app = getApp(); var wxbarcode = require('../../utils/wxbarcode.js'); const mqttMessage = require('../../utils/mqttMessage.js'); const card = require('../../utils/card.js'); Page({ /** * 页面的初始数据 */ data: { timer: null, time: 60, availableAmount: 0, paycode: "", }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // console.log(app.globalData.cardInfo); // var cardInfo = app.globalData.cardInfo; // this.setData({ // availableAmount: cardInfo.availableAmount, // }); this.cy_getPaymentCode(); this.setData({ color: app.globalData.color }); this.cy_sengPayCodeMessage(); }, cy_sengPayCodeMessage: function () { var data = { 'openId': wx.getStorageSync('openId'), 'formId': "123456", 'wid': app.globalData.memberWid, 'sendType': "payCode", 'method': 'get.smweixin.formId', 'memberId': wx.getStorageSync('memberId'), 'cardNo': wx.getStorageSync('cardNo') } var ignores = []; app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(data, ignores, function (json) { }, function (error) { }) }, /** * 查询卡信息 */ cy_selectCardInfo: function () { var that = this; card.wx_cardInfo(app.globalData.cardNo, function (json) { console.log(json); var result = json.data; if (result.status == 1) { var cardInfo = result.data; wx.setStorageSync("cardInfo", cardInfo); app.globalData.cardInfo = cardInfo; that.setData({ availableAmount: cardInfo.availableAmount }); } else { wx.showToast({ title: result.errMessage, icon: "none" }) } }, function (err) { wx.showToast({ title: "网络链接失败", icon: "none" }) }); }, /** * 获取 */ cy_getPaymentCode: function () { var that = this; var cardNo = app.globalData.cardInfo.cardNo; var params = { 'cardNo': cardNo, 'shopNo': app.globalData.shopNo, 'posNo': app.globalData.posNo, 'workerNo': app.globalData.workerNo, 'sourceSign': app.sourceSign, 'method': 'card.get.payCode' } var ignores = []; // app.globalData.memberUrl app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(params, ignores, function (json) { console.log(json); var result = json.data; if (result.status == 1) { var openData = result.data; var oldPayCode = openData.payCode; var payCode = oldPayCode.replace(/[\s]/g, '').replace(/(\d{4})(?=\d)/g, "$1 "); that.setData({ hidden: true, payCode: payCode, }); //绘画多次防止二维码出不来 var canverCount = 5; var intt; intt = setInterval(function () { if (canverCount > 0) { wxbarcode.barcode('barcode', oldPayCode, 620, 180); wxbarcode.qrcode('qrcode', oldPayCode, 340, 340); } else { clearInterval(intt); } canverCount--; }, 100) if (that.data.timer != null) { return; } that.data.timer = setInterval(function () { that.data.time--; that.setData({ time: that.data.time }); if (that.data.time == 0) { that.setData({ time: 60 }); that.cy_getPaymentCode(); } }, 1000); } else { // that.setData({ // hidden: true // }); wx.showToast({ title: result.message, icon: "none" }) } }, function (error) { } ); }, /** * */ cy_tapReload: function () { if (this.data.timer) { clearInterval(this.data.timer); this.data.timer = null; } this.setData({ time: 60 }) this.cy_getPaymentCode(); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { if (this.data.timer) { clearInterval(this.data.timer); this.data.timer = null; } mqttMessage.mqttunSubscribe(app.getPayCode()); wx.setScreenBrightness({ value: this.data.oldScreenBrightness, }) }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { if (this.data.timer) { clearInterval(this.data.timer); this.data.timer = null; } mqttMessage.mqttunSubscribe(app.getPayCode()); wx.setScreenBrightness({ value: this.data.oldScreenBrightness, }) }, onShow: function () { var that = this; that.subscribeScanCode(); that.cy_selectCardInfo(); wx.getScreenBrightness({ success: function (e) { that.setData({ oldScreenBrightness: e.value }) wx.setScreenBrightness({ value: 1, }) } }) }, /** * 订阅扫码主题 */ subscribeScanCode: function () { mqttMessage.mqttSubscribe(3); mqttMessage.mqttOn(this); }, onMessage: function (top, msg) { app.globalFunction.scanPayCodeCallBack(JSON.stringify(msg)); }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { return app.onShare; } })