const request = require('./utils/request') import { timestampToTime } from './utils/util' App({ globalData: { }, onLaunch() { const that = this // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId console.log(res, 'wx.login') doLogin(res.code) getWxToken() }, }) // 获取小程序AccessToken const getWxToken = () => { const data = { grant_type: 'client_credential', appid: 'wxf288a9b8167ff2ca', secret: 'cf012a9015594f0a95f718a801497fbd' } wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/stable_token', header: { "Content-Type": "application/json;charset=UTF-8", }, data: data, method: "POST", success: res => { console.log(res, 'getWxToken'); wx.setStorageSync('AccessToken', res.data.access_token) }, fail: err => { } }); } /** * @description 登录 * @param {*} loginData {code , appid} * @returns token , sessionKey , openId */ const doLogin = code => { const data = { code, appId: request.appId } request.post({ url: '/api/user/login', data }).then(res => { console.log(res, 'loginSuccess'); // 存储数据 request.setHead(res.data.token, res.data.tenantId) wx.setStorageSync('sessionKey', res.data.sessionKey) that.globalData.sessionKey = res.data.sessionKey wx.setStorageSync('openId', res.data.openId) that.globalData.openId = res.data.openId wx.setStorageSync('token', res.data.token) that.globalData.token = res.data.token // 检查用户信息 checkUserInfo() }).catch(err => { console.log(err); wx.showToast({ title: '网络错误,请稍后再试', icon: 'none' }) }) } /** * @description 检查用户信息 * @returns userInfo */ const checkUserInfo = () => { const that = this request.get({ url: '/api/user/userinfo' }).then(res => { console.log(res, 'userinfo'); res.data.createDate = res.data.createDate ? timestampToTime(res.data.createDate, 'YYYY-MM-DD hh:mm:ss') : '' res.data.updateDate = res.data.updateDate ? timestampToTime(res.data.updateDate, 'YYYY-MM-DD hh:mm:ss') : '' res.data.validStartTime = res.data.validStartTime ? timestampToTime(res.data.validStartTime, 'YYYY-MM-DD hh:mm:ss') : '' res.data.validEndTime = res.data.validEndTime ? timestampToTime(res.data.validEndTime, 'YYYY-MM-DD hh:mm:ss') : '' const userInfo = res.data that.globalData.userInfo = userInfo // 请求完成后的回调,在index.js中调用防止异步 that.userInfoCallback(res) }).catch(err => { console.log(err, 'err'); }) } }, })