// app.js const { baseUrl } = require('./config.js'); App({ // config.service.pathUrl // https://mpapitest.gululuq.com/ data: { loginSuccess: false, }, globalData: { storeId: null, /** * userProfileDTO: { * isBindPhoneNumber: false subMchList: [] userId: "107" userType: "10" } */ mUser: null, }, onLaunch() { }, getMUser() { return new Promise((resolve, reject) => { wx.login({ success: res => { // 发送 res.code 到后台换取 accessTokenDTO, userProfileDTO console.log("code", res); if (res.code) { wx.request({ url: baseUrl + '/api/store/wxlogin', method: 'POST', data: { jsCode: res.code }, header: { 'content-type': 'application/x-www-form-urlencoded', 'X-Referrer-Id': '', // 旧租户字段 'X-Store-Id': '', // 旧租户字段 }, success: (res) => { let {accessToken,expiresIn} = res.data.data.accessTokenDTO; this.globalData.mUser = res.data.data; wx.setStorageSync('accessToken', accessToken); wx.setStorageSync('accessTokenTime', new Date().getTime() + expiresIn*1000); resolve(true); }, fail: (res) => { console.log(res); reject(res); } }); } } }); }) }, // 检测是否需要重新 checkLoginStatus(){ return new Promise((resolve, reject) => { let token = wx.getStorageSync('accessToken'); let time = new Date().getTime() - wx.getStorageSync('accessTokenTime') < 600000; if (token && time) { resolve(true); } else { this.getMUser().then(res=>{ resolve(true) }); } }) } }) wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId }, })