- 新增角色管理相关API接口和类型定义 - 新增菜单权限管理相关API接口 - 完善用户角色分配API接口 - 优化路由处理工具函数 - 统一API响应类型定义 - 为弹框组件集成提供完整的数据支持
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { request } from '../../../http'
|
|
|
|
// 菜单信息类型
|
|
export interface MenuVo {
|
|
menuId: number
|
|
menuName: string
|
|
parentId: number
|
|
menuType: string
|
|
isSpread?: string
|
|
auth?: string // 权限标识
|
|
perms?: string // 权限标识的别名
|
|
permission?: string // 权限标识的另一个别名
|
|
}
|
|
|
|
// 菜单权限数据类型
|
|
export interface MenuPermissionData {
|
|
menuList: MenuVo[]
|
|
spreadList: number[]
|
|
}
|
|
|
|
// 菜单路由管理相关API
|
|
|
|
// 获取用户动态路由信息
|
|
export function getUserRoutes() {
|
|
return request.Get<Service.ResponseResult<AppRoute.RowRoute[]>>('/coder/sysMenu/listRouters')
|
|
}
|
|
|
|
// 查询所有正常的菜单和展开节点(角色分配菜单权限使用)
|
|
export function getMenuPermissionData() {
|
|
return request.Get<Service.ResponseResult<MenuPermissionData>>('/coder/sysMenu/listMenuNormal')
|
|
}
|
|
|
|
// 根据角色ID查询菜单权限ID列表
|
|
export function getMenuIdsByRoleId(roleId: number) {
|
|
return request.Get<Service.ResponseResult<number[]>>(`/coder/sysMenu/listMenuIdsByRoleId/${roleId}`)
|
|
}
|
|
|
|
// 保存角色和菜单权限之间的关系
|
|
export function saveRoleMenuPermission(roleId: number, menuIds: number[]) {
|
|
const menuIdsStr = menuIds.length > 0 ? menuIds.join(',') : '-1'
|
|
return request.Post<Service.ResponseResult<string>>(`/coder/sysMenu/saveRoleMenu/${roleId}/${menuIdsStr}`)
|
|
}
|
|
|
|
// 兼容性导出 - 保持原有函数名以确保向后兼容
|
|
export const fetchUserRoutes = getUserRoutes
|
|
export const fetchMenuPermissionData = getMenuPermissionData
|
|
export const fetchMenuIdsByRoleId = getMenuIdsByRoleId
|