fix(tenant-service): config.xuqm serverUrl 使用独立的平台 URL 属性

新增 sdk.platform-public-base-url 属性(默认回退到 license.public-base-url)。
公有环境中 license 服务(auth.dev.xuqinmin.com)与平台 API(dev.xuqinmin.com)是
不同的域,用 licensePublicBaseUrl 作 serverUrl 会导致 SDK 无法拉取平台配置。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-17 16:59:39 +08:00
父节点 60b5776f9b
当前提交 c9ce748c51

查看文件

@ -36,6 +36,10 @@ public class AppService {
@Value("${license.public-base-url:https://auth.dev.xuqinmin.com/}") @Value("${license.public-base-url:https://auth.dev.xuqinmin.com/}")
private String licensePublicBaseUrl; private String licensePublicBaseUrl;
/** SDK 平台 API 公开地址,SDK 用此地址拉取 /api/sdk/config。私有化部署时与 licensePublicBaseUrl 相同,公有环境需单独配置。 */
@Value("${sdk.platform-public-base-url:${license.public-base-url:https://auth.dev.xuqinmin.com/}}")
private String sdkPlatformPublicBaseUrl;
public AppService(AppRepository appRepository, public AppService(AppRepository appRepository,
OperationLogService operationLogService, OperationLogService operationLogService,
FeatureServiceRepository featureServiceRepository, FeatureServiceRepository featureServiceRepository,
@ -190,7 +194,7 @@ public class AppService {
if (app.getHarmonyBundleName() != null && !app.getHarmonyBundleName().isBlank()) { if (app.getHarmonyBundleName() != null && !app.getHarmonyBundleName().isBlank()) {
payload.put("harmonyBundleName", app.getHarmonyBundleName()); payload.put("harmonyBundleName", app.getHarmonyBundleName());
} }
payload.put("serverUrl", normalizeBaseUrl(licensePublicBaseUrl)); payload.put("serverUrl", normalizeBaseUrl(sdkPlatformPublicBaseUrl));
payload.put("issuedAt", java.time.Instant.now().toString()); payload.put("issuedAt", java.time.Instant.now().toString());
try { try {
return ConfigFileCrypto.encrypt(MAPPER.valueToTree(payload).toString()); return ConfigFileCrypto.encrypt(MAPPER.valueToTree(payload).toString());