41 lines
776 B
JavaScript
41 lines
776 B
JavaScript
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
|
|
}
|