import request from '@/utils/request'; import type { ApiResult } from '@/api'; import type { Menu, MenuParam } from './model'; import { App } from '@/api/dashboard/appstore/model'; import { SERVER_API_URL } from '@/config/setting'; /** * 查询菜单列表 */ export async function listMenus(params: MenuParam) { const res = await request.get>( SERVER_API_URL + '/system/menu', { params } ); if (res.data.code === 0) { return res.data.data; } return Promise.reject(new Error(res.data.message)); } /** * 添加菜单 */ export async function addMenu(data: Menu) { const res = await request.post>( SERVER_API_URL + '/system/menu', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 修改菜单 */ export async function updateMenu(data: Menu) { const res = await request.put>( SERVER_API_URL + '/system/menu', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 删除菜单 */ export async function removeMenu(id?: number) { const res = await request.delete>( SERVER_API_URL + '/system/menu/' + id ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 安装应用 */ export async function installApp(data: App) { const res = await request.post>( SERVER_API_URL + '/system/menu/install', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 卸载应用 */ export async function uninstallApp(data: App) { const res = await request.post>( SERVER_API_URL + '/system/menu/uninstall', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } // 菜单克隆 export async function clone(data: Menu) { const res = await request.post>( SERVER_API_URL + '/system/menu/clone', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } /** * 制作插件 */ export async function createPlug(data: Menu) { const res = await request.post>( SERVER_API_URL + '/system/menu/plug', data ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); } // 安装插件 export async function installPlug(id?: number) { const res = await request.get>( SERVER_API_URL + '/system/menu/install/' + id ); if (res.data.code === 0) { return res.data.message; } return Promise.reject(new Error(res.data.message)); }