//index.js //获取应用实例 const app = getApp() const QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); const qqmapsdk = new QQMapWX({ key: '36IBZ-VI53O-FJHW2-SV2NP-USSAE-GFBUS' }) Page({ data: { userInfo: {}, list: [], //活动列表 BASEIMGURL: app.globalData.BASEIMGURL // hasUserInfo: false, // canIUse: wx.canIUse('button.open-type.getUserInfo') }, onLoad(options) { console.log(options) //分享 if (options.openid) { app.globalData.shareOpenId = options.openid; } //刷新页面 if(options.update == 1){ this.getList(); } if (app.globalData.userInfo) { this.setData({ userInfo: app.globalData.userInfo }) this.getList(); } else { // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 app.userInfoReadyCallback = res => { this.setData({ userInfo: res }) this.getList(); } }; this.setData({ BASEIMGURL: app.globalData.BASEIMGURL }); }, goDetail(e) { let id = e.currentTarget.dataset.id; let currentActivity = this.data.list.filter(v => { return v.id == id; }); app.globalData.currentActivity = currentActivity[0]; wx.navigateTo({ url: '/pages/detail/index', }) }, goEdit(){ }, add(e) { let actid = e.currentTarget.dataset.actid; //参加活动 console.log('add'); app.globalData.api.activity_attend({ phone: app.globalData.userInfo.phone, actid }).then(res=>{ console.log(res); this.getList(); wx.showToast({ title: '您已成功参加活动!', icon: 'none' }) }) }, async getPhoneNumber(e) { let actid = e.currentTarget.dataset.actid; const that = this; if (e.detail.errMsg == "getPhoneNumber:ok") { let res = await app.globalData.api.bindphone({ "openid": app.globalData.userInfo.openid, "encryptedData": e.detail.encryptedData, "iv": e.detail.iv, "invitor": app.globalData.shareOpenId }) app.globalData.userInfo.phone = res.data.phone; that.setData({ userInfo: { ...this.data.userInfo, 'phone': res.data.phone } }); //参加活动 that.add(e); // wx.showToast({ // title: '参加成功!', // icon: 'none' // }) } else { wx.showToast({ title: '请授权您的手机号!', icon: 'none' }) } }, touchHandler() { return; }, async getList() { const _this = this; let result = await app.globalData.api.list_public(); const lngArr = []; result.data.forEach( v => { v.shareMember = 0; if (v.images) { v.imgList = v.images.split(';').filter(v=>{ return v != ''; }) } if(v.members){ v.membersList = v.members.split(';').filter(v=>{ return v != ''; }) if(v.membersList.indexOf(app.globalData.userInfo.phone || '0') > -1){ v.shareMember = 1; } } if(v.lat && v.lng){ lngArr.push({ latitude: v.lat, longitude: v.lng }) } }); this.setData({ list: result.data }) if(lngArr.length){ this.getDistance(lngArr); } }, getDistance(localresult) { qqmapsdk.calculateDistance({ to: localresult, //终点坐标 success: function (res) { //成功后的回调 console.log(res,8888) //判断经纬度,获取具体门店,付值 distance // resolve(res.result.elements[0].distance); }, fail: function (error) { console.error(error); }, complete: function (res) {} }); }, getUserInfo: function (e) { if (e.detail.userInfo) { app.globalData.userInfo = e.detail.userInfo this.setData({ userInfo: e.detail.userInfo, hasUserInfo: true }) } else { this.setData({ userInfo: {}, hasUserInfo: false }) } }, goAdd() { wx.navigateTo({ url: '/pages/add/index', }) }, onShow() { }, onShareAppMessage() { const openid = wx.getStorageSync('openid') let param = openid && typeof openid === 'string' ? `pages/index/index?openid=${ openid }` : `pages/index/index` return { title: 'Coffee Talk', desc: '快来参加活动吧~', // imageUrl: 'https://cirraybucket.oss-cn-shanghai.aliyuncs.com/nowwa-h5/aboutUs/share.jpg', path: param } }, })