//app.js App({ onLaunch: function (e) { var that = this; //获取设备信息 this.setMenuHeight() }, onShow(e){ //隐藏系统tabbar wx.hideTabBar(); var query = {}; if(e.query.q){ //通过扫码进来获取二维码上的参数并存入storage let urlSpread = e.query.q; if (urlSpread) { if (urlSpread.indexOf('%3F') != -1) { // 通过扫桌面二维码进来 urlSpread = urlSpread.split("%3F")[1].replace(/%3D/g, ":").replace(/%26/g, ",").split(",").map((item, index) => { item = item.split(":"); return `"${item[0]}":"${item[1]}"`; }).join(","); query = JSON.parse("{" + urlSpread + "}"); } console.log('query1',query) this.globalData.inviterId = query.id } } else{ query = e.query console.log('query2',query) this.globalData.inviterId = query.id } }, setMenuHeight(){ wx.getSystemInfo({ success: res => { // console.log(res) this.globalData.navTopHeight = res.statusBarHeight; this.globalData.CustomBar = res.statusBarHeight + 45; this.globalData.systemInfo = res; } }); let menuButtonObj = wx.getMenuButtonBoundingClientRect(); this.globalData.menuTop = menuButtonObj.top; // console.log(menuButtonObj) this.globalData.menuHeight = menuButtonObj.height; this.globalData.navHeight = menuButtonObj.height + (menuButtonObj.top - this.globalData.navTopHeight); }, editTabbar: function () { var tabbar = this.globalData.tabBar; var currentPages = getCurrentPages(); var that = currentPages[currentPages.length - 1]; var pagePath = that.route; (pagePath.indexOf('/') != 0) && (pagePath = '/' + pagePath); for (var i in tabbar.list) { tabbar.list[i].selected = false; (tabbar.list[i].pagePath == pagePath) && (tabbar.list[i].selected = true); } that.setData({ tabbar: tabbar }); }, getToken(){ // console.log('getToken') var tokentime = wx.getStorageSync('tokentime') || '';//过期时间 var timestamp = Date.parse(new Date());// 当前时间 var expiration = timestamp + 60000 * 60 * 12; //缓存12小时 var token = wx.getStorageSync('token') || ''; this.login(expiration); }, login(expiration){ wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId // console.log('code:',res.code) this.http('GET','wechat/auth',{code : res.code,spread:0,login_type:0}).then( response =>{ if(response.data.isSuccess){ wx.setStorageSync('token', 'Bearer '+ response.data.data.token); wx.setStorageSync('uid', response.data.data.userId); wx.setStorageSync('tokentime', expiration); } else{ wx.showToast({ title: response.data.msg, icon : 'none' }) } } ) } }) }, getInfo(){ this.http('get','userinfo').then((res)=>{ if(res.data.success){ wx.setStorageSync('userInfo',res.data.data) var pages = getCurrentPages().pop();//当前页面 if (pages.getUser){ pages.getUser(); } } }) }, http(mathods,url, params) { var that = this; var header = { 'content-type': 'application/json', 'Authorization' : wx.getStorageSync('token') || '' } return new Promise( (resolve,reject) => { wx.showLoading({ title: "正在加载中...", }) wx.request({ url: this.globalData.baseURL + url, //请求地址 method: mathods, //请求方法 header: header, data: params || {}, //请求参数 success: res => { wx.hideLoading(); //判断token是否过期 res.data.code == 40001 if(!res.data.isSuccess && res.data.code == 40001){ console.log('token过期') that.getToken() } resolve(res); //成功执行方法,参数值为res.data,直接将返回的数据传入 }, fail: function() { //请求失败 wx.hideLoading(); wx.showToast({ title: '服务器错误,请稍后再试!', icon : 'none' }) reject(err) }, }) } ) }, globalData: { // baseURL : 'http://192.168.0.114:8092/api/', baseURL : 'https://www.cyjyyjy.com:8093/api/', userInfo: null, navHeight : 0, navTopHeight: 0, menuTop: 0, menuHeight: 0, CustomBar: 0, inviterId: null , //分享码 systemInfo: null, //客户端设备信息 tabBar: { "backgroundColor": "#ffffff", "color": "#979795", "selectedColor": "#1c1c1b", "list": [ { "pagePath": "/pages/index/index", "iconPath": "icon/icon_home.png", "selectedIconPath": "icon/icon_home_HL.png", "text": "首页" }, { "pagePath": "/pages/demandHall/index", "iconPath": "icon/icon_home.png", "selectedIconPath": "icon/icon_home_HL.png", "text": "供需大厅" }, { "pagePath": "/pages/release/index", "iconPath": "icon/icon_release.png", "isSpecial": true, "text": "发布" }, { "pagePath": "/pages/life/index", "iconPath": "icon/icon_mine.png", "selectedIconPath": "icon/icon_mine_HL.png", "text": "购物车" }, { "pagePath": "/pages/user/index", "iconPath": "icon/icon_mine.png", "selectedIconPath": "icon/icon_mine_HL.png", "text": "我的" } ] } } })