feat: migrate comprehensive venue module

This commit is contained in:
gqt
2026-06-08 20:54:25 +08:00
parent c9650b0db1
commit 8e1443f7e5
43 changed files with 5017 additions and 0 deletions
@@ -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 }