const Http = require("../../utils/HttpBasics"); const imgurl = require("../../utils/imgurl"); const config = require("../../config/config"); let app = getApp(); Page({ data: { newUrl: imgurl.new.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, page: 1 // 刷新进入页面时已经加载了第一页数据,onReachBottom时 page++,从第2页开始加载 }, swiperChange: function (e) { this.setData({ swiperCurrent: e.detail.current }); }, gotogame: function () { let that = this; Http.post({ 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 }); } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onLoad: function (options) { wx.setStorageSync('imgurl', imgurl) if (options.played == "true") { this.setData({ played: true }) } var that = this; if (decodeURIComponent(options.scene) == "undefined") { that.setData({ scene: 0 }); } else { that.setData({ scene: decodeURIComponent(options.scene) }); } app.getLocation(); if (options.couponChannelId && options.couponId) { that.userLogin(options.couponChannelId, options.couponId); } else { that.userLogin() } Http.get({ url: config.api.getWeapNote, data: { appId: config.weapp.AppId, } }) .then(res => { let weapNote = JSON.parse(res.data.weapNote); that.setData({ desc: weapNote.firstpage.desc, title: weapNote.firstpage.title }) }) .catch(err => { wx.showModal({ title: "提示", content:err.errMsg, showCancel:false }); }); }, onShow: function () { this.setData({ havePlayEd: app.globalData.havePlayEd ? app.globalData.havePlayEd : false }) let num = wx.getStorageSync('couponNum'); if (num == 'couponNum') { wx.showTabBarRedDot({ index: 2 }) }; }, /** * * @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) }, /** * 用户登录 */ userLogin: function (couponChannelId, couponId) { var that = this; // 登录 wx.login({ success: ({ code }) => { wx.getSystemInfo({ success: function (res) { that.setData({ systemInfo: JSON.stringify(res) }) } }) var usrdata = { appId: config.weapp.AppId, code: code, sceneAddress: app.globalData.sceneAddress, scene: that.data.scene, systemInfo: that.data.systemInfo }; if (app.globalData.locationInfo) { usrdata = { appId: config.weapp.AppId, code: code, sceneAddress: app.globalData.sceneAddress, latitude: "" + app.globalData.locationInfo.latitude, longitude: "" + app.globalData.locationInfo.longitude, scene: that.data.scene, systemInfo: that.data.systemInfo }; } Http.post({ url: config.api.login, data: usrdata }) .then(res => { app.globalData.token = res.data.token; if (res.data.token){ that.getGameOne(res.data.token) that.getStaticGame(res.data.token) } Http.setToken(res.data.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); } that.checkuerstatus(couponChannelId, couponId); }) .catch(err => { }); } }); }, checkuerstatus(couponChannelId, couponId) { Http.post({ url: config.api.checkUserStatus, data: {} }) .then(res => { if (couponChannelId && couponId) { wx.navigateTo({ url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}`, }) } }) .catch(err => { if (err.code == 11004) { // 用户昵称未授权 if (couponChannelId && couponId) { wx.redirectTo({ url: `/pages/getuserinfo/index?couponChannelId=${couponChannelId}&couponId=${couponId}` }); } else { wx.redirectTo({ url: '/pages/getuserinfo/index' }); } } }); }, 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 }) } _this.setData({ staticGamedata: res.data }) }) .catch(err => { 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 }) } _this.setData({ gamedata: res.data }) }) .catch(err => { console.log(err) }) }, /** * banner */ getBannerlist: function () { let that = this; Http.get({ url: config.api.bannerlist, data: { pageNum: 1, pageSize: 7 } }).then(res => { that.setData({ list: res.data.list }); }); }, /** * 检查用户是否有车 */ 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 } }); } } }); }, /** * 刷新 */ onPullDownRefresh: function (e) { let that = this; that.userLogin(); that.setData({ page:1 }) 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(); }; }, //加载更多 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" }); } }; } });