front/src/utils/adminApi.ts
zzh c6a4484448 feat: 查价价卡展示贸易条款与产品分组,并优化 H5/登录与顾问体验
销售产品可配置 DDP/DDU;查价返回分组与贸易条款并展示在价卡上。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:48:36 +08:00

52 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.

/**
* 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 ''
}