597 lines
12 KiB
TypeScript
597 lines
12 KiB
TypeScript
import { http } from "@/utils/http";
|
||
import type {
|
||
ConfigInfo,
|
||
DepartmentInfo,
|
||
DepartmentRoleInfo,
|
||
PermissionInfo,
|
||
RoleInfo,
|
||
RolePermissionInfo,
|
||
UserInfo
|
||
} from "types/system";
|
||
import { filterEmptyObject } from "./utils";
|
||
|
||
// ---------------------------部门相关-------------------------------------
|
||
|
||
/**
|
||
* 获取部门列表参数
|
||
*/
|
||
type GetDepartmentListParams = {
|
||
/**当前页 */
|
||
page: number;
|
||
/**每页数量 */
|
||
pageSize: number;
|
||
/**部门ID */
|
||
id?: string;
|
||
/**部门名称 */
|
||
name?: string;
|
||
/**附属部门ID */
|
||
parent_id?: string;
|
||
/**部门负责人 */
|
||
principal?: string;
|
||
/**部门电话 */
|
||
phone?: number | string;
|
||
/**部门邮件 */
|
||
email?: string;
|
||
/**备注 */
|
||
remark?: string;
|
||
/**排序 */
|
||
sort?: number | string;
|
||
};
|
||
/**获取部门列表 */
|
||
export const getDepartmentListAPI = (params: GetDepartmentListParams) => {
|
||
return http.request<QueryListResult<DepartmentInfo>>(
|
||
"get",
|
||
`/api/department/list`,
|
||
{
|
||
params: filterEmptyObject(params)
|
||
}
|
||
);
|
||
};
|
||
|
||
/**更新部门数据 */
|
||
export const putUpdateDepartmentAPI = (
|
||
data: AddDepartmentParams,
|
||
id: string
|
||
) => {
|
||
return http.request<null>("post", `/api/department/update/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**添加部门数据参数 */
|
||
type AddDepartmentParams = {
|
||
/**部门名称 */
|
||
name: string;
|
||
/**父部门ID */
|
||
parent_id: string;
|
||
/**排序 */
|
||
sort: number;
|
||
/**部门负责人 */
|
||
principal: string;
|
||
/**部门电话 */
|
||
phone: number | string;
|
||
/**部门邮件 */
|
||
email: string;
|
||
/**备注 */
|
||
remark: string;
|
||
/**状态 */
|
||
status: number;
|
||
};
|
||
|
||
/**添加部门数据 */
|
||
export const postAddDepartmentAPI = (data: AddDepartmentParams) => {
|
||
return http.request<null>("post", `/api/department/add`, {
|
||
data
|
||
});
|
||
};
|
||
/**删除部门及其附属部门 */
|
||
export const deleteDepartmentAPI = (id: string) => {
|
||
return http.request<null>("post", `/api/department/delete/${id}`);
|
||
};
|
||
|
||
// ----------------------------权限相关------------------------------------
|
||
|
||
/** 获取权限列表参数 */
|
||
type GetPermissionListParams = {
|
||
/** 当前页码 */
|
||
page: number;
|
||
/** 每页条数 */
|
||
pageSize: number;
|
||
/** 主键 */
|
||
id?: string;
|
||
/** 权限名称 */
|
||
name?: string;
|
||
/** 父权限ID */
|
||
parentId?: string;
|
||
/** 权限路径 */
|
||
path?: string;
|
||
/** 排序权重 */
|
||
rank?: number;
|
||
/** 菜单类型(0菜单、1iframe、2外链、3按钮) */
|
||
menuType?: number;
|
||
/** 显示菜单 */
|
||
showLink?: boolean;
|
||
/** 显示父级菜单 */
|
||
showParent?: boolean;
|
||
/** 激活路径 */
|
||
activePath?: string;
|
||
/** 组件路径 */
|
||
component?: string;
|
||
/** 重定向路径 */
|
||
redirect?: string;
|
||
/** iframe路径 */
|
||
frameSrc?: string;
|
||
/** iframe加载动画 */
|
||
frameLoading?: boolean;
|
||
/** 缓存组件 */
|
||
keepAlive?: boolean;
|
||
/** 权限标识 */
|
||
auths?: string;
|
||
/** 菜单图标 */
|
||
icon?: string;
|
||
/** 右侧图标 */
|
||
extraIcon?: string;
|
||
/** 进场动画 */
|
||
enterTransition?: string;
|
||
/** 离场动画 */
|
||
leaveTransition?: string;
|
||
/** 固定标签页 */
|
||
fixedTag?: boolean;
|
||
/** 隐藏标签页 */
|
||
hiddenTag?: boolean;
|
||
};
|
||
|
||
/**获取权限列表 */
|
||
export const getPermissionListAPI = (params: GetPermissionListParams) => {
|
||
return http.request<QueryListResult<PermissionInfo>>(
|
||
"get",
|
||
`/api/permission/list`,
|
||
{
|
||
params: filterEmptyObject(params)
|
||
}
|
||
);
|
||
};
|
||
|
||
/**添加权限参数 */
|
||
type AddPermissionParams = {
|
||
/** 路由名称 */
|
||
name: string;
|
||
/** 路由路径 */
|
||
path: string;
|
||
/** 菜单名称 */
|
||
title: string;
|
||
/** 组件路径 */
|
||
component?: string;
|
||
/** 菜单排序 */
|
||
rank: number;
|
||
/** 路由重定向 */
|
||
redirect?: string;
|
||
/** 菜单图标 */
|
||
icon?: string;
|
||
/** 右侧图标 */
|
||
extra_icon?: string;
|
||
/** 进场动画 */
|
||
enter_transition?: string;
|
||
/** 离场动画 */
|
||
leave_transition?: string;
|
||
/** 菜单激活路径 */
|
||
active_path?: string;
|
||
/** 权限标识 */
|
||
auths?: string;
|
||
/** iframe链接地址 */
|
||
frame_src?: string;
|
||
/** iframe加载动画 */
|
||
frame_loading: boolean;
|
||
/** 缓存页面 */
|
||
keep_alive: boolean;
|
||
/** 隐藏标签页 */
|
||
hidden_tag: boolean;
|
||
/** 固定标签页 */
|
||
fixed_tag: boolean;
|
||
/** 显示菜单 */
|
||
show_link: boolean;
|
||
/** 显示父级菜单 */
|
||
show_parent: boolean;
|
||
/** 父级菜单ID */
|
||
parent_id: string;
|
||
/** 菜单类型 */
|
||
menu_type: number;
|
||
};
|
||
/**
|
||
* 添加权限
|
||
* @param data 添加权限参数
|
||
* @returns
|
||
*/
|
||
export const postAddPermissionAPI = (data: AddPermissionParams) => {
|
||
return http.request<null>("post", `/api/permission/add`, {
|
||
data
|
||
});
|
||
};
|
||
/**
|
||
* 删除权限
|
||
* @param id 权限ID
|
||
* @returns
|
||
*/
|
||
export const deletePermissionAPI = (id: string) => {
|
||
return http.request<null>("post", `/api/permission/delete/${id}`);
|
||
};
|
||
|
||
/**更新权限信息 */
|
||
type UpdatePermissionParams = {} & AddPermissionParams;
|
||
/**
|
||
*
|
||
* @param id 权限ID
|
||
* @param data 更新权限信息参数
|
||
* @returns
|
||
*/
|
||
export const putUpdatePermissionAPI = (
|
||
id: string,
|
||
data: UpdatePermissionParams
|
||
) => {
|
||
return http.request<null>("post", `/api/permission/update/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 获取角色权限列表
|
||
* @param id 角色ID
|
||
* @returns
|
||
*/
|
||
export const getRolePermissionsAPI = (id: string) => {
|
||
return http.request<QueryListResult<RolePermissionInfo>>(
|
||
"get",
|
||
`/api/role/permissionList/${id}`
|
||
);
|
||
};
|
||
|
||
/**
|
||
* 更新角色权限信息
|
||
* @param id 角色ID
|
||
* @param data 角色权限列表
|
||
* @returns
|
||
*/
|
||
export const putUpdateRolePermissionsAPI = (
|
||
id: string,
|
||
data: {
|
||
permission_ids: string[];
|
||
}
|
||
) => {
|
||
return http.request<null>("put", `/api/role/updatePermission/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
// -----------------------------角色相关-----------------------------------
|
||
|
||
type GetRoleListParams = {
|
||
/**当前页 */
|
||
page: number;
|
||
/**每页数量 */
|
||
pageSize: number;
|
||
/**角色名称 */
|
||
name?: string;
|
||
/**角色标识符 */
|
||
code?: string;
|
||
/**角色描述 */
|
||
description?: string;
|
||
/**所属部门ID */
|
||
department_id?: string;
|
||
};
|
||
|
||
/**获取角色列表 */
|
||
export const getRoleListAPI = (params: GetRoleListParams) => {
|
||
return http.request<QueryListResult<RoleInfo>>("get", `/api/role/list`, {
|
||
params: filterEmptyObject(params)
|
||
});
|
||
};
|
||
|
||
/**添加角色参数 */
|
||
type AddRoleParams = {
|
||
/**角色姓名 */
|
||
name: string;
|
||
/**角色标识 */
|
||
code: string;
|
||
/**角色描述 */
|
||
description: string;
|
||
/**所属部门ID */
|
||
department_id: string;
|
||
/**状态 */
|
||
status: number | string;
|
||
};
|
||
|
||
/**更新角色数据 */
|
||
export const putUpdateRoleAPI = (data: AddRoleParams, id: string) => {
|
||
return http.request<null>("post", `/api/role/update/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**添加角色数据 */
|
||
export const postAddRoleAPI = (data: AddRoleParams) => {
|
||
return http.request<null>("post", `/api/role/add`, {
|
||
data
|
||
});
|
||
};
|
||
/**删除角色 */
|
||
export const deleteRoleAPI = (id: string) => {
|
||
return http.request<null>("post", `/api/role/delete/${id}`);
|
||
};
|
||
|
||
// --------------------------用户相关--------------------------------------
|
||
|
||
/**添加用户参数 */
|
||
type AddUserParams = {
|
||
/**用户账号 */
|
||
username: string;
|
||
/**用户密码 */
|
||
password: string;
|
||
/**用户性别 */
|
||
gender: number;
|
||
/**用户头像 */
|
||
avatar: string;
|
||
/**用户邮箱 */
|
||
email: string;
|
||
/**用户姓名 */
|
||
nickname: string;
|
||
/**用户手机号 */
|
||
phone: string;
|
||
/**用户状态 */
|
||
status: number;
|
||
/**用户部门 */
|
||
department_id: string;
|
||
};
|
||
/**
|
||
* 添加用户
|
||
* @param data
|
||
* @returns
|
||
*/
|
||
export const postAddUserAPI = (data: AddUserParams) => {
|
||
return http.request<null>("post", `/api/user/add`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**获取用户列表参数 */
|
||
type GetUserListParams = {
|
||
/**当前页 */
|
||
page: number;
|
||
/**每页数量 */
|
||
pageSize: number;
|
||
/**部门ID */
|
||
department_id?: string;
|
||
/**用户账号 */
|
||
username?: string;
|
||
/**用户姓名 */
|
||
nickname?: string;
|
||
/**用户ID */
|
||
id?: string;
|
||
/**用户状态 */
|
||
status?: string;
|
||
/**用户手机号 */
|
||
phone?: string;
|
||
/**用户邮箱 */
|
||
email?: string;
|
||
/**用户性别 */
|
||
gender?: number | string;
|
||
};
|
||
|
||
/**获取用户列表 */
|
||
export const getUserListAPI = (params: GetUserListParams) => {
|
||
return http.request<QueryListResult<UserInfo>>("get", `/api/user/list`, {
|
||
params: filterEmptyObject(params)
|
||
});
|
||
};
|
||
|
||
/**更新用户参数 */
|
||
type UpdateUserParams = {
|
||
/**用户账号 */
|
||
username: string;
|
||
/**用户性别 */
|
||
gender: number;
|
||
/**用户头像 */
|
||
avatar: string;
|
||
/**用户邮箱 */
|
||
email: string;
|
||
/**用户姓名 */
|
||
nickname: string;
|
||
/**用户手机号 */
|
||
phone: string;
|
||
/**用户状态 */
|
||
status: number;
|
||
/**用户部门 */
|
||
department_id: string;
|
||
};
|
||
|
||
/**
|
||
* 更新用户信息
|
||
* @param id 角色ID
|
||
* @param data 更新角色参数
|
||
* @returns
|
||
*/
|
||
export const putUpdateUserAPI = (id: string, data: UpdateUserParams) => {
|
||
return http.request<null>("put", `/api/user/update/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 删除用户
|
||
* @param id 用户ID
|
||
* @returns
|
||
*/
|
||
export const deleteUserAPI = (id: string) => {
|
||
return http.request<null>("post", `/api/user/delete/${id}`);
|
||
};
|
||
|
||
/**
|
||
* 批量删除用户
|
||
* @param data 用户ID列表
|
||
* @returns
|
||
*/
|
||
export const deleteUserListAPI = (data: { ids: string[] }) => {
|
||
return http.request<null>("post", `/api/user/deleteUserList`, { data });
|
||
};
|
||
|
||
/**
|
||
* 更新用户密码
|
||
* @param id 用户ID
|
||
* @param data 用户新密码
|
||
* @returns
|
||
*/
|
||
export const putUpdateUserPasswordAPI = (
|
||
id: string,
|
||
data: { password: string }
|
||
) => {
|
||
return http.request<null>("post", `/api/user/updateUserPassword/${id}`, {
|
||
headers: {
|
||
"content-type": "application/x-www-form-urlencoded"
|
||
},
|
||
data
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 获取用户角色列表
|
||
* @param id 用户ID
|
||
* @returns
|
||
*/
|
||
export const getUserRolesAPI = (id: string) => {
|
||
return http.request<QueryListResult<DepartmentRoleInfo>>(
|
||
"get",
|
||
`/api/user/roleList/${id}`
|
||
);
|
||
};
|
||
|
||
type UpdateUserRoleParams = {
|
||
/**用户ID */
|
||
user_id: string;
|
||
/**角色ID */
|
||
role_ids: string[];
|
||
};
|
||
|
||
/**
|
||
* 更新用户角色信息
|
||
* @param id 用户ID
|
||
* @param data 用户角色列表
|
||
* @returns
|
||
*/
|
||
export const putUpdateUserRolesAPI = (data: UpdateUserRoleParams) => {
|
||
return http.request<null>("post", `/api/user/updateRole`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 获取用户权限列表
|
||
* @param id 用户ID
|
||
* @returns
|
||
*/
|
||
export const getUserPermissionsAPI = (id: string) => {
|
||
return http.request<string[]>("get", `/api/user/permissionList/${id}`);
|
||
};
|
||
|
||
/**用户获取部门角色列表 */
|
||
export const getUserGetDepartmentRolesAPI = (id: string) => {
|
||
return http.request<QueryListResult<DepartmentRoleInfo>>(
|
||
"get",
|
||
`/api/department/roleList/${id}`
|
||
);
|
||
};
|
||
|
||
// ---------------------------配置相关-------------------------------------
|
||
|
||
/**
|
||
* 添加配置参数
|
||
*/
|
||
interface AddConfigParams {
|
||
/**配置名称 */
|
||
name: string;
|
||
/**配置键值 */
|
||
key: string;
|
||
/**配置值 */
|
||
value: string;
|
||
/**系统配置 */
|
||
type: string;
|
||
/**备注 */
|
||
remark?: string;
|
||
}
|
||
|
||
/**
|
||
* 添加配置
|
||
* @param data
|
||
* @returns
|
||
*/
|
||
export const postAddConfigAPI = (data: AddConfigParams) => {
|
||
return http.request<null>("post", `/api/config/add`, {
|
||
data
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 删除配置
|
||
*/
|
||
export const deleteConfigAPI = (id: string) => {
|
||
return http.request<null>("post", `/api/config/delete/${id}`);
|
||
};
|
||
|
||
/**
|
||
* 批量删除配置
|
||
* @param data 配置ID列表
|
||
*/
|
||
export const deleteConfigListAPI = (data: { ids: string[] }) => {
|
||
return http.request<null>("post", `/api/config/deleteList`, { data });
|
||
};
|
||
|
||
/**
|
||
* 更新配置
|
||
*/
|
||
export const putUpdateConfigAPI = (data: AddConfigParams, id: string) => {
|
||
return http.request<null>("post", `/api/config/update/${id}`, {
|
||
data
|
||
});
|
||
};
|
||
/**
|
||
* 获取配置信息
|
||
* @param id 配置ID
|
||
*/
|
||
export const getConfigAPI = (id: string) => {
|
||
return http.request<ConfigInfo>("get", `/api/config/info/${id}`);
|
||
};
|
||
|
||
/**
|
||
* 获取配置列表参数
|
||
*/
|
||
interface GetConfigListParams {
|
||
/**
|
||
* 页码
|
||
*/
|
||
page: number;
|
||
/**
|
||
* 每页数量
|
||
*/
|
||
pageSize: number;
|
||
/**
|
||
* 配置名称
|
||
*/
|
||
name?: string;
|
||
/**
|
||
* 配置键值
|
||
*/
|
||
key?: string;
|
||
/**
|
||
* 系统配置
|
||
*/
|
||
type?: string;
|
||
}
|
||
|
||
/**
|
||
* 获取配置列表
|
||
* @param params
|
||
*/
|
||
export const getConfigListAPI = (params: GetConfigListParams) => {
|
||
return http.request<QueryListResult<ConfigInfo>>("get", `/api/config/list`, {
|
||
params: filterEmptyObject(params)
|
||
});
|
||
};
|