xiangyixiangqin/admin/src/api/user.ts
2026-03-20 15:48:11 +08:00

116 lines
3.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 用户管理API接口
* Requirements: 3.1, 3.2, 3.3, 3.4
*/
import request from '@/utils/request'
import type { PagedResult } from '@/types/api.d'
import type {
UserListItem,
UserDetail,
UserQueryParams,
UserStatistics
} from '@/types/user.d'
/**
* 获取用户列表
* @param params 查询参数
* @returns 分页用户列表
*/
export function getUserList(params: UserQueryParams): Promise<PagedResult<UserListItem>> {
return request.get('/admin/users', { params })
}
/**
* 获取用户详情
* @param id 用户ID
* @returns 用户详情
*/
export function getUserDetail(id: number): Promise<UserDetail> {
return request.get(`/admin/users/${id}`)
}
/**
* 更新用户状态
* @param id 用户ID
* @param status 状态1正常 2禁用
* @returns 操作结果
*/
export function updateUserStatus(id: number, status: number): Promise<void> {
return request.put(`/admin/users/${id}/status`, { status })
}
/**
* 获取用户统计数据
* @returns 统计数据
*/
export function getUserStatistics(): Promise<UserStatistics> {
return request.get('/admin/users/statistics')
}
/**
* 创建测试用户
* @param count 创建数量
* @param gender 性别1男 2女不传则随机
* @returns 创建的用户ID列表
*/
export function createTestUsers(count: number, gender?: number): Promise<number[]> {
return request.post('/admin/users/test-users', { count, gender })
}
/**
* 删除用户(硬删除)
* @param id 用户ID
* @returns 操作结果
*/
export function deleteUser(id: number): Promise<void> {
return request.delete(`/admin/users/${id}`)
}
/**
* 批量删除所有测试用户
* @returns 删除的数量
*/
export function deleteAllTestUsers(): Promise<number> {
return request.delete('/admin/users/test-users')
}
/**
* 更新用户联系次数
* @param id 用户ID
* @param contactCount 联系次数
* @returns 操作结果
*/
export function updateContactCount(id: number, contactCount: number): Promise<void> {
return request.put(`/admin/users/${id}/contact-count`, { contactCount })
}
/**
* 更新用户会员等级
* @param id 用户ID
* @param memberLevel 会员等级0非会员 1不限时会员 2诚意会员 3家庭版会员
* @param memberExpireTime 会员到期时间等级2、3需要
* @returns 操作结果
*/
export function updateMemberLevel(id: number, memberLevel: number, memberExpireTime?: string): Promise<void> {
return request.put(`/admin/users/${id}/member-level`, { memberLevel, memberExpireTime })
}
/**
* 取消用户实名状态(只能从已实名改为未实名)
* @param id 用户ID
* @returns 操作结果
*/
export function cancelRealName(id: number): Promise<void> {
return request.put(`/admin/users/${id}/cancel-realname`)
}
/**
* 刷新用户推荐列表(清空今日推荐并重新生成)
* @param id 用户ID
* @returns 重新生成的推荐数量
*/
export function refreshRecommend(id: number): Promise<number> {
return request.post(`/admin/users/${id}/refresh-recommend`)
}