菜单绑定
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
import { api } from '@/apis/index';
|
||||
import type { SysMenu, MenuTreeNode } from '@/types';
|
||||
import type { SysMenu, MenuTreeNode, SysPermission } from '@/types';
|
||||
|
||||
/**
|
||||
* 菜单API服务
|
||||
@@ -16,7 +16,7 @@ export const menuApi = {
|
||||
* @returns Promise<MenuTreeNode[]>
|
||||
*/
|
||||
async getCurrentUserMenuTree(): Promise<MenuTreeNode[]> {
|
||||
const response = await api.get<SysMenu>('/menu/user-tree');
|
||||
const response = await api.get<SysMenu>('/menus/user-tree');
|
||||
return response.data.dataList! as MenuTreeNode[];
|
||||
},
|
||||
|
||||
@@ -24,8 +24,18 @@ export const menuApi = {
|
||||
* 获取所有菜单列表
|
||||
* @returns Promise<SysMenu[]>
|
||||
*/
|
||||
async getMenuList(): Promise<SysMenu[]> {
|
||||
const response = await api.get<SysMenu>('/menu/list');
|
||||
async getAllMenuList(): Promise<SysMenu[]> {
|
||||
const response = await api.post<SysMenu>('/menus/all');
|
||||
return response.data.dataList!;
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取菜单列表
|
||||
* @param filter 过滤条件
|
||||
* @returns Promise<SysMenu[]>
|
||||
*/
|
||||
async getMenuList(filter: SysMenu): Promise<SysMenu[]> {
|
||||
const response = await api.post<SysMenu>('/menus/list', filter);
|
||||
return response.data.dataList!;
|
||||
},
|
||||
|
||||
@@ -34,17 +44,17 @@ export const menuApi = {
|
||||
* @returns Promise<MenuTreeNode[]>
|
||||
*/
|
||||
async getMenuTree(): Promise<MenuTreeNode[]> {
|
||||
const response = await api.get<SysMenu>('/menu/tree');
|
||||
const response = await api.get<SysMenu>('/menus/tree');
|
||||
return response.data.dataList! as MenuTreeNode[];
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据ID获取菜单
|
||||
* @param menuId 菜单ID
|
||||
* @param menuID 菜单ID
|
||||
* @returns Promise<SysMenu>
|
||||
*/
|
||||
async getMenuById(menuId: string): Promise<SysMenu> {
|
||||
const response = await api.get<SysMenu>(`/menu/${menuId}`);
|
||||
async getMenuById(menuID: string): Promise<SysMenu> {
|
||||
const response = await api.get<SysMenu>(`/menus`, { menuID });
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
@@ -60,32 +70,42 @@ export const menuApi = {
|
||||
|
||||
/**
|
||||
* 更新菜单
|
||||
* @param menuId 菜单ID
|
||||
* @param menuID 菜单ID
|
||||
* @param menu 菜单信息
|
||||
* @returns Promise<boolean>
|
||||
*/
|
||||
async updateMenu(menuId: string, menu: SysMenu): Promise<boolean> {
|
||||
const response = await api.put<boolean>(`/menu/${menuId}`, menu);
|
||||
async updateMenu(menu: SysMenu): Promise<boolean> {
|
||||
const response = await api.put<boolean>(`/menus`, menu);
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param menuId 菜单ID
|
||||
* @param menuID 菜单ID
|
||||
* @returns Promise<boolean>
|
||||
*/
|
||||
async deleteMenu(menuId: string): Promise<boolean> {
|
||||
const response = await api.delete<boolean>(`/menu/${menuId}`);
|
||||
async deleteMenu(menuID: string): Promise<boolean> {
|
||||
const response = await api.delete<boolean>(`/menus`, { menuID });
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取子菜单列表
|
||||
* @param parentId 父菜单ID
|
||||
* @param parentID 父菜单ID
|
||||
* @returns Promise<SysMenu[]>
|
||||
*/
|
||||
async getChildMenus(parentId: string): Promise<SysMenu[]> {
|
||||
const response = await api.get<SysMenu>(`/menu/children/${parentId}`);
|
||||
async getChildMenus(parentID: string): Promise<SysMenu[]> {
|
||||
const response = await api.get<SysMenu>(`/menus/children`, { parentID });
|
||||
return response.data.dataList!;
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取菜单权限
|
||||
* @param menuID 菜单ID
|
||||
* @returns Promise<SysPermission[]>
|
||||
*/
|
||||
async getMenuPermission(menuID: string): Promise<SysPermission[]> {
|
||||
const response = await api.post<SysPermission>(`/menus/permission`, { menuID });
|
||||
return response.data.dataList!;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -62,5 +62,60 @@ export const permissionApi = {
|
||||
async getPermissionList(permission: SysPermission|null=null): Promise<SysPermission[]> {
|
||||
const response = await api.post<SysPermission>('/permissions/list', permission);
|
||||
return response.data.dataList!;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 获取权限绑定菜单
|
||||
* @param permission 权限
|
||||
* @author yslg
|
||||
* @ since 2025-10-08
|
||||
*/
|
||||
async getPermissionBindingList(permission: SysPermission): Promise<SysPermission> {
|
||||
const response = await api.post<SysPermission>('/permissions/list/binding', permission);
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 绑定权限菜单
|
||||
* @param permission 权限
|
||||
* @author yslg
|
||||
* @ since 2025-10-08
|
||||
*/
|
||||
async bindMenu(permission: SysPermission): Promise<SysPermission> {
|
||||
const response = await api.post<SysPermission>('/permissions/bind/menu', permission);
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 绑定权限角色
|
||||
* @param permission 权限
|
||||
* @author yslg
|
||||
* @ since 2025-10-08
|
||||
*/
|
||||
async bindRole(permission: SysPermission): Promise<SysPermission> {
|
||||
const response = await api.post<SysPermission>('/permissions/bind/role', permission);
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 解绑权限菜单
|
||||
* @param permission 权限
|
||||
* @author yslg
|
||||
* @ since 2025-10-08
|
||||
*/
|
||||
async unbindMenu(permission: SysPermission): Promise<SysPermission> {
|
||||
const response = await api.post<SysPermission>('/permissions/unbind/menu', permission);
|
||||
return response.data.data!;
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 解绑权限角色
|
||||
* @param permission 权限
|
||||
* @author yslg
|
||||
* @ since 2025-10-08
|
||||
*/
|
||||
async unbindRole(permission: SysPermission): Promise<SysPermission> {
|
||||
const response = await api.post<SysPermission>('/permissions/unbind/role', permission);
|
||||
return response.data.data!;
|
||||
}
|
||||
}
|
||||
16
schoolNewsWeb/src/apis/system/role.ts
Normal file
16
schoolNewsWeb/src/apis/system/role.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { api } from '@/apis/index';
|
||||
import type { SysRole } from '@/types';
|
||||
|
||||
/**
|
||||
* 菜单API服务
|
||||
*/
|
||||
export const roleApi = {
|
||||
/**
|
||||
* 获取所有角色列表
|
||||
* @returns Promise<SysRole[]>
|
||||
*/
|
||||
async getRoleList(): Promise<SysRole[]> {
|
||||
const response = await api.post<SysRole>('/roles/all');
|
||||
return response.data.dataList!;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user