You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
677 B
24 lines
677 B
/**
|
|
* 与 Nuxt `runtimeConfig.public.siteUrl` 同源:环境变量 **`NUXT_PUBLIC_SITE_URL`**
|
|
*(构建/启动时注入,见 `.env.example`)。
|
|
*/
|
|
export function getSitePublicUrlFromEnv(): string {
|
|
return (process.env.NUXT_PUBLIC_SITE_URL ?? "").trim();
|
|
}
|
|
|
|
/** 用于 `mergePostMediaUrls` 的 `allowedAssetOrigins`;无效或空则返回空数组。 */
|
|
export function allowedOriginsFromSitePublicEnv(): string[] {
|
|
const raw = getSitePublicUrlFromEnv();
|
|
if (!raw) {
|
|
return [];
|
|
}
|
|
try {
|
|
const u = new URL(raw);
|
|
if (u.protocol !== "http:" && u.protocol !== "https:") {
|
|
return [];
|
|
}
|
|
return [u.origin];
|
|
} catch {
|
|
return [];
|
|
}
|
|
}
|
|
|