import request from '@/utils/request'; import type { ApiResponse, PageParams, PageResult } from '@/types/api'; export interface SystemUser { id?: number; username: string; nickname: string; deptId: number; postIds: string[]; email: string; mobile: string; sex: number; avatar: string; loginIp: string; status: number; remark: string; createTime?: string; /** Added by mock / joined from dept table */ deptName?: string; } /** Paginated user list */ export const getUserPage = (params: PageParams) => request.get>>('/system/user/page', { params }); /** Get single user by id */ export const getUser = (id: number) => request.get>(`/system/user/get?id=${id}`); /** Create user */ export const createUser = (data: SystemUser) => request.post>('/system/user/create', data); /** Update user */ export const updateUser = (data: SystemUser) => request.put>('/system/user/update', data); /** Delete single user */ export const deleteUser = (id: number) => request.delete>(`/system/user/delete?id=${id}`); /** Batch delete users */ export const deleteUserList = (ids: number[]) => request.delete>('/system/user/delete-list', { data: { ids } }); /** Update user status (enable / disable) */ export const updateUserStatus = (id: number, status: number) => request.put>('/system/user/update-status', { id, status });