refactor: API类型声明优化调整
Former-commit-id: 0ae696c2e872fa90feba0c5df9a92391c02d3e0b
This commit is contained in:
96
src/api/menu/index.ts
Normal file
96
src/api/menu/index.ts
Normal file
@@ -0,0 +1,96 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { MenuQuery, Menu, Resource, MenuForm } from './types';
|
||||
|
||||
/**
|
||||
* 获取路由列表
|
||||
*/
|
||||
export function listRoutes() {
|
||||
return request({
|
||||
url: '/api/v1/menus/routes',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单表格列表
|
||||
*
|
||||
* @param queryParams
|
||||
*/
|
||||
export function listMenus(queryParams: MenuQuery): AxiosPromise<Menu[]> {
|
||||
return request({
|
||||
url: '/api/v1/menus',
|
||||
method: 'get',
|
||||
params: queryParams
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单下拉树形列表
|
||||
*/
|
||||
export function listMenuOptions(): AxiosPromise<OptionType[]> {
|
||||
return request({
|
||||
url: '/api/v1/menus/options',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取资源(菜单+权限)树形列表
|
||||
*/
|
||||
export function listResources(): AxiosPromise<Resource[]> {
|
||||
return request({
|
||||
url: '/api/v1/menus/resources',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单详情
|
||||
* @param id
|
||||
*/
|
||||
export function getMenuDetail(id: string): AxiosPromise<MenuForm> {
|
||||
return request({
|
||||
url: '/api/v1/menus/' + id,
|
||||
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 ids 菜单ID,多个以英文逗号(,)分割
|
||||
*/
|
||||
export function deleteMenus(ids: string) {
|
||||
return request({
|
||||
url: '/api/v1/menus/' + ids,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
105
src/api/menu/types.ts
Normal file
105
src/api/menu/types.ts
Normal file
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
* 菜单查询参数类型声明
|
||||
*/
|
||||
export interface MenuQuery {
|
||||
keywords?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单分页列表项声明
|
||||
*/
|
||||
|
||||
export interface Menu {
|
||||
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[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单表单类型声明
|
||||
*/
|
||||
export interface MenuForm {
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
id?: string;
|
||||
/**
|
||||
* 父菜单ID
|
||||
*/
|
||||
parentId: string;
|
||||
/**
|
||||
* 菜单名称
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* 菜单是否可见(1:是;0:否;)
|
||||
*/
|
||||
visible: number;
|
||||
icon?: string;
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
sort: number;
|
||||
/**
|
||||
* 组件路径
|
||||
*/
|
||||
component?: string;
|
||||
/**
|
||||
* 路由路径
|
||||
*/
|
||||
path: string;
|
||||
/**
|
||||
* 跳转路由路径
|
||||
*/
|
||||
redirect?: string;
|
||||
|
||||
/**
|
||||
* 菜单类型
|
||||
*/
|
||||
type: string;
|
||||
|
||||
/**
|
||||
* 权限标识
|
||||
*/
|
||||
perm?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 资源(菜单+权限)类型
|
||||
*/
|
||||
export interface Resource {
|
||||
/**
|
||||
* 菜单值
|
||||
*/
|
||||
value: string;
|
||||
/**
|
||||
* 菜单文本
|
||||
*/
|
||||
label: string;
|
||||
/**
|
||||
* 子菜单
|
||||
*/
|
||||
children: Resource[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限类型
|
||||
*/
|
||||
export interface Permission {
|
||||
/**
|
||||
* 权限值
|
||||
*/
|
||||
value: string;
|
||||
/**
|
||||
* 权限文本
|
||||
*/
|
||||
label: string;
|
||||
}
|
||||
Reference in New Issue
Block a user