This commit is contained in:
yml2213
2026-07-20 14:58:57 +08:00
commit 45db0aa4b9
50 changed files with 5861 additions and 0 deletions
+60
View File
@@ -0,0 +1,60 @@
import request from './request'
import type {
DashboardStats,
LoginResult,
Order,
PageResult,
Skin,
User,
} from '../types'
export const authApi = {
login: async (username: string, password: string) => {
const res = await request.post('/auth/login', { username, password })
return res.data.data as LoginResult
},
register: async (data: { username: string; password: string; nickname?: string }) => {
const res = await request.post('/auth/register', data)
return res.data.data as User
},
profile: async () => {
const res = await request.get('/auth/profile')
return res.data.data as User
},
}
export const dashboardApi = {
stats: () =>
request.get('/dashboard').then((r) => r.data.data as DashboardStats),
}
export const skinApi = {
list: (params?: Record<string, unknown>) =>
request.get('/skins', { params }).then((r) => r.data.data as PageResult<Skin>),
get: (id: number) =>
request.get(`/skins/${id}`).then((r) => r.data.data as Skin),
create: (data: Partial<Skin>) =>
request.post('/skins', data).then((r) => r.data.data as Skin),
update: (id: number, data: Partial<Skin>) =>
request.put(`/skins/${id}`, data).then((r) => r.data.data),
remove: (id: number) =>
request.delete(`/skins/${id}`).then((r) => r.data.data),
}
export const orderApi = {
list: (params?: Record<string, unknown>) =>
request.get('/orders', { params }).then((r) => r.data.data as PageResult<Order>),
create: (data: { skin_id: number; buyer_name?: string; remark?: string }) =>
request.post('/orders', data).then((r) => r.data.data as Order),
updateStatus: (id: number, status: string) =>
request.patch(`/orders/${id}/status`, { status }).then((r) => r.data.data),
}
export const userApi = {
list: (params?: Record<string, unknown>) =>
request.get('/users', { params }).then((r) => r.data.data as PageResult<User>),
create: (data: { username: string; password: string; nickname?: string; role?: string }) =>
request.post('/users', data).then((r) => r.data.data as User),
updateStatus: (id: number, status: number) =>
request.patch(`/users/${id}/status`, { status }).then((r) => r.data.data),
}