2023-10-25 10:26:14 +08:00
|
|
|
import type { TableData } from '@arco-design/web-vue/es/table/interface';
|
2023-08-08 17:59:37 +08:00
|
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 菜单创建请求
|
|
|
|
|
*/
|
|
|
|
|
export interface MenuCreateRequest {
|
|
|
|
|
parentId?: number;
|
|
|
|
|
name?: string;
|
|
|
|
|
permission?: string;
|
|
|
|
|
type?: number;
|
|
|
|
|
sort?: number;
|
2023-08-09 15:45:33 +08:00
|
|
|
visible?: number;
|
2023-08-08 17:59:37 +08:00
|
|
|
cache?: number;
|
2023-12-05 14:44:46 +08:00
|
|
|
newWindow?: number;
|
2023-08-08 17:59:37 +08:00
|
|
|
icon?: string;
|
|
|
|
|
path?: string;
|
|
|
|
|
component?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 菜单更新请求
|
|
|
|
|
*/
|
|
|
|
|
export interface MenuUpdateRequest extends MenuCreateRequest {
|
2023-09-25 14:36:13 +08:00
|
|
|
id?: number;
|
2023-08-09 15:45:33 +08:00
|
|
|
status?: number;
|
2023-08-08 17:59:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 菜单查询请求
|
|
|
|
|
*/
|
|
|
|
|
export interface MenuQueryRequest {
|
|
|
|
|
name?: string;
|
|
|
|
|
status?: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 菜单查询响应
|
|
|
|
|
*/
|
2023-09-24 22:08:33 +08:00
|
|
|
export interface MenuQueryResponse extends TableData {
|
2023-11-01 18:57:53 +08:00
|
|
|
id: number;
|
|
|
|
|
parentId: number;
|
|
|
|
|
name: string;
|
|
|
|
|
permission: string;
|
|
|
|
|
type: number;
|
|
|
|
|
sort: number;
|
|
|
|
|
visible: number;
|
|
|
|
|
status: number;
|
|
|
|
|
cache: number;
|
2023-12-05 14:44:46 +08:00
|
|
|
newWindow: number,
|
2023-11-01 18:57:53 +08:00
|
|
|
icon: string;
|
|
|
|
|
path: string;
|
|
|
|
|
component: string;
|
|
|
|
|
children: Array<MenuQueryResponse>;
|
2023-08-08 17:59:37 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询菜单列表
|
|
|
|
|
*/
|
2023-11-01 18:57:53 +08:00
|
|
|
export function getMenuList(request: MenuQueryRequest) {
|
2023-08-08 17:59:37 +08:00
|
|
|
return axios.post<MenuQueryResponse[]>('/infra/system-menu/list', request);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 创建菜单
|
|
|
|
|
*/
|
|
|
|
|
export function createMenu(request: MenuCreateRequest) {
|
|
|
|
|
return axios.post('/infra/system-menu/create', request);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改菜单
|
|
|
|
|
*/
|
|
|
|
|
export function updateMenu(request: MenuUpdateRequest) {
|
|
|
|
|
return axios.put<MenuQueryResponse[]>('/infra/system-menu/update', request);
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-09 15:45:33 +08:00
|
|
|
/**
|
|
|
|
|
* 修改菜单状态
|
|
|
|
|
*/
|
|
|
|
|
export function updateMenuStatus(request: MenuUpdateRequest) {
|
|
|
|
|
return axios.put<MenuQueryResponse[]>('/infra/system-menu/update-status', request);
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-08 17:59:37 +08:00
|
|
|
/**
|
|
|
|
|
* 删除菜单
|
|
|
|
|
*/
|
|
|
|
|
export function deleteMenu(id: number) {
|
|
|
|
|
return axios.delete<MenuQueryResponse[]>('/infra/system-menu/delete', { params: { id } });
|
|
|
|
|
}
|
2023-08-16 10:38:56 +08:00
|
|
|
|
|
|
|
|
/**
|
2023-10-27 19:15:13 +08:00
|
|
|
* 刷新缓存
|
2023-08-16 10:38:56 +08:00
|
|
|
*/
|
2023-10-27 19:15:13 +08:00
|
|
|
export function refreshCache() {
|
|
|
|
|
return axios.put('/infra/permission/refresh-cache');
|
2023-08-16 10:38:56 +08:00
|
|
|
}
|