整合前端仓库并保留提交历史
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
import request from '~/utils/request'
|
||||
import type {
|
||||
MemberInfo,
|
||||
Address,
|
||||
PointTransactionsResponse,
|
||||
BalanceTransactionsResponse,
|
||||
SignCalendar,
|
||||
SignStatistics,
|
||||
MemberLevel,
|
||||
SignStatus
|
||||
} from './types'
|
||||
|
||||
/**
|
||||
* 获取会员基本信息
|
||||
*/
|
||||
export function getMemberProfile(): Promise<MemberInfo> {
|
||||
return request.get('/member/user-info')
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新会员信息
|
||||
*/
|
||||
export function updateMemberInfo(data: Partial<MemberInfo>): Promise<boolean> {
|
||||
return request.put('/member/user/update', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取积分流水记录
|
||||
*/
|
||||
export function getPointTransactions(data: {
|
||||
page?: number
|
||||
page_size?: number
|
||||
}): Promise<PointTransactionsResponse> {
|
||||
return request.get('/member/points/record', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员积分总额
|
||||
*/
|
||||
export function getMemberPointsTotal(): Promise<number> {
|
||||
return request.get('/member/points/total')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取余额流水记录
|
||||
*/
|
||||
export function getBalanceTransactions(data: {
|
||||
page?: number
|
||||
page_size?: number
|
||||
}): Promise<BalanceTransactionsResponse> {
|
||||
return request.get('/member/balance/record', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有余额流水记录
|
||||
*/
|
||||
export function getAllBalanceTransactions(data?: {
|
||||
page?: number
|
||||
page_size?: number
|
||||
}): Promise<BalanceTransactionsResponse> {
|
||||
return request.get('/member/balance/all', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取会员等级信息
|
||||
*/
|
||||
export function getMemberLevel(): Promise<MemberLevel> {
|
||||
return request.get('/member/points/level')
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员签到
|
||||
*/
|
||||
export function memberSign(): Promise<number> {
|
||||
return request.post('/member/points/sign')
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行签到
|
||||
*/
|
||||
export function signIn(): Promise<boolean> {
|
||||
return request.post('/member/sign')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取签到状态
|
||||
*/
|
||||
export function getSignStatus(): Promise<SignStatus> {
|
||||
return request.get('/member/sign/status')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取签到日历
|
||||
*/
|
||||
export function getSignCalendar(year: number, month: number): Promise<SignCalendar> {
|
||||
return request.get('/member/sign/calendar', { year, month })
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取签到统计
|
||||
*/
|
||||
export function getSignStatistics(type: string = 'month'): Promise<SignStatistics> {
|
||||
return request.get('/member/sign/statistics', { type })
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*/
|
||||
export function changePassword(data: {
|
||||
old_password: string
|
||||
new_password: string
|
||||
confirm_password: string
|
||||
}): Promise<boolean> {
|
||||
return request.put('/member/user/change-password', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取地址列表
|
||||
*/
|
||||
export function getAddressList(): Promise<Address[]> {
|
||||
return request.get('/member/user/address/list')
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建地址
|
||||
*/
|
||||
export function createAddress(data: Partial<Address>): Promise<Address> {
|
||||
return request.post('/member/user/address/create', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新地址
|
||||
*/
|
||||
export function updateAddress(id: number, data: Partial<Address>): Promise<boolean> {
|
||||
return request.put(`/member/user/address/update/${id}`, data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除地址
|
||||
*/
|
||||
export function deleteAddress(id: number): Promise<boolean> {
|
||||
return request.delete(`/member/user/address/delete/${id}`)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取验证码
|
||||
*/
|
||||
export function getVerificationCode(data: { type: string; phone: string }): Promise<boolean> {
|
||||
return request.post('/member/user/send-code', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改手机号码
|
||||
*/
|
||||
export function updateMemberMobile(data: {
|
||||
oldMobile: string
|
||||
newMobile: string
|
||||
code: string
|
||||
}): Promise<boolean> {
|
||||
return request.put('/member/user/update-phone', {
|
||||
old_phone: data.oldMobile,
|
||||
new_phone: data.newMobile,
|
||||
verify_code: data.code
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改邮箱
|
||||
*/
|
||||
export function updateMemberEmail(data: { email: string; code: string }): Promise<boolean> {
|
||||
return request.put('/member/user/update-email', {
|
||||
email: data.email,
|
||||
verify_code: data.code
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传头像
|
||||
*/
|
||||
export function uploadAvatar(file: File): Promise<string> {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
return request.post('/member/user/avatar', formData, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
} as any
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
/**
|
||||
* 会员模块相关类型定义
|
||||
*/
|
||||
|
||||
/**
|
||||
* 会员基本信息
|
||||
*/
|
||||
export interface MemberInfo {
|
||||
id: number
|
||||
username: string
|
||||
nickname?: string
|
||||
avatar?: string
|
||||
phone?: string
|
||||
email?: string
|
||||
points: number
|
||||
balance: number
|
||||
level: number
|
||||
level_name?: string
|
||||
created_at: number
|
||||
updated_at: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
export interface Address {
|
||||
id: number
|
||||
user_id: number
|
||||
consignee: string
|
||||
phone: string
|
||||
province: string
|
||||
city: string
|
||||
district: string
|
||||
address: string
|
||||
postal_code?: string
|
||||
is_default: number
|
||||
created_at: number
|
||||
updated_at: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 积分流水记录
|
||||
*/
|
||||
export interface PointTransaction {
|
||||
id: number
|
||||
user_id: number
|
||||
type: string
|
||||
amount: number
|
||||
balance: number
|
||||
description: string
|
||||
created_at: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 积分流水响应
|
||||
*/
|
||||
export interface PointTransactionsResponse {
|
||||
total: number
|
||||
list: PointTransaction[]
|
||||
}
|
||||
|
||||
/**
|
||||
* 余额流水记录
|
||||
*/
|
||||
export interface BalanceTransaction {
|
||||
id: number
|
||||
user_id: number
|
||||
type: string
|
||||
amount: number
|
||||
balance: number
|
||||
description: string
|
||||
created_at: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 余额流水响应
|
||||
*/
|
||||
export interface BalanceTransactionsResponse {
|
||||
total: number
|
||||
list: BalanceTransaction[]
|
||||
}
|
||||
|
||||
/**
|
||||
* 签到日历
|
||||
*/
|
||||
export interface SignCalendar {
|
||||
year: number
|
||||
month: number
|
||||
signed_dates: number[]
|
||||
total_signed: number
|
||||
total_can_sign: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 签到统计
|
||||
*/
|
||||
export interface SignStatistics {
|
||||
total_signed: number
|
||||
continuous_signed: number
|
||||
this_month_signed: number
|
||||
today_signed: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员等级信息
|
||||
*/
|
||||
export interface MemberLevel {
|
||||
level: number
|
||||
level_name: string
|
||||
points: number
|
||||
next_level_points?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 签到状态
|
||||
*/
|
||||
export interface SignStatus {
|
||||
today_signed: boolean
|
||||
continuous_days: number
|
||||
can_sign: boolean
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user