49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
/** 当前登录用户关联的机构 id,供企业信息模块接口请求头 orgInfoId 使用 */
|
||
|
||
const ORG_INFO_ID_KEY = "orgInfoId";
|
||
|
||
let memoryOrgInfoId = null;
|
||
|
||
export function getOrgInfoId() {
|
||
return memoryOrgInfoId || sessionStorage.getItem(ORG_INFO_ID_KEY) || null;
|
||
}
|
||
|
||
export function setOrgInfoId(id) {
|
||
if (id != null && id !== "") {
|
||
memoryOrgInfoId = String(id);
|
||
sessionStorage.setItem(ORG_INFO_ID_KEY, memoryOrgInfoId);
|
||
}
|
||
}
|
||
|
||
export function clearOrgInfoId() {
|
||
memoryOrgInfoId = null;
|
||
sessionStorage.removeItem(ORG_INFO_ID_KEY);
|
||
}
|
||
|
||
/** 分页/查询参数:前端缓存 orgInfoId → 后端字段 orgId */
|
||
export function withOrgId(params = {}) {
|
||
if (params.orgId != null && params.orgId !== "") {
|
||
return params;
|
||
}
|
||
const orgInfoId = getOrgInfoId();
|
||
if (orgInfoId) {
|
||
return { ...params, orgId: orgInfoId };
|
||
}
|
||
return params;
|
||
}
|
||
|
||
/** 合并业务请求头,仅通过每次请求的 headers 参数传递,不写入 jjbCommonHttpConfig */
|
||
export function buildOrgInfoHeaders(extraHeaders = {}) {
|
||
const id = extraHeaders.orgInfoId || getOrgInfoId();
|
||
if (!id) {
|
||
return extraHeaders;
|
||
}
|
||
return { ...extraHeaders, orgInfoId: String(id) };
|
||
}
|
||
|
||
// 页面刷新后从 sessionStorage 恢复
|
||
const storedOrgInfoId = sessionStorage.getItem(ORG_INFO_ID_KEY);
|
||
if (storedOrgInfoId) {
|
||
memoryOrgInfoId = storedOrgInfoId;
|
||
}
|