refactor: ♻️ 重构API为静态方法实现模块化管理,并将types.ts重命名为model.ts用于存放接口模型定义

This commit is contained in:
hxr
2024-05-04 12:53:08 +08:00
parent a211053176
commit 088bc5e48f
37 changed files with 875 additions and 831 deletions

View File

@@ -1,87 +1,90 @@
import request from "@/utils/request";
import type { RouteRecordRaw } from "vue-router";
import { MenuQuery, MenuVO, MenuForm } from "./types";
import { MenuQuery, MenuVO, MenuForm, RouteVO } from "./model";
/**
* 获取路由列表
*/
export function listRoutes() {
return request<any, ResponseData<RouteRecordRaw[]>>({
url: "/api/v1/menus/routes",
method: "get",
});
class MenuAPI {
/**
* 获取路由列表
*/
static getRoutes() {
return request<any, RouteVO[]>({
url: "/api/v1/menus/routes",
method: "get",
});
}
/**
* 获取菜单树形列表
*
* @param queryParams
*/
static getList(queryParams: MenuQuery) {
return request<any, MenuVO[]>({
url: "/api/v1/menus",
method: "get",
params: queryParams,
});
}
/**
* 获取菜单下拉数据源
*/
static getOptions() {
return request<any, OptionType[]>({
url: "/api/v1/menus/options",
method: "get",
});
}
/**
* 获取菜单表单数据
*
* @param id
*/
static getFormData(id: number) {
return request<any, MenuForm>({
url: "/api/v1/menus/" + id + "/form",
method: "get",
});
}
/**
* 添加菜单
*
* @param data
*/
static add(data: MenuForm) {
return request({
url: "/api/v1/menus",
method: "post",
data: data,
});
}
/**
* 修改菜单
*
* @param id
* @param data
*/
static update(id: string, data: MenuForm) {
return request({
url: "/api/v1/menus/" + id,
method: "put",
data: data,
});
}
/**
* 删除菜单
*
* @param id 菜单ID
*/
static deleteById(id: number) {
return request({
url: "/api/v1/menus/" + id,
method: "delete",
});
}
}
/**
* 获取菜单树形列表
*
* @param queryParams
*/
export function listMenus(queryParams: MenuQuery) {
return request<any, ResponseData<MenuVO[]>>({
url: "/api/v1/menus",
method: "get",
params: queryParams,
});
}
/**
* 获取菜单下拉树形列表
*/
export function getMenuOptions() {
return request<any, ResponseData<OptionType[]>>({
url: "/api/v1/menus/options",
method: "get",
});
}
/**
* 获取菜单表单数据
*
* @param id
*/
export function getMenuForm(id: number) {
return request<any, ResponseData<MenuForm>>({
url: "/api/v1/menus/" + id + "/form",
method: "get",
});
}
/**
* 添加菜单
*
* @param data
*/
export function addMenu(data: MenuForm) {
return request({
url: "/api/v1/menus",
method: "post",
data: data,
});
}
/**
* 修改菜单
*
* @param id
* @param data
*/
export function updateMenu(id: string, data: MenuForm) {
return request({
url: "/api/v1/menus/" + id,
method: "put",
data: data,
});
}
/**
* 删除菜单
*
* @param id 菜单ID
*/
export function deleteMenu(id: number) {
return request({
url: "/api/v1/menus/" + id,
method: "delete",
});
}
export default MenuAPI;

View File

@@ -122,3 +122,60 @@ export interface MenuForm {
*/
alwaysShow?: number;
}
/**
* RouteVO
*/
export interface RouteVO {
/**
*
*/
children: RouteVO[];
/**
*
*/
component?: string;
meta?: Meta;
/**
*
*/
name?: string;
/**
*
*/
path?: string;
/**
*
*/
redirect?: string;
}
/**
* Meta
*/
export interface Meta {
/**
*
*/
alwaysShow?: boolean;
/**
* (true- false-)
*/
hidden?: boolean;
/**
* ICON
*/
icon?: string;
/**
*
*/
keepAlive?: boolean;
/**
*
*/
roles?: string[];
/**
* title
*/
title?: string;
}