Files
school2/web/api/system/sys_user.ts
T
2026-07-13 15:23:29 +08:00

170 lines
3.2 KiB
TypeScript

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<RoleFieldType[]>({
url: '/system/user/role',
method: 'get',
});
}
/** 获取管理员角色选项栏数据 */
export async function deptField() {
return createAxios<DeptFieldType[]>({
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<LoginResponse>({
url: '/system/login',
method: 'post',
data,
});
}
/** 后台用户退出登录 */
export async function logout() {
return createAxios({
url: '/system/logout',
method: 'post',
});
}
/** 获取管理员用户信息 */
export async function info() {
return createAxios<InfoResponse>({
url: '/system/info',
method: 'get',
});
}
/** 获取管理员用户信息 */
export async function menu() {
return createAxios<MenuResponse>({
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<ISysLoginRecord[]>({
url: '/system/loginRecord',
})
}