Files
2026-09-21 16:01:26 +08:00

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() }
})