feat: migrate comprehensive venue module
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import { authStorage, request } from './request'
|
||||
import { toNumber } from './mappers'
|
||||
|
||||
const toMember = (backendMember = {}) => ({
|
||||
id: backendMember.id ?? null,
|
||||
openid: backendMember.openid || '',
|
||||
unionid: backendMember.unionid || '',
|
||||
nickname: backendMember.nickname || '',
|
||||
phone: backendMember.phone || '',
|
||||
avatar_url: backendMember.avatar_url || '',
|
||||
balance: backendMember.balance || '0.00',
|
||||
is_active: backendMember.is_active === true,
|
||||
created_at: backendMember.created_at || ''
|
||||
})
|
||||
|
||||
const toWechatLogin = (backendData = {}) => ({
|
||||
access_token: backendData.access_token || '',
|
||||
token_type: backendData.token_type || 'Bearer',
|
||||
expires_in: toNumber(backendData.expires_in),
|
||||
member: toMember(backendData.member)
|
||||
})
|
||||
|
||||
export const authApi = {
|
||||
async wechatLogin(payload = {}) {
|
||||
const data = typeof payload === 'string' ? { code: payload } : payload
|
||||
const loginData = await request({
|
||||
url: '/api/auth/wechat-login',
|
||||
method: 'POST',
|
||||
data: {
|
||||
code: data.code,
|
||||
nickname: data.nickname || '',
|
||||
avatar_url: data.avatar_url || ''
|
||||
}
|
||||
}).then(toWechatLogin)
|
||||
|
||||
authStorage.setToken(loginData.access_token)
|
||||
return loginData
|
||||
},
|
||||
logout() {
|
||||
authStorage.clear()
|
||||
}
|
||||
}
|
||||
|
||||
export { authStorage }
|
||||
Reference in New Issue
Block a user