Files
gitlab-instance-0a899031_di…/config/domain.config.ts
2026-03-13 06:17:48 -05:00

49 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 域名与根域配置 - 特色标识
* 更换域名(如 *.hackrobot.cn -> *.nomadro.com只需设置 ROOT_DOMAIN 或各独立变量
*
* 环境变量:
* - ROOT_DOMAIN: 根域名,如 nomadro.com用于推导 Cookie、API 等默认值
* - AUTH_COOKIE_DOMAIN: Cookie 根域,如 .nomadro.com优先于 ROOT_DOMAIN
* - PAYMENT_API_URL: 支付 API 地址
* - NEXT_PUBLIC_POCKETBASE_URL: PocketBase 地址
* - NEXT_PUBLIC_SITE_URL: 站点根地址
*/
const isDev = process.env.NODE_ENV === "development";
/** 根域名,用于推导默认值。如 nomadro.com、hackrobot.cn */
export const ROOT_DOMAIN =
process.env.ROOT_DOMAIN || process.env.NEXT_PUBLIC_ROOT_DOMAIN || "hackrobot.cn";
/** 支付 API 默认地址。生产环境固定为 api.${ROOT_DOMAIN},避免 .env 中 127.0.0.1 导致支付失败 */
export const DEFAULT_PAYMENT_API_URL = isDev
? "http://127.0.0.1:8007"
: `https://api.${ROOT_DOMAIN}`;
/** 生产环境若 PAYMENT_API_URL 指向 localhost则忽略并使用 api 域名 */
export function resolvePaymentApiUrl(): string {
const url = process.env.PAYMENT_API_URL || DEFAULT_PAYMENT_API_URL;
if (!isDev && /^(https?:\/\/)?(127\.0\.0\.1|localhost)(:\d+)?(\/|$)/i.test(url)) {
return `https://api.${ROOT_DOMAIN}`;
}
return url;
}
/** PocketBase 默认地址 */
export const DEFAULT_POCKETBASE_URL = `https://pocketbase.${ROOT_DOMAIN}`;
/** 站点根地址默认值 */
export const DEFAULT_SITE_URL = isDev
? "http://localhost:3001"
: `https://${ROOT_DOMAIN}`;
/** MinIO 端点默认主机 */
export const DEFAULT_MINIO_HOST = `minioweb.${ROOT_DOMAIN}`;
/** meetup目的地站链接 */
export const MEETUP_URL = `https://meetup.${ROOT_DOMAIN}/`;
/** vip异度星球站链接 */
export const VIP_URL = `https://vip.${ROOT_DOMAIN}/`;