37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import request from '@/utils/request';
|
|
import type { Page } from '@/types/base/page';
|
|
import type { MenuResponse, MenuRequest, MenuQuery } from './types';
|
|
|
|
const BASE_URL = '/api/v1/menu';
|
|
|
|
// 获取菜单列表(分页)
|
|
export const getMenus = (params?: MenuQuery) =>
|
|
request.get<Page<MenuResponse>>(`${BASE_URL}/page`, {
|
|
params
|
|
});
|
|
|
|
// 获取菜单树
|
|
export const getMenuTree = () =>
|
|
request.get<MenuResponse[]>(`${BASE_URL}/tree`);
|
|
|
|
// 获取当前用户菜单
|
|
export const getCurrentUserMenus = () =>
|
|
request.get<MenuResponse[]>(`${BASE_URL}/current`);
|
|
|
|
// 创建菜单
|
|
export const createMenu = (data: MenuRequest) =>
|
|
request.post<MenuResponse>(BASE_URL, data, {
|
|
successMessage: '创建菜单成功'
|
|
});
|
|
|
|
// 更新菜单
|
|
export const updateMenu = (id: number, data: MenuRequest) =>
|
|
request.put<MenuResponse>(`${BASE_URL}/${id}`, data, {
|
|
successMessage: '更新菜单成功'
|
|
});
|
|
|
|
// 删除菜单
|
|
export const deleteMenu = (id: number) =>
|
|
request.delete(`${BASE_URL}/${id}`, {
|
|
successMessage: '删除菜单成功'
|
|
});
|