/**
 * 图片地址处理工具
 * 将后端返回的内部文件路径转为 OSS 公开访问地址
 */

/** OSS 基础地址 */
const OSS_BASE = 'https://jsxq-service-read.oss-cn-shenzhen.aliyuncs.com/uploads/'

/** 后端返回的内部路径前缀 */
const INTERNAL_PREFIX = '/admin/sys-file/jsxq-service-read/uploads/'

/**
 * 将后端图片路径转为 OSS 公开地址
 * - 空值安全：传入 null / undefined / 空字符串 返回空字符串
 * - 如果已经是完整 http(s) 链接则直接返回，不做二次拼接
 * - 如果是内部路径则替换为 OSS 地址
 */
export function toOssUrl(path: string | null | undefined): string {
  if (!path) return ''
  // 已经是完整链接，直接返回
  if (path.startsWith('http://') || path.startsWith('https://')) return path
  // 内部路径前缀替换
  if (path.startsWith(INTERNAL_PREFIX)) {
    const filename = path.slice(INTERNAL_PREFIX.length)
    return OSS_BASE + filename
  }
  // 兜底：可能只是文件名，拼上 OSS 基础地址
  return OSS_BASE + path
}
