/** * TOS 资源 URL 拼接工具 * * 用法: * tosUrl("portraits/001.webp") * → https://cyberstar.tos-cn-shanghai.volces.com/cyber-star/portraits/001.webp * * 环境变量 NEXT_PUBLIC_TOS_DOMAIN 配置: * .env.local / .env.production → 完整的桶 + 路径前缀 (含 scheme, 不含末尾 /) * 未设置时 fallback 到相对路径 (/path/...), 适合本地用 public/ 静态文件托管的场景。 */ const TOS_BASE = (process.env.NEXT_PUBLIC_TOS_DOMAIN ?? "").replace(/\/+$/, ""); export function tosUrl(path: string): string { const clean = path.replace(/^\/+/, ""); if (!TOS_BASE) return `/${clean}`; return `${TOS_BASE}/${clean}`; }