feat: migrate comprehensive venue module
This commit is contained in:
@@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user