Files
zt-closet-manage-frontend/src/api/user.ts
T
2026-09-11 01:46:36 +08:00

47 lines
1.6 KiB
TypeScript

import { httpDelete, httpGet, httpPut } from '@/utils/request'
import type { PageResult } from '@/types/common'
import type {
UserBanRequest,
UserDetailResponse,
UserListItem,
UserListQuery,
UserQuotaAdjustRequest,
UserUnbanRequest,
UserVIPAdjustRequest,
} from '@/types/user'
/** 用户分页列表 */
export function getUserList(query: UserListQuery): Promise<PageResult<UserListItem>> {
return httpGet<PageResult<UserListItem>>('/users', { ...query })
}
/** 用户详情(含四类额度) */
export function getUserDetail(uuid: string): Promise<UserDetailResponse> {
return httpGet<UserDetailResponse>(`/users/${uuid}`)
}
/** 封禁用户 */
export function banUser(uuid: string, data: UserBanRequest): Promise<Record<string, never>> {
return httpPut<Record<string, never>>(`/users/${uuid}/ban`, data)
}
/** 解封用户 */
export function unbanUser(uuid: string, data: UserUnbanRequest): Promise<Record<string, never>> {
return httpPut<Record<string, never>>(`/users/${uuid}/unban`, data)
}
/** 额度人工调整 */
export function adjustUserQuota(uuid: string, data: UserQuotaAdjustRequest): Promise<Record<string, never>> {
return httpPut<Record<string, never>>(`/users/${uuid}/quota`, data)
}
/** VIP 人工调整 */
export function adjustUserVip(uuid: string, data: UserVIPAdjustRequest): Promise<Record<string, never>> {
return httpPut<Record<string, never>>(`/users/${uuid}/vip`, data)
}
/** 回收额度凭证 */
export function revokeGrant(uuid: string, grantId: number): Promise<Record<string, never>> {
return httpDelete<Record<string, never>>(`/users/${uuid}/grants/${grantId}`)
}