feat: 添加角色管理

This commit is contained in:
2025-02-11 17:38:05 +08:00
parent 6de042b07e
commit 04e6c52ec3
7 changed files with 1038 additions and 3 deletions

View File

@@ -1,5 +1,10 @@
import { http } from "@/utils/http";
import type { DepartmentInfo, PermissionInfo } from "types/system";
import type {
DepartmentInfo,
PermissionInfo,
RoleInfo,
RolePermissionInfo
} from "types/system";
import { filterEmptyObject } from "./utils";
// ---------------------------部门相关-------------------------------------
@@ -31,7 +36,7 @@ type GetDepartmentListParams = {
};
/**获取部门列表 */
export const getDepartmentListAPI = (params: GetDepartmentListParams) => {
return http.request<QueryListResult<DepartmentInfo[]>>(
return http.request<QueryListResult<DepartmentInfo>>(
"get",
`/api/department/list`,
{
@@ -135,7 +140,7 @@ type GetPermissionListParams = {
/**获取权限列表 */
export const getPermissionListAPI = (params: GetPermissionListParams) => {
return http.request<QueryListResult<PermissionInfo[]>>(
return http.request<QueryListResult<PermissionInfo>>(
"get",
`/api/permission/list`,
{
@@ -224,3 +229,88 @@ export const putUpdatePermissionAPI = (
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}`);
};