123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- // app.js
- var projectMode = 0;//0代表开发模式(本地环境),1代表测试模式(线上测r试环境),2代表线上模式(正式运行环境)
- var info = wx.getSystemInfoSync();
- if (info.platform != "devtools" && projectMode == 0) { projectMode = 0 }
- var envVersion = `${__wxConfig.envVersion}`;//develop 开发版,trial 体验版,release 正式版
- if (envVersion == 'release') { projectMode = 2 }
- import api from './utils/api'
- App({
- onLaunch() {
- this.updateApp()
- //云开发
- wx.cloud.init({
- traceUser: true,
- })
- wx.setStorageSync('islocation', false)
- const logs = wx.getStorageSync('logs') || []
- logs.unshift(Date.now())
- wx.setStorageSync('logs', logs)
- var that = this;
- this.getLocation();
-
- // 登录
- wx.checkSession({
- success: res => {
- if(!wx.getStorageSync('token')){
- // this.login();
- }
- },
- fail: (res) => {
- // this.login();
- }
- })
- this.globalData.btnInfo = wx.getMenuButtonBoundingClientRect()
- console.log(this.globalData.btnInfo, '按钮信息');
- },
- globalData: {
- userInfo: null,
- btnInfo: null,
- status: ['可下单', '服务中', '已满柜', '暂停服务'],
- baseAppUrl: projectMode == 2 ? 'https://hx.xishuashua.art/' : (projectMode == 1 ? 'https://wash.nanodreamtech.com/' : 'http://127.0.0.1:8000/'),
- location: "",
- token:"",
- nid:0,
- islocation: true,
- logisticsStatus:['用户未存衣','用户已存衣', '送洗途中', '工厂已签收','管家送回中', '管家已存衣', '用户已取衣'],
- systeminfo:""
- },
- api: api,
- getLocation(e) {
- var that = this;
- this.globalData.headerBtnPosi = wx.getMenuButtonBoundingClientRect()
- wx.getSystemInfo({ // iphonex底部适配
- success: res => {
- that.globalData.systeminfo = res
- }
- })
- wx.getLocation({
- success(res) {
- console.log('开启后台定位', res)
-
- console.log('location change', res)
- that.globalData.location = res;
- wx.setStorageSync('latitude', res.latitude)
- wx.setStorageSync('longitude', res.longitude)
-
- wx.checkSession({
- success: res => {
-
- },
- fail: (res) => {
- that.login(res.latitude, res.longitude).then(function (res) { })
- }
-
- })
- },fail(res) {
- console.log('开启后台定位失败', res)
- that.globalData.islocation = false;
- wx.setStorageSync('islocation', true)
- wx.showLoading({
- title: '请授权获取地址。',
- })
- setTimeout(function () {
- wx.hideLoading();
- }, 2000)
-
-
- }
- })
- },
- login(lat = "", lng = "") {
- var that = this;
- if(!lat || !lng){
- lat=wx.getStorageSync('latitude')
- lng=wx.getStorageSync('longitude')
- }
- return new Promise((resolve, reject) => {
- // console.log(3333333)
- // wx.checkSession({
- // success: (res) => {
- // console.log(444444)
- // },
- // fail: (res) => {
- wx.login({
- success: res => {
- console.log(res)
- // 发送 res.code 到后台换取 openId, sessionKey, unionId
- that.api.useApi(that.globalData.baseAppUrl + "api/login", {
- code: res.code,
- lat: lat,
- lng: lng,
- appid: wx.getAccountInfoSync().miniProgram.appId
- }, "post").then(function (res) {
- wx.showLoading({
- title: '登录中',
- })
- if (res.code != 200) {
- setTimeout(function () {
- that.login(lat, lng);
- }, 1000);
- } else {
- wx.hideLoading();
- that.globalData.token= res.message.token;
- that.globalData.nid= res.message.network_id;
- wx.setStorageSync('token', res.message.token);
- wx.setStorageSync('uid', res.message.user_id);
- wx.setStorageSync('exp_time', res.message.exp_time);
- wx.setStorageSync('seisson_key', res.message.session_key);
- wx.setStorageSync('phone', res.message.phone);
- wx.setStorageSync('is_online', res.is_online);
- wx.setStorageSync('nid', res.message.network_id);//当前网点选择id
- resolve(res);
- }
- }).catch(function (err) {
- console.log(222);
- })
- }
- })
- // }
- //})
- })
- },
- getQueryVariable(url,name){
- var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i');
- var r = url.substr(1).match(reg);
- if (r != null) {
- return r[2];
- }
- return null;
- },
- updateApp:function(){
- const updateManager = wx.getUpdateManager()
- updateManager.onCheckForUpdate(function (res) {
- // 请求完新版本信息的回调
- if (res.hasUpdate) {
- wx.showLoading({
- title:'更新下载中...',
- })
- }
- })
- updateManager.onUpdateReady(function () {
- wx.hideLoading();
- wx.showModal({
- title:'更新提示',
- content:'新版本已经准备好,是否重启应用?',
- success:function (res) {
- if (res.confirm) {
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
- updateManager.applyUpdate()
- }
- }
- })
-
- })
- updateManager.onUpdateFailed(function () {
- // 新的版本下载失败
- wx.hideLoading();
- wx.showToast({ title:'下载失败...', icon:"none" });
- })
- },
- })
|