// app.js var projectMode=1;//0代表开发模式(本地环境),1代表测试模式(线上测试环境),2代表线上模式(正式运行环境) var info=wx.getSystemInfoSync(); if(info.platform!="devtools"&&projectMode==0){projectMode=1} var envVersion = `${__wxConfig.envVersion}`;//develop 开发版,trial 体验版,release 正式版 if(envVersion=='release'){projectMode=2} import api from './utils/api' App({ onLaunch() { //云开发 wx.cloud.init({ traceUser: true, }) const logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) var that=this; this.getLocation(); // 登录 wx.checkSession({ success: res=> { console.log(res) }, fail:(res)=>{ } }) this.globalData.btnInfo = wx.getMenuButtonBoundingClientRect() console.log(this.globalData.btnInfo,'按钮信息'); }, globalData: { userInfo: null, btnInfo:null, status:['可下单','服务中','已满柜','暂停服务'], baseAppUrl: projectMode==2 ? 'https://wash.nanodreamtech.com/':(projectMode==1 ?'https://wash.nanodreamtech.com/':'http://127.0.0.1:8000/'), location:"" }, api:api, getLocation(e){ var that=this; wx.startLocationUpdateBackground({ success(res) { console.log('开启后台定位', res) wx.onLocationChange(function(res) { console.log('location change', res) that.globalData.location=res; that.login(res.latitude,res.longitude).then(function(res){ if(res.code!=200){ } },function(err){ }) }) }, fail(res) { console.log('开启后台定位失败', res) } }) }, login(lat="",lng=""){ var that=this; return new Promise((resolve,reject)=>{ wx.checkSession({ success: (res) => { }, fail:(res)=>{ wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId that.api.useApi(that.globalData.baseAppUrl+"api/login",{ code:res.code, lat:lat, lng:lng, appid:wx.getAppBaseInfo().host.appId },"post").then(function(res){ wx.showLoading({ title: '登录中', }) if(res.code!=200){ setTimeout(function(){ that.login(lat,lng); },1000); }else{ wx.hideLoading(); resolve(res); } }).catch(function(err){ console.log(222); }) } }) } }) }) } })