import * as STORAGE from './utils/storage' import * as UTIL from './utils/util' import * as API from './utils/API' let APP = getApp(); App({ onLaunch() { var that = this; //存储storage初始化globalData数据-- //何时存储,用来判断,不用获取code that.initGlobalData(); //获取code UTIL.getCOdeFromWX({ complate: (code) => { // //获取openId that.getOpenIdFromFW(code); } }); //获取设备信息 wx.getSystemInfo({ success: function (res) { that.globalData.systemType = res.system.indexOf("Android") >= 0 ? "Android" : "IOS"; that.globalData.isIphoneX = res.model.indexOf("iPhone X") >= 0 || res.model.indexOf("iPhone 1") >= 0; } }); var that = this ; // iphoneX顶部适配 wx.getSystemInfo({ success: function (res) { if (res.statusBarHeight > 20) { console.log("Device is iPhoneX!!!"); that.globalData.isIPX = true; } } }) }, onShow() { //更新机制 this.wxappUpdateManager(); }, globalData: { // 系统用户登录信息(用户id、token) userInfo: { token: '', toastTimeout:null }, //微信用户登陆信息(昵称、头像、省、城市) wxUserInfo: { nickName: '', avatarUrl: '', province: '', city: '' } , /** * 小程序设置 */ setInfo: { //定位授权 locationOpenIdWX: false, //纬度 latitude:'', //经度 longitude:'', } , systemType:'',//设备类型 Android IOS isIphoneX: false, // 用来标识当前手机机型是否为 iPhone X isIPX:false }, /** * 从服务端获取openId */ getOpenIdFromFW(code) { let sendData = { code: code } UTIL.httpRequestNoneDetal(API.URL_GET_OPENID, sendData, "POST", { success: (res) => { if (res.code == API.SUCCESS_CODE) { // UTIL.showToastNoneIcon("openId:" + res._data.openid); STORAGE.setToken(res.token) STORAGE.setOpenId(res.data.openId) STORAGE.setSessionKey(res.data.sessionKey) getApp().globalData.userInfo.token = res.token; } else { //未获取到openId STORAGE.setOpenId(res.data.openId) STORAGE.setSessionKey(res.data.sessionKey) } } }) }, /** * 初始化globalData */ initGlobalData() { var userInfo = { token: STORAGE.getToken() } console.log(userInfo) this.globalData.userInfo = userInfo; } , /** * 小程序更新机制 * 获取小程序更新机制兼容 */ wxappUpdateManager() { if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager(); if (!!updateManager) { updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新的版本下载失败 wx.showModal({ title: '已经有新版本了哟~', content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~', }) }) } }) } } else { // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 wx.showModal({ title: '提示', content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' }) } }, showToast(msg, selfClass = '') { clearTimeout(this.globalData.toastTimeout); const page = getCurrentPages(); const currPage = page[page.length - 1]; currPage.setData({ toastData: { showFlag: true, toastMsg: msg, selfClass, }, }); this.globalData.toastTimeout = setTimeout(() => { currPage.setData({ toastData: { showFlag: false, selfClass: '', }, }); }, 2000); }, })