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

/**
* 与 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 [];
}
}