menu.ts
1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import { defHttp } from '/@/utils/http/axios';
import { getMenuListResultModel } from './model/menuModel';
import { useUserStore } from '/@/store/modules/user';
import { RoleEnum } from '/@/enums/roleEnum';
enum Api {
BaseMenuUrl = '/menu',
GetMenuList = '/menu/me/menus',
SysAdminMenuList = '/admin/me/menus',
GetMenuIdsByRoleId = '/menu/get_ids/',
}
/**
* @description: Get user menu based on id
*/
export const getMenuList = (args?: number) => {
const userStore = useUserStore();
let url = Api.GetMenuList;
try {
if (userStore.getRoleList.find((v) => v == RoleEnum.SYS_ADMIN)) {
url = Api.SysAdminMenuList;
}
return defHttp.get<getMenuListResultModel>({
url,
params: {
needButton: args == 1 ? false : null,
},
});
} catch (e) {}
};
/**
* @description 获取自身的权限
* @param args
* @returns
*/
export const getMeMenuList = (args?: number) => {
try {
return defHttp.get<getMenuListResultModel>({
url: Api.GetMenuList,
params: {
needButton: args == 1 ? false : null,
},
});
} catch (e) {}
};
/**
* @description 获取超级管理员菜单
* @param args
* @returns
*/
export const getAdminMenuList = (args?: number) => {
try {
return defHttp.get<getMenuListResultModel>({
url: Api.SysAdminMenuList,
params: {
needButton: args == 1 ? false : null,
},
});
} catch (e) {}
};
export const delMenu = (menuIds: string[]) => {
const url = Api.BaseMenuUrl;
return defHttp.delete({ url: url, data: menuIds });
};
export const getMenusIdsByRoleId = (roleId: string) => {
const url = Api.GetMenuIdsByRoleId + roleId;
return defHttp.get<Array<string>>({ url });
};