西藏巴青项目

resourceUrl.js 954B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { joinApiUrl } from '@/config'
  2. import { isExternal } from '@/utils/validate'
  3. /**
  4. * 将接口返回的资源路径转为可访问 URL(对齐 ruoyi-ui ImagePreview)
  5. * - 外链 / data: / blob: 原样返回
  6. * - 相对路径拼接 BASE_API(H5 生产为当前浏览器 origin + /prod-api)
  7. * @param {string} src 支持逗号分隔时取第一项
  8. */
  9. export function resolveResourceUrl(src) {
  10. if (!src) {
  11. return ''
  12. }
  13. const path = String(src).split(',')[0].trim()
  14. if (!path) {
  15. return ''
  16. }
  17. if (isExternal(path)) {
  18. return path
  19. }
  20. return joinApiUrl(path)
  21. }
  22. /**
  23. * 多图预览列表(对齐 ImagePreview realSrcList)
  24. * @param {string} src 逗号分隔
  25. * @returns {string[]}
  26. */
  27. export function resolveResourceUrlList(src) {
  28. if (!src) {
  29. return []
  30. }
  31. return String(src)
  32. .split(',')
  33. .map((item) => item.trim())
  34. .filter(Boolean)
  35. .map((item) => (isExternal(item) ? item : joinApiUrl(item)))
  36. }