const api = require('./utils/api') App({ globalData: { user: wx.getStorageSync('user') || null }, onLaunch() { this.loginPromise = this.login() }, login() { return new Promise((resolve, reject) => wx.login({ success: ({ code }) => api.request('/api/auth/wechat', { method: 'POST', data: { code } }).then(({ token, user }) => { wx.setStorageSync('token', token); wx.setStorageSync('user', user); this.globalData.user = user; resolve(user) }).catch(reject), fail: reject })) }, ensureLogin() { return this.loginPromise || this.login() } })