import { http } from '@/api/http' export type UserStatus = 'enabled' | 'disabled' | 'locked' export interface User { id: string tenantCode: string username: string nickname: string | null email: string | null phone: string | null avatar: string | null status: UserStatus orgCode: string | null createdAt: string updatedAt: string } export interface UserListQuery { page: number pageSize: number username?: string nickname?: string phone?: string status?: UserStatus | '' } export interface UserListResult { list: User[] total: number page: number pageSize: number } export interface UserUpsertData { username?: string password?: string nickname?: string email?: string phone?: string orgCode?: string | null status?: UserStatus } export interface Org { id: string code: string name: string } /** 用户分页列表。 */ export function listUsers(query: UserListQuery, signal?: AbortSignal): Promise { const params: Record = { page: query.page, pageSize: query.pageSize } if (query.username) params.username = query.username if (query.nickname) params.nickname = query.nickname if (query.phone) params.phone = query.phone if (query.status) params.status = query.status return http.get('/users', { params, signal }) } /** 新增用户。 */ export function createUser(data: UserUpsertData): Promise { return http.post('/users', data) } /** 更新用户(username 不可改)。 */ export function updateUser(id: string, data: UserUpsertData): Promise { return http.patch(`/users/${id}`, data) } /** 删除用户(软删)。 */ export function deleteUser(id: string): Promise { return http.delete(`/users/${id}`) } /** 重置密码。 */ export function resetPassword(id: string, password: string): Promise { return http.patch(`/users/${id}/password`, { password }) } /** 组织列表(用于组织下拉)。 */ export function listOrgs(signal?: AbortSignal): Promise { return http.get('/orgs', { signal }) }