Files
ruoyi-plus-vben5/apps/web-antd/src/api/system/menu/index.ts
dap 3582807910 refactor: 迁移requestClient到alovaInstance并移除旧版上传组件
重构项目中所有使用requestClient的API调用,替换为alovaInstance
移除已废弃的旧版上传组件及相关代码
调整上传组件类型定义以适配antdv-next更新
优化上传逻辑,移除不必要的进度事件和取消信号
更新类型定义文件,迁移axios配置到alova类型
2026-01-19 21:58:07 +08:00

93 lines
2.0 KiB
TypeScript

import type { Menu, MenuOption, MenuQuery, MenuResp } from './model';
import type { ID, IDS } from '#/api/common';
import { alovaInstance } from '#/utils/http';
enum Api {
menuList = '/system/menu/list',
menuTreeSelect = '/system/menu/treeselect',
roleMenuTree = '/system/menu/roleMenuTreeselect',
root = '/system/menu',
tenantPackageMenuTreeselect = '/system/menu/tenantPackageMenuTreeselect',
}
/**
* 菜单列表
* @param params 参数
* @returns 列表
*/
export function menuList(params?: MenuQuery) {
return alovaInstance.get<Menu[]>(Api.menuList, { params });
}
/**
* 菜单详情
* @param menuId 菜单id
* @returns 菜单详情
*/
export function menuInfo(menuId: ID) {
return alovaInstance.get<Menu>(`${Api.root}/${menuId}`);
}
/**
* 菜单新增
* @param data 参数
*/
export function menuAdd(data: Partial<Menu>) {
return alovaInstance.postWithMsg<void>(Api.root, data);
}
/**
* 菜单更新
* @param data 参数
*/
export function menuUpdate(data: Partial<Menu>) {
return alovaInstance.putWithMsg<void>(Api.root, data);
}
/**
* 菜单删除
* @param menuIds ids
*/
export function menuRemove(menuIds: IDS) {
return alovaInstance.deleteWithMsg<void>(`${Api.root}/${menuIds}`);
}
/**
* 返回对应角色的菜单
* @param roleId id
* @returns resp
*/
export function roleMenuTreeSelect(roleId: ID) {
return alovaInstance.get<MenuResp>(`${Api.roleMenuTree}/${roleId}`);
}
/**
* 下拉框使用 返回所有的菜单
* @returns []
*/
export function menuTreeSelect() {
return alovaInstance.get<MenuOption[]>(Api.menuTreeSelect);
}
/**
* 租户套餐使用
* @param packageId packageId
* @returns resp
*/
export function tenantPackageMenuTreeSelect(packageId: ID) {
return alovaInstance.get<MenuResp>(
`${Api.tenantPackageMenuTreeselect}/${packageId}`,
);
}
/**
* 批量删除菜单
* @param menuIds 菜单ids
* @returns void
*/
export function menuCascadeRemove(menuIds: IDS) {
return alovaInstance.deleteWithMsg<void>(`${Api.root}/cascade/${menuIds}`);
}