/** * 域名与根域配置 - 特色标识 * 更换域名(如 *.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: 站点根地址 */ import { IS_DEVELOPMENT, IS_PRODUCTION } from "../runtime-env"; /** 根域名,用于推导默认值。如 nomadro.com、hackrobot.cn */ export const ROOT_DOMAIN = process.env.ROOT_DOMAIN || process.env.NEXT_PUBLIC_ROOT_DOMAIN || "hackrobot.cn"; /** 支付 API 默认地址。运行环境由 APP_ENV / NEXT_PUBLIC_APP_ENV 显式控制 */ export const DEFAULT_PAYMENT_API_URL = IS_DEVELOPMENT ? "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 (IS_PRODUCTION && /^(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 = IS_DEVELOPMENT ? "http://localhost:3001" : `https://${ROOT_DOMAIN}`; /** MinIO 端点默认主机 */ export const DEFAULT_MINIO_HOST = "127.0.0.1"; /** MinIO 公开访问默认主机 */ export const DEFAULT_MINIO_PUBLIC_HOST = `minio.${ROOT_DOMAIN}`; /** meetup(目的地)站链接 */ export const MEETUP_URL = `https://meetup.${ROOT_DOMAIN}/`; /** vip(异度星球)站链接 */ export const VIP_URL = `https://vip.${ROOT_DOMAIN}/`;