@choerodon/master
Version:
A package of Master for Choerodon platform.
45 lines (37 loc) • 1.53 kB
JavaScript
import { getAccessToken } from "../../../utils";
import MenuStore from "../../../containers/stores/c7n/MenuStore";
import cursiveSetCorrectId from "../utils/cursiveSetCorrectedId";
export default function addCustomHeader(config) {
var newConfig = config;
var str = window.location.hash.split('?')[1];
var urlSearchParam = new URLSearchParams(str);
var type = urlSearchParam.get('type');
var orgId = urlSearchParam.get('organizationId');
var id = !type || type === 'site' ? 0 : orgId || 0;
newConfig.headers['Content-Type'] = 'application/json';
newConfig.headers.Accept = 'application/json';
newConfig.headers['H-Tenant-Id'] = id;
var correctId = 0;
var flag = 0;
if (MenuStore.activeMenu) {
var _localStorage$getItem;
var data;
var level = MenuStore.activeMenu.level;
var menuGroup = JSON.parse((_localStorage$getItem = localStorage.getItem('menuGroup')) !== null && _localStorage$getItem !== void 0 ? _localStorage$getItem : '');
if (['site', 'users'].includes(level)) {
data = menuGroup[level];
} else {
var _urlSearchParam$get;
data = menuGroup[level][(_urlSearchParam$get = urlSearchParam.get('id')) !== null && _urlSearchParam$get !== void 0 ? _urlSearchParam$get : ''];
}
if (data) {
correctId = cursiveSetCorrectId(data, correctId, flag);
}
}
newConfig.headers['H-Menu-Id'] = correctId || 0;
var accessToken = getAccessToken();
if (accessToken) {
newConfig.headers.Authorization = accessToken;
}
return newConfig;
}