resolveMediaUrl.ts 580 Bytes
import { buildApiUrl, getStaticMediaOrigin } from './apiBase'

/** 相对路径拼后端根(含 H5 开发时的静态资源域名);绝对 URL / data URL 原样返回 */
export function resolveMediaUrlForApp(stored: string | null | undefined): string {
  const s = (stored ?? '').trim()
  if (!s) return ''
  if (s.startsWith('data:')) return s
  if (/^https?:\/\//i.test(s)) return s
  const path = s.startsWith('/') ? s : `/${s}`
  const mediaOrigin = getStaticMediaOrigin()
  if (mediaOrigin) return `${mediaOrigin.replace(/\/$/, '')}${path}`
  return buildApiUrl(path)
}