refactor: 系统管理接口和页面重构

Former-commit-id: d16371370c6bf6928bcf0883e1511a1a91ea388d
This commit is contained in:
haoxr
2023-03-11 21:21:54 +08:00
parent 314789ad09
commit 00082202dd
22 changed files with 1664 additions and 1549 deletions

View File

@@ -1,6 +1,6 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { MenuQuery, Menu, Resource, MenuForm } from './types';
import { MenuQuery, MenuVO, MenuForm } from './types';
/**
* 获取路由列表
@@ -13,11 +13,11 @@ export function listRoutes() {
}
/**
* 获取菜单表格列表
* 获取菜单树形列表
*
* @param queryParams
*/
export function listMenus(queryParams: MenuQuery): AxiosPromise<Menu[]> {
export function listMenus(queryParams: MenuQuery): AxiosPromise<MenuVO[]> {
return request({
url: '/api/v1/menus',
method: 'get',
@@ -36,22 +36,13 @@ export function listMenuOptions(): AxiosPromise<OptionType[]> {
}
/**
* 获取资源(菜单+权限)树形列表
*/
export function listResources(): AxiosPromise<Resource[]> {
return request({
url: '/api/v1/menus/resources',
method: 'get'
});
}
/**
* 获取菜单详情
* 获取菜单表单数据
*
* @param id
*/
export function getMenuDetail(id: string): AxiosPromise<MenuForm> {
export function getMenuForm(id: number): AxiosPromise<MenuForm> {
return request({
url: '/api/v1/menus/' + id,
url: '/api/v1/menus/' + id + '/form',
method: 'get'
});
}
@@ -84,13 +75,13 @@ export function updateMenu(id: string, data: MenuForm) {
}
/**
* 批量删除菜单
* 删除菜单
*
* @param ids 菜单ID,多个以英文逗号(,)分割
* @param id 菜单ID
*/
export function deleteMenus(ids: string) {
export function deleteMenu(id: number) {
return request({
url: '/api/v1/menus/' + ids,
url: '/api/v1/menus/' + id,
method: 'delete'
});
}

View File

@@ -1,30 +1,72 @@
import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
/**
* 菜单查询参数类型声明
* 菜单查询参数类型
*/
export interface MenuQuery {
keywords?: string;
}
/**
* 菜单分页列表项声明
* 菜单视图对象类型
*/
export interface Menu {
export interface MenuVO {
/**
* 子菜单
*/
children?: MenuVO[];
/**
* 组件路径
*/
component?: string;
/**
* ICON
*/
icon?: string;
/**
* 菜单ID
*/
id?: number;
parentId: number;
type?: string | 'CATEGORY' | 'MENU' | 'EXTLINK';
createTime: string;
updateTime: string;
name: string;
icon: string;
component: string;
sort: number;
visible: number;
children: Menu[];
/**
* 菜单名称
*/
name?: string;
/**
* 父菜单ID
*/
parentId?: number;
/**
* 按钮权限标识
*/
perm?: string;
/**
* 跳转路径
*/
redirect?: string;
/**
* 路由名称
*/
routeName?: string;
/**
* 路由相对路径
*/
routePath?: string;
/**
* 菜单排序(数字越小排名越靠前)
*/
sort?: number;
/**
* 菜单类型
*/
type?: MenuTypeEnum;
/**
* 菜单是否可见(1:显示;0:隐藏)
*/
visible?: number;
}
/**
* 菜单表单类型声明
* 菜单表单对象类型
*/
export interface MenuForm {
/**
@@ -34,11 +76,11 @@ export interface MenuForm {
/**
* 父菜单ID
*/
parentId: string;
parentId?: number;
/**
* 菜单名称
*/
name: string;
name?: string;
/**
* 菜单是否可见(1:是;0:否;)
*/
@@ -55,7 +97,7 @@ export interface MenuForm {
/**
* 路由路径
*/
path: string;
path?: string;
/**
* 跳转路由路径
*/
@@ -64,42 +106,10 @@ export interface MenuForm {
/**
* 菜单类型
*/
type: string;
type: MenuTypeEnum;
/**
* 权限标识
*/
perm?: string;
}
/**
* 资源(菜单+权限)类型
*/
export interface Resource {
/**
* 菜单值
*/
value: string;
/**
* 菜单文本
*/
label: string;
/**
* 子菜单
*/
children: Resource[];
}
/**
* 权限类型
*/
export interface Permission {
/**
* 权限值
*/
value: string;
/**
* 权限文本
*/
label: string;
}