/** * URL处理工具函数 */ /** * 获取完整的图片URL * @param url 图片路径或完整URL * @returns 完整的图片URL */ export function getImageUrl(url: string): string { // 图片是相对路径不需要拼 return url // if (!url) return '' // // 如果已经包含http或https协议,直接返回 // if (url.startsWith('http://') || url.startsWith('https://')) { // return url // } // // 获取环境变量中的图片基础URL // const baseUrl = import.meta.env.VITE_IMAGE_BASE_URL || '' // // 确保baseUrl不以/结尾,url以/开头 // const cleanBaseUrl = baseUrl.replace(/\/$/, '') // const cleanUrl = url.startsWith('/') ? url : `/${url}` // return `${cleanBaseUrl}${cleanUrl}` } /** * 获取完整的资源URL(通用版本) * @param url 资源路径或完整URL * @param baseUrlKey 环境变量中的基础URL键名,默认为VITE_IMAGE_BASE_URL * @returns 完整的资源URL */ export function getResourceUrl(url: string, baseUrlKey: string = 'VITE_IMAGE_BASE_URL'): string { if (!url) return '' // 如果已经包含http或https协议,直接返回 if (url.startsWith('http://') || url.startsWith('https://')) { return url } // 获取环境变量中的基础URL const baseUrl = (import.meta.env as any)[baseUrlKey] || '' // 确保baseUrl不以/结尾,url以/开头 const cleanBaseUrl = baseUrl.replace(/\/$/, '') const cleanUrl = url.startsWith('/') ? url : `/${url}` return `${cleanBaseUrl}${cleanUrl}` }