import createAxios from '@/utils/request'; import type ISysUser from '@/domain/iSysUser.ts'; import type {IMenus} from "@/domain/iSysRule.ts"; import type ISysLoginRecord from "@/domain/iSysLoginRecord.ts"; export interface LoginParams { /** 用户名 */ username?: string; /** 密码 */ password?: string; /** 是否记住我 */ remember?: boolean; } export interface LoginResponse { /** token */ token: string; } export interface InfoResponse { /** 管理员信息 */ info: ISysUser; /** 管理员权限 */ access: string[]; } export interface MenuResponse { /** 管理员菜单 */ menus: IMenus[]; } export interface InfoParams { /** 个人简介 */ bio: string; /** 邮箱 */ email: string; /** 手机号 */ mobile: string; /** 昵称 */ nickname: string; /** 性别 */ sex: number; } export interface PasswordParams { /** 新密码 */ newPassword: string; /** 旧密码 */ oldPassword: string; /** 重复新密码 */ rePassword: string; } export interface RoleFieldType { /** 角色ID */ role_id: number; /** 角色名称 */ name: string; } export interface DeptFieldType { /** 部门ID */ dept_id: number; /** 部门名称 */ name: string; /** 下级部门 */ children: DeptFieldType[]; } export interface ResetPasswordType { /** 用户ID */ id: number; /** 密码 */ password: string; /** 验证密码 */ rePassword: string; } /** 获取管理员角色选项栏数据 */ export async function roleField() { return createAxios({ url: '/system/user/role', method: 'get', }); } /** 获取管理员角色选项栏数据 */ export async function deptField() { return createAxios({ url: '/system/user/dept', method: 'get', }); } /** 重置密码 */ export async function resetPassword(data: ResetPasswordType) { return createAxios({ url: '/system/resetPassword', method: 'put', data }); } /** 后台用户登录 */ export async function login(data: LoginParams) { return createAxios({ url: '/system/login', method: 'post', data, }); } /** 后台用户退出登录 */ export async function logout() { return createAxios({ url: '/system/logout', method: 'post', }); } /** 获取管理员用户信息 */ export async function info() { return createAxios({ url: '/system/info', method: 'get', }); } /** 获取管理员用户信息 */ export async function menu() { return createAxios({ url: '/system/menu', method: 'get', }); } /** 更改管理员信息 */ export async function updateInfo(info: InfoParams) { return createAxios({ url: '/system/updateInfo', method: 'put', data: info, }) } /** 修改管理员密码 */ export async function updatePassword(data: PasswordParams) { return createAxios({ url: '/system/updatePassword', method: 'put', data: data, }) } /** 修改管理员头像 */ export async function updateAvatar() { return createAxios({ url: '/system/uploadAvatar', method: 'post', }) } /** 获取管理员登录日志 */ export async function loginRecord() { return createAxios({ url: '/system/loginRecord', }) }