feat: 添加权限管理

This commit is contained in:
2025-02-11 16:37:08 +08:00
parent 0cb6c80d57
commit 6de042b07e
27 changed files with 6095 additions and 94 deletions

View File

@@ -1,5 +1,5 @@
import { http } from "@/utils/http";
import type { DepartmentInfo } from "types/system";
import type { DepartmentInfo, PermissionInfo } from "types/system";
import { filterEmptyObject } from "./utils";
// ---------------------------部门相关-------------------------------------
@@ -80,3 +80,147 @@ export const postAddDepartmentAPI = (data: AddDepartmentParams) => {
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
});
};