| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /** 小程序直连 API(体验版/开发版统一;有正式 HTTPS 域名后再改 env) */
- // const MP_API = 'http://192.168.1.6:8081/api/v1/mp'
- const MP_API = 'https://img.ifarmcloud.com/deploymentApi/api/v1/mp'
- // const MP_API = 'http://115.238.57.190:5200/api/v1/mp'
- /** H5 开发走 devServer 代理,避免浏览器跨域 */
- const H5_DEV_PROXY_API = '/api/v1/mp'
- function resolveBaseApi() {
- // H5 开发:请求 /api/... 由 vue.config.js / manifest h5.devServer 转发
- if (process.env.UNI_PLATFORM === 'h5' && process.env.NODE_ENV !== 'production') {
- return H5_DEV_PROXY_API
- }
- return process.env.VUE_APP_BASE_API || MP_API
- }
- /** API 基础路径 */
- export const BASE_API = resolveBaseApi()
- /**
- * 公开 API 前缀:/api/v1/mp → /api/v1/public
- * 公开草稿详情等不走 JWT,也不能拼在 mp 前缀下。
- */
- export const PUBLIC_BASE_API = (() => {
- const base = (BASE_API || '').replace(/\/$/, '')
- if (!base) return ''
- if (/\/mp$/i.test(base)) return base.replace(/\/mp$/i, '/public')
- return `${base}/public`
- })()
- /**
- * 将后端返回的相对资源路径(如登记二维码)拼成可访问 URL。
- * BASE_API=https://host/deploymentApi/api/v1/mp
- * → 相对路径 /api/v1/public/... 拼成 https://host/deploymentApi/api/v1/public/...
- */
- export function resolveApiAssetUrl(path) {
- if (!path) return ''
- const raw = String(path).trim()
- if (!raw) return ''
- if (/^https?:\/\//i.test(raw)) return raw
- const normalized = raw.startsWith('/') ? raw : `/${raw}`
- const base = (BASE_API || '').replace(/\/$/, '')
- const originMatch = base.match(/^(https?:\/\/[^/]+)(\/.*)?$/i)
- if (!originMatch) {
- // H5 代理模式:BASE_API 为 /api/v1/mp,同源相对路径直接可用
- return normalized
- }
- const origin = originMatch[1]
- // 保留 /api 前的网关前缀(如 /deploymentApi)
- const pathPart = originMatch[2] || ''
- const apiIdx = pathPart.toLowerCase().indexOf('/api/')
- const gatewayPrefix = apiIdx >= 0 ? pathPart.slice(0, apiIdx) : ''
- if (gatewayPrefix && normalized.toLowerCase().indexOf(gatewayPrefix.toLowerCase()) === 0) {
- return `${origin}${normalized}`
- }
- return `${origin}${gatewayPrefix}${normalized}`
- }
- /** 本地存储 Token 键名 */
- export const TOKEN_KEY = 'fe_token'
- /** 后端统一响应成功码 */
- export const SUCCESS_CODE = 200
- /** 智能体 ID,对应请求头 X-Agent-Id */
- export const AI_AGENT_ID = process.env.VUE_APP_AI_AGENT_ID || 'default'
|