fix h5 explicit app code header

This commit is contained in:
zhx 2026-06-25 14:18:00 +08:00
parent ffdd2bad74
commit 64d64c93da

View File

@ -252,14 +252,13 @@ var default_api = 'https://api.global-interaction.com/';
return appCode === 'yumi' || appCode === 'aslan' ? appCode : 'lalu';
}
function backendAppCode(appCode) {
appCode = String(appCode || 'lalu')
function requestAppCode() {
var queryAppCode = String(readQuery('app_code') || '')
.trim()
.toLowerCase();
// H5 的 app_code 同时承载历史品牌主题和后端租户yumi/aslan 只用于页面主题,后端当前只有 lalu/huwaa 租户。
// 请求头必须收敛到后端已注册的 app_code否则 gateway 会在 AppRegistryService.ResolveApp 阶段直接返回 INVALID_ARGUMENT。
if (appCode === 'yumi' || appCode === 'aslan') return 'lalu';
return appCode || 'lalu';
// X-App-Code 只表达本次 URL 显式指定的后端租户,不能复用 getAppCode 的内存或 localStorage 结果。
// 这样没有 app_code 参数的入口会稳定落到 lalu避免历史主题缓存把后续普通页面继续打到 yumi/aslan。
return queryAppCode || 'lalu';
}
function applyAppTheme(appCode) {
@ -453,11 +452,9 @@ var default_api = 'https://api.global-interaction.com/';
opts.headers || {}
);
var token = getAccessToken();
var appCode = getAppCode();
var requestAppCode = backendAppCode(appCode);
var url = buildURL(path, opts.query);
if (token) headers.Authorization = 'Bearer ' + token;
if (requestAppCode) headers['X-App-Code'] = requestAppCode;
headers['X-App-Code'] = requestAppCode();
if (!shouldPersist() && isSameOriginURL(url))
headers['Cache-Control'] = 'no-cache';