2025-01-11 17:33:44 +08:00
|
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
export interface MenuRecord {
|
|
|
|
id?: number;
|
|
|
|
pid?: number;
|
|
|
|
name: string;
|
2025-01-15 20:54:47 +08:00
|
|
|
path?: string;
|
2025-01-11 17:33:44 +08:00
|
|
|
meta: {
|
|
|
|
locale: string;
|
|
|
|
title?: string;
|
2025-01-15 20:54:47 +08:00
|
|
|
icon?: string;
|
2025-01-11 17:33:44 +08:00
|
|
|
requiresAuth: boolean;
|
|
|
|
hideInMenu: boolean;
|
|
|
|
order: number;
|
|
|
|
permissions: string[];
|
2025-01-15 20:54:47 +08:00
|
|
|
showInMenu?: boolean;
|
2025-01-16 21:26:50 +08:00
|
|
|
menuOrder?: number;
|
2025-01-11 17:33:44 +08:00
|
|
|
};
|
|
|
|
children?: MenuRecord[] ;
|
|
|
|
};
|
|
|
|
|
|
|
|
export interface MenuCreateRecord extends MenuRecord{
|
|
|
|
type: string;
|
|
|
|
}
|
2025-01-16 21:26:50 +08:00
|
|
|
export interface MenuUpdateRecord {
|
|
|
|
pid?: number;
|
|
|
|
name: string;
|
|
|
|
path: string;
|
|
|
|
locale?: string;
|
|
|
|
icon?: string;
|
|
|
|
createTime?: string;
|
|
|
|
createBy?: string;
|
|
|
|
type: string;
|
|
|
|
requiresAuth?: boolean;
|
|
|
|
hideInMenu?: boolean;
|
|
|
|
menuOrder?: number;
|
|
|
|
permissions: string;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 获取详情
|
|
|
|
export const queryMenuDetail = (id: string | number) => {
|
|
|
|
return axios.get(`/api/rest/menu/${id}`);
|
|
|
|
};
|
|
|
|
|
2025-01-11 17:33:44 +08:00
|
|
|
|
2025-01-13 20:30:03 +08:00
|
|
|
export const queryMenuList = (data: string) => {
|
|
|
|
return axios({
|
|
|
|
url: '/api/rest/menu/tree',
|
|
|
|
method: 'get',
|
|
|
|
params: {
|
|
|
|
name: data,
|
|
|
|
},
|
|
|
|
});
|
2025-01-11 17:33:44 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
export const createMenu = (data: MenuCreateRecord) => {
|
|
|
|
return axios.post('/api/rest/menu', data);
|
|
|
|
};
|
|
|
|
|
|
|
|
export const updateMenu = (data: MenuCreateRecord) => {
|
2025-01-15 20:54:47 +08:00
|
|
|
return axios.patch(`/api/rest/menu/${data.id}`, data);
|
2025-01-11 17:33:44 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
export const removeMenu = (id: string | number) => {
|
|
|
|
return axios.delete(`/api/rest/menu/${id}`);
|
|
|
|
};
|