2023-08-08 17:59:37 +08:00
|
|
|
import axios from 'axios';
|
2023-09-24 22:08:33 +08:00
|
|
|
import { TableData } from '@arco-design/web-vue/es/table/interface';
|
2023-08-08 17:59:37 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 菜单创建请求
|
|
|
|
|
*/
|
|
|
|
|
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;
|
|
|
|
|
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-08-08 17:59:37 +08:00
|
|
|
id?: number;
|
|
|
|
|
parentId?: number;
|
|
|
|
|
name?: string;
|
|
|
|
|
permission?: string;
|
|
|
|
|
type?: number;
|
|
|
|
|
sort?: number;
|
|
|
|
|
visible?: number;
|
|
|
|
|
status?: number;
|
|
|
|
|
cache?: number;
|
|
|
|
|
icon?: string;
|
|
|
|
|
path?: string;
|
|
|
|
|
component?: string;
|
|
|
|
|
children?: Array<MenuQueryResponse>;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询菜单列表
|
|
|
|
|
*/
|
|
|
|
|
export function getMenuList(request?: MenuQueryRequest) {
|
|
|
|
|
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
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 初始化缓存
|
|
|
|
|
*/
|
|
|
|
|
export function initCache() {
|
|
|
|
|
return axios.put('/infra/permission/init-cache');
|
|
|
|
|
}
|