fix(admin): 平台推送地址优先回显已配置的公网域名
- 引入 resolveDouyinMashidaPublicOrigin 从已配置的 claimLinkBase/certLink 提取公网域名 - 更新后台面板 message_url 展示逻辑,即使从 localhost 访问也清晰呈现已配置的公网推送地址 - 向平台订阅推送时使用已解析的公网域名,避免错误推送 localhost - 补充前端单元测试并通过全量构建校验
This commit is contained in:
@@ -47,6 +47,27 @@ export function buildDouyinMashidaMessageUrl(origin: string): string {
|
||||
return `${normalized}/api/v1/open/douyin-mashida/message`
|
||||
}
|
||||
|
||||
/**
|
||||
* 从已配置的 claimLinkBase 或 certLink 中提取公网 origin,未配置时回退到 fallbackOrigin。
|
||||
* 例:`https://nonsecretly-posttracheal-amado.ngrok-free.dev/h5` → `https://nonsecretly-posttracheal-amado.ngrok-free.dev`
|
||||
*/
|
||||
export function resolveDouyinMashidaPublicOrigin(
|
||||
claimLinkBase?: string,
|
||||
certLink?: string,
|
||||
fallbackOrigin = 'http://localhost',
|
||||
): string {
|
||||
const candidate = String(claimLinkBase || certLink || '').trim()
|
||||
if (candidate && /^https?:\/\//i.test(candidate)) {
|
||||
try {
|
||||
const url = new URL(candidate)
|
||||
return url.origin
|
||||
} catch {
|
||||
// 容错
|
||||
}
|
||||
}
|
||||
return fallbackOrigin
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回缺失项的中文名数组,顺序固定为:接入开关 / 商户uid / 用户秘钥 / 兑换链接。
|
||||
* 全齐时返回空数组。
|
||||
|
||||
Reference in New Issue
Block a user