/** * Admin API 地址:生产环境走 oms 同源 nginx 反代(相对路径),开发走 Vite 代理。 * 桌面 Agent 等需直连网关时使用 resolveDirectAdminApiUrl。 */ function normalizeBase(base: string): string { return base.trim().replace(/\/$/, '') } /** 浏览器请求 Admin API(OpenAPI.BASE 或 omsUrl/orderUrl 等) */ export function resolveAdminApiPath(path: string): string { const p = path.startsWith('/') ? path : `/${path}` const override = import.meta.env.VITE_API_ADMIN_URL as string | undefined if (!import.meta.env.DEV && override?.trim()) { return `${normalizeBase(override)}${p}` } return p } export function resolveOpenApiBase(): string { const override = import.meta.env.VITE_API_ADMIN_URL as string | undefined if (!import.meta.env.DEV && override?.trim()) { return normalizeBase(override) } return '' } /** 桌面 Agent 等直连 Admin 网关(不经 oms 页面反代) */ export function resolveDirectAdminApiUrl(): string { const override = import.meta.env.VITE_API_ADMIN_URL as string | undefined if (override?.trim()) { return normalizeBase(override) } if (import.meta.env.DEV) { return 'http://api.nanafa.com/admin' } return 'https://api.nanafa.com/admin' } /** 静态资源(uploads 等)托管在 Admin 服务 wwwroot;对外须带 PATHBASE `/admin`。 * 生产默认同源相对路径(由 nginx 反代 `/uploads` → `api.../admin/uploads`); * 开发走 Vite `/uploads` 代理。可用 `VITE_API_ASSET_ORIGIN` 覆盖(勿漏 `/admin`)。 */ export function resolveAdminAssetOrigin(): string { const override = import.meta.env.VITE_API_ASSET_ORIGIN as string | undefined if (override?.trim()) { return normalizeBase(override) } // 空串 → resolveOmsAssetUrl 保留 `/uploads/...` 相对路径 return '' }