40 lines
846 B
TypeScript
40 lines
846 B
TypeScript
|
import axios from 'axios';
|
||
|
|
||
|
export interface MenuRecord {
|
||
|
id?: number;
|
||
|
pid?: number;
|
||
|
name: string;
|
||
|
path: string;
|
||
|
meta: {
|
||
|
locale: string;
|
||
|
title?: string;
|
||
|
icon: string;
|
||
|
requiresAuth: boolean;
|
||
|
hideInMenu: boolean;
|
||
|
order: number;
|
||
|
permissions: string[];
|
||
|
showInMenu: boolean;
|
||
|
menuOrder: number;
|
||
|
};
|
||
|
children?: MenuRecord[] ;
|
||
|
};
|
||
|
|
||
|
export interface MenuCreateRecord extends MenuRecord{
|
||
|
type: string;
|
||
|
}
|
||
|
|
||
|
export const queryMenuList = () => {
|
||
|
return axios.get('/api/rest/menu');
|
||
|
};
|
||
|
|
||
|
export const createMenu = (data: MenuCreateRecord) => {
|
||
|
return axios.post('/api/rest/menu', data);
|
||
|
};
|
||
|
|
||
|
export const updateMenu = (data: MenuCreateRecord) => {
|
||
|
return axios.put(`/api/rest/menu/${data.id}`, data);
|
||
|
};
|
||
|
|
||
|
export const removeMenu = (id: string | number) => {
|
||
|
return axios.delete(`/api/rest/menu/${id}`);
|
||
|
};
|