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,80 @@
import { request, uploadFile } from './request'
import { toNumber, toPageQuery, toPagination } 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 toBalance = (backendData = {}) => ({
member_id: backendData.member_id ?? null,
balance: backendData.balance || '0.00'
})
const toBalanceRecord = (backendRecord = {}) => ({
id: backendRecord.id ?? null,
amount: backendRecord.amount || '0.00',
kind: backendRecord.kind || '',
kind_label: backendRecord.kind_label || backendRecord.kind || '',
order_id: backendRecord.order_id ?? null,
remark: backendRecord.remark || '',
created_at: backendRecord.created_at || ''
})
export const memberApi = {
getMemberMe() {
return request({
url: '/api/members/me'
}).then(toMember)
},
updateMemberProfile(payload = {}) {
return request({
url: '/api/members/profile',
method: 'POST',
data: {
nickname: payload.nickname || null,
avatar_url: payload.avatar_url || null
}
}).then(toMember)
},
uploadAvatar(filePath) {
return uploadFile({
url: '/api/members/avatar',
filePath
}).then((data) => ({
avatar_url: data.avatar_url || '',
member: toMember(data.member)
}))
},
bindMemberPhone(code) {
return request({
url: '/api/members/phone/bind',
method: 'POST',
data: { code }
}).then(toMember)
},
getBalance() {
return request({
url: '/api/members/balance'
}).then(toBalance)
},
getBalanceRecords(params = {}) {
return request({
url: '/api/members/balance-records',
data: toPageQuery(params)
}).then((data) => {
const pagination = toPagination(data, toBalanceRecord)
return {
...pagination,
total: toNumber(pagination.total)
}
})
}
}