18 lines
657 B
TypeScript
18 lines
657 B
TypeScript
import { request } from './utils/api'
|
|
|
|
App<IAppOption>({
|
|
globalData: { user: wx.getStorageSync('user') || null },
|
|
onLaunch() { this.loginPromise = this.login() },
|
|
login() {
|
|
return new Promise((resolve, reject) => wx.login({
|
|
success: ({ code }) => request<{ token: string; user: CoffeeChatUser }>('/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() }
|
|
})
|