refactor: 多租户适配调整

This commit is contained in:
Ray.Hao
2025-12-11 21:19:02 +08:00
parent 9176298b44
commit 888e17e405
12 changed files with 260 additions and 74 deletions

View File

@@ -34,6 +34,7 @@ httpRequest.interceptors.request.use(
}
// 添加租户ID到请求头如果存在
// 注意只有在登录成功后tenantStore 才会初始化,所以这里需要 try-catch
try {
const tenantStore = useTenantStoreHook();
const tenantId = tenantStore.currentTenantId;
@@ -41,8 +42,8 @@ httpRequest.interceptors.request.use(
config.headers["tenant-id"] = String(tenantId);
}
} catch (error) {
// 如果租户 store 未初始化,忽略错误
console.debug("Tenant store not available:", error);
// 如果租户 store 未初始化(如登录前),忽略错误
// 这是正常的,因为多租户功能是可选的,未启用时不会初始化 tenantStore
}
return config;
@@ -70,6 +71,15 @@ httpRequest.interceptors.response.use(
return data;
}
// 特殊处理:需要选择租户(不显示错误提示,返回特殊对象供业务层处理)
if (code === ApiCodeEnum.CHOOSE_TENANT) {
return Promise.reject({
code: ApiCodeEnum.CHOOSE_TENANT,
data,
msg,
});
}
// 业务错误
ElMessage.error(msg || "系统出错");
return Promise.reject(new Error(msg || "Business Error"));