2026-07-14 16:10:50 +08:00
|
|
|
|
import { del, get, post, put } from '../request'
|
|
|
|
|
|
import type {
|
|
|
|
|
|
CreateUserPayload,
|
|
|
|
|
|
HealthMetrics,
|
|
|
|
|
|
LoginResponse,
|
|
|
|
|
|
SystemInfo,
|
|
|
|
|
|
SystemUser,
|
|
|
|
|
|
UpdateUserAccessPayload,
|
|
|
|
|
|
} from '@/types'
|
2026-07-10 16:45:06 +08:00
|
|
|
|
|
2026-08-04 11:34:04 +08:00
|
|
|
|
export type { SystemUser } from '@/types'
|
|
|
|
|
|
|
2026-07-10 16:45:06 +08:00
|
|
|
|
/** 系统信息(CPU/内存/磁盘/GPU/网络/系统) */
|
|
|
|
|
|
export const getSystemInfo = () => get<SystemInfo>('/system-info')
|
|
|
|
|
|
|
|
|
|
|
|
/** 健康指标(顶部栏轻量指标) */
|
|
|
|
|
|
export const getHealth = () => get<HealthMetrics>('/health')
|
|
|
|
|
|
|
|
|
|
|
|
/** 登录 */
|
|
|
|
|
|
export const login = (username: string, password: string) =>
|
2026-07-14 16:10:50 +08:00
|
|
|
|
post<LoginResponse>('/login', { username, password })
|
|
|
|
|
|
|
2026-08-03 16:20:21 +08:00
|
|
|
|
/** 登出 */
|
|
|
|
|
|
export const logout = (sessionId?: string) =>
|
|
|
|
|
|
post('/logout', { session_id: sessionId || '' })
|
|
|
|
|
|
|
2026-07-14 16:10:50 +08:00
|
|
|
|
/** 用户列表 */
|
|
|
|
|
|
export const getUsers = () => get<SystemUser[]>('/users')
|
|
|
|
|
|
|
|
|
|
|
|
/** 创建用户 */
|
|
|
|
|
|
export const createUser = (payload: CreateUserPayload) =>
|
|
|
|
|
|
post<SystemUser>('/users', payload)
|
|
|
|
|
|
|
|
|
|
|
|
/** 更新用户角色、状态及页面权限 */
|
|
|
|
|
|
export const updateUserAccess = (id: string, payload: UpdateUserAccessPayload) =>
|
|
|
|
|
|
put<SystemUser>(`/users/${encodeURIComponent(id)}`, payload)
|
2026-08-03 09:34:08 +08:00
|
|
|
|
|
|
|
|
|
|
/** 重置用户密码 */
|
|
|
|
|
|
export const resetUserPassword = (id: string, password?: string) =>
|
|
|
|
|
|
post<{ reset: string }>(`/users/${encodeURIComponent(id)}/reset-password`, { password })
|
|
|
|
|
|
|
|
|
|
|
|
/** 删除用户(protected 管理员账号不允许删除) */
|
|
|
|
|
|
export const deleteUser = (id: string) =>
|
|
|
|
|
|
del<{ deleted: string }>(`/users/${encodeURIComponent(id)}`)
|