const request = require('./request') async function wxLogin() { const loginRes = await new Promise((resolve, reject) => { const timer = setTimeout(() => { reject(new Error('wx.login timeout')) }, 5000) wx.login({ success(res) { clearTimeout(timer) resolve(res) }, fail(err) { clearTimeout(timer) reject(err) } }) }) const data = await request({ url: '/auth/wx-login', method: 'POST', data: { code: loginRes.code, subscribe_audit: false, subscribe_match: false } }) wx.setStorageSync('token', data.access_token) if (data.refresh_token) { wx.setStorageSync('refresh_token', data.refresh_token) } return data } module.exports = { wxLogin }