const Http = require("../../utils/HttpBasics"); const imgurl = require("../../utils/imgurl"); const config = require("../../config/config"); const QR = require("../../utils/memberqrcode.js"); let app = getApp(); Page({ data: { newUrl: "", usergift: imgurl.usergift.url, guanbi1: imgurl.guanbi1.url, icon0001: imgurl.icon0001.url, icon0002: imgurl.icon0002.url, icon0003: imgurl.icon0003.url, icon0004: imgurl.icon0004.url, icon0005: imgurl.icon0005.url, icon0006: imgurl.icon0006.url, icon0007: imgurl.icon0007.url, icon0008: imgurl.icon0008.url, rushtobuy: imgurl.rushtobuy.url, wmcard: imgurl.wmcard.url, market: app.globalData.market, list: [], loading: true, swiperCurrent: 0, title: null, desc: null, scrollTop: 0, showGame: false, gamedata: {}, couponId: '', //游戏返回时传回的字段 played: false, //从游戏页面跳回首页返回true havePlayEd: app.globalData.havePlayEd, staticGamedata: {}, showIf: false, showPages: false, display: 'none', display1:'none', optionsData:null, page: 1 // 刷新进入页面时已经加载了第一页数据,onReachBottom时 page++,从第2页开始加载 }, close:function(){ this.setData({ showIf:false }) }, // 我的卡包 mycard:function(){ wx.navigateTo({ url: '/pages/cardorder/index/index', }) }, //我的券包 mycoupon:function(){ wx.navigateTo({ url: '/pages/couponorder/index/index', }) }, gotodiscountCardList: function() { wx.navigateTo({ url: '/pages/discountCardList/discountCardList' }) }, gotoRushBuy: function() { wx.navigateTo({ url: '/pages/rushToBuy/index', }) }, gotoSpellGroup:function(){ wx.navigateTo({ url: '/pages/spellGroup/spellGroup', }) }, qrcode: function(e) { var that = this; that.setData({ showQrcode: true }) wx.showToast({ title: '生成中...', icon: 'loading', duration: 2000 }); console.log(e) var st = setTimeout(function() { wx.hideToast() var size = that.setCanvasSize(); var url = JSON.stringify({ END: "C", TYPE: "memberCode", ID: that.data.memberId, }); that.createQrCode(url, "mycanvas2", size.w, size.h); that.setData({ maskHidden: true }); clearTimeout(st); }, 1000) }, hideQrcode: function() { let that = this; that.setData({ showQrcode: false }) }, //跳往个人中心 gotouser:function(){ wx.navigateTo({ url: '/pages/user/czdetail', }) }, //搜索门店 searchbar:function(){ wx.navigateTo({ url: '/pages/index/searchbar/index', }) }, //适配不同屏幕大小的canvas setCanvasSize: function() { var size = {}; try { var res = wx.getSystemInfoSync(); var scale = 750 / 500; //不同屏幕下canvas的适配比例;设计稿是750宽 var width = res.windowWidth / scale; var height = width; //canvas画布为正方形 size.w = width; size.h = height; } catch (e) { // Do something when catch error console.log("获取设备信息失败" + e); } return size; }, createQrCode: function(url, canvasId, cavW, cavH) { //调用插件中的draw方法,绘制二维码图片 QR.api.draw(url, canvasId, cavW, cavH); }, swiperChange: function(e) { this.setData({ swiperCurrent: e.detail.current }); }, rushtobuy:function(){ wx.navigateTo({ url: '/pages/rushToBuy/index', }) }, gotodiscountcard:function(){ wx.navigateTo({ url: '/pages/discountCardList/discountCardList', }) }, gotogame: function() { let that = this; Http.get({ url: config.api.checkPhoneStatus, data: {} }) .then(res => { var data = { couponChannelId: "" + that.data.couponChannelId, couponId: "" + that.data.couponId }; if (that.data.couponChannelId == null) { var data = { couponId: "" + that.data.couponId }; } wx.navigateTo({ url: '/pages/game/index?url=' + that.data.staticGamedata.url + "&id=" + that.data.staticGamedata.id + "&gameId=" + that.data.staticGamedata.gameId, }) }) .catch(err => { if (err.code == 11005) { // 用户手机未授权 /** * 将值传到用户手机号授权的页面 * */ wx.redirectTo({ url: "/pages/getphoneInfo/index?path=index&url=" + that.data.staticGamedata.url + "&id=" + that.data.staticGamedata.id + "&gameId=" + that.data.staticGamedata.gameId, }); } else if (err.code == 11006) { // 用户手机已加密 wx.redirectTo({ url: "/pages/phoneinput/phoneinput?path=index&url=" + that.data.staticGamedata.url + "&id=" + that.data.staticGamedata.id + "&gameId=" + that.data.staticGamedata.gameId, }); } else { wx.showToast({ title: err.message, icon: 'none', duration: 2000, mask: false }); } }) }, mySpecial: function() { console.log("special"); wx.navigateTo({ url: '/pages/specialcourtesy/specialcourtesy', }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onLoad: function(options) { let that = this; let optionss = JSON.parse(wx.getStorageSync('options')); console.log(optionss); console.log("-------------------------------------------optionssss------------------------------------") if (options.played == "true") { that.setData({ played: true }) } if (optionss.couponChannelId|| optionss.orderId) { that.setData({ optionsData: optionss }) that.userLogin(optionss.couponChannelId, optionss.orderId); } else { that.userLogin() } }, onShow: function() { this.setData({ havePlayEd: app.globalData.havePlayEd ? app.globalData.havePlayEd : false }) let num = wx.getStorageSync('couponNum'); let num1 = wx.getStorageSync('couponNum2'); if (num == 'couponNum') { wx.showTabBarRedDot({ index: 2 }) this.setData({ display: "block" }) }else{ wx.hideTabBarRedDot({ index: 2 }) this.setData({ display: "none" }) } if (num1 == 'couponNum2') { wx.showTabBarRedDot({ index: 2 }) this.setData({ display1: "block" }) } else { wx.hideTabBarRedDot({ index: 2 }) this.setData({ display1: "none" }) } }, // 会员码获取 getmemberId: function(token) { let that = this; Http.get({ url: config.api.getScore, data: { token: token } }).then(res => { console.log(res) that.setData({ levelName: res.data.levelName }) if (res.data.nickName) { that.setData({ ismember: true, memberId: res.data.id }) var size = this.setCanvasSize(); var initUrl = JSON.stringify({ flagid: res.data.id }); that.createQrCode(initUrl, "mycanvas1", size.w, size.h); } }) .catch(err => { wx.showModal({ title: '提示', content: err.message, showCancel: false }) }) }, /** * * @param {code,page} * 子组件向父组件传值 */ onGetCode: function(e) { this.setData({ code: e.detail.val, page: e.detail.pageNum, }); console.log(e.detail.val) console.log(e.detail.pageNum) }, onBargain:function(e){ console.log(e) }, /** * 用户登录 */ userLogin: function(couponChannelId, couponId, orderId) { var that = this; // 登录 // that.getmemberId(app.globalData.token); // that.checkUserCarStatus(); that.getUserInfo(); that.getBannerlist(); if (app.couponChannelListCallback) { app.couponChannelListCallback(app.globalData.token); } if (app.couponListCallback) { app.couponListCallback(app.globalData.token); } if (app.businessListCallback) { app.businessListCallback(app.globalData.token); } Http.get({ url: config.api.getWeapNote, data: { appId: config.weapp.AppId, } }) .then(res => { that.getGameOne(app.globalData.token) that.getStaticGame(app.globalData.token) let weapNote = JSON.parse(res.data.weapNote); that.setData({ desc: weapNote.firstpage.desc, title: weapNote.firstpage.title }) }) .catch(err => { that.getGameOne(app.globalData.token) that.getStaticGame(app.globalData.token) wx.showModal({ title: "提示", content: err.errMsg, showCancel: false }); }); }, getStaticGame(token) { let _this = this; Http.get({ url: config.api.getGame, data: { triggleAction: 2, token: token } }).then(res => { if (res.data.id) { _this.setData({ showIf: true, newUrl: res.data.imgUrl }) }else{ _this.setData({ showIf: false }) } _this.setData({ staticGamedata: res.data }) }) .catch(err => { _this.setData({ showIf: false }) console.log(err) }) }, getGameOne: function(token) { let _this = this; Http.get({ url: config.api.getGame, data: { triggleAction: 1, token: token } }).then(res => { if (res.data.id) { _this.setData({ showGame: true }) }else{ _this.setData({ showGame: false }) } _this.setData({ gamedata: res.data }) }) .catch(err => { _this.setData({ showGame: false }) }) }, /** * banner */ getBannerlist: function() { let that = this; Http.get({ url: config.api.bannerlist, data: { pageNum: 1, pageSize: 7 } }).then(res => { // that.getmemberId(app.globalData.token); // that.checkUserCarStatus(); that.setData({ list: res.data.list }); }) .catch(err => { // that.getmemberId(app.globalData.token); // that.checkUserCarStatus(); }) ; }, /** * 检查用户是否有车 */ // checkUserCarStatus: function() { // var that = this; // Http.get({ // url: config.api.userCarCount, // data: {} // }).then(res => { // if (res.data > 0) { // // 用户名下有车 // app.globalData.phone = res.data.phone; // app.globalData.supportCar = true; // // 共同登录 // that.userCarLogin(); // } // }); // }, /** * car共同登录 */ userCarLogin: function() { var that = this; if (!app.globalData.carLogin) { // 共同登录 Http.post({ url: config.api.carInit, data: { phone: app.globalData.phone } }).then(res => { app.globalData.carLogin = true; app.globalData.parkVendor = res.data.vendor; if (res.data.token != "undefined") { app.globalData.etcpToken = res.data.token; } }); } }, /** * 获取用户信息 */ getUserInfo: function() { // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting["scope.userInfo"]) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId } }); } } }); }, gotoBargain: function() { wx.navigateTo({ url: '/pages/bargain/bargain' }) }, /** * 刷新 */ onPullDownRefresh: function(e) { let that = this; that.userLogin(); that.setData({ page: 1 }) if (this.data.optionsData != null && (this.data.optionsData.couponChannelId || this.data.optionsData.orderId)) { this.userLogin(this.data.optionsData.couponChannelId, this.data.optionsData.orderId); } else { this.userLogin() } if (that.data.code == 0 || that.data.code == undefined) { that.selectComponent("#lists").getList(0, 1, "refresh"); wx.stopPullDownRefresh(); } else { that.selectComponent("#lists").getList(that.data.code, 1, "refresh"); wx.stopPullDownRefresh(); }; // 砍价下拉刷新 that.selectComponent("#bargain").getList(); that.selectComponent("#spellGroup").getList(); wx.stopPullDownRefresh(); }, //加载更多 onReachBottom: function() { let that = this; that.data.page++; that.setData({ page: that.data.page }); console.log("加载更多页数" + that.data.page); console.log("加载更多key" + that.data.code); //父组件获得子组件的方法 //如果code == 0 if (that.data.code == 0 || that.data.code == undefined) { that.selectComponent("#lists").getList(0, that.data.page); } else { that.selectComponent("#lists").getList(that.data.code, that.data.page); } }, // 用户点击右上角分享 onShareAppMessage: function() { return { title: this.data.title, desc: this.data.desc, success: function(res) { wx.showToast({ title: "分享成功", duration: 1000, icon: "success" }); } }; } });