mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-17 18:46:36 +08:00
37 lines
940 B
JavaScript
37 lines
940 B
JavaScript
import { getObjectFromSessionStorage } from '@/utils';
|
|
|
|
function findMenuItem (menuItem, menuId, path) {
|
|
if (Array.isArray(path)) path.push(menuItem);
|
|
if ((menuItem.menuId + '') === (menuId + '')) return menuItem;
|
|
|
|
let bFind = false;
|
|
let findItem = null;
|
|
if (Array.isArray(menuItem.children)) {
|
|
for (let i = 0; i < menuItem.children.length; i++) {
|
|
findItem = findMenuItem(menuItem.children[i], menuId, path);
|
|
if (findItem != null) {
|
|
bFind = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!bFind && Array.isArray(path)) path.pop();
|
|
return bFind ? findItem : null;
|
|
}
|
|
|
|
function initUserInfo (userInfo) {
|
|
if (userInfo == null) userInfo = getObjectFromSessionStorage('userInfo');
|
|
|
|
if (userInfo != null && userInfo.permCodeList != null && Array.isArray(userInfo.permCodeList)) {
|
|
userInfo.permCodeSet = new Set(userInfo.permCodeList);
|
|
}
|
|
|
|
return userInfo;
|
|
}
|
|
|
|
export {
|
|
findMenuItem,
|
|
initUserInfo
|
|
}
|