/** 开发环境远程 API（微信小程序 / App 等直连） */
const DEV_REMOTE_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 ||
		(process.env.NODE_ENV !== 'production' ? DEV_REMOTE_API : '')
	)
}

/** API 基础路径 */
export const BASE_API = resolveBaseApi()

/**
 * 将后端返回的相对资源路径（如登记二维码）拼成可访问 URL。
 * 与接口同主机：BASE_API=http://host:port/api/v1/mp → 资源 /api/v1/public/... → http://host:port/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) {
		return `${originMatch[1]}${normalized}`
	}
	// H5 代理模式：BASE_API 为 /api/v1/mp，同源相对路径直接可用
	return 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'
