menu.ts
968 Bytes
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/getMenuIdsByRoleId/'
}
/**
* @description: Get user menu based on id
*/
export const getMenuList = () => {
const userStore = useUserStore();
let url = Api.GetMenuList;
if (userStore.getRoleList.find(v => v == RoleEnum.ROLE_SYS_ADMIN)) {
url = Api.SysAdminMenuList;
}
return defHttp.get<getMenuListResultModel>({url: url});
};
export const delMenu = (menuIds: string[]) => {
let url = Api.BaseMenuUrl;
return defHttp.delete({url: url, data: menuIds})
}
export const getMenusIdsByRoleId = (roleId: string) => {
let url = Api.GetMenuIdsByRoleId + roleId;
return defHttp.get<Array<string>>({url: url});
}