safety-eval-service-frontend/src/api/enterpriseInfo/orgContext.js

49 lines
1.3 KiB
JavaScript
Raw Normal View History

2026-06-25 16:30:37 +08:00
/** 当前登录用户关联的机构 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;
}