西藏巴青项目

index.js 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * 接口根地址(与 ruoyi-ui 的 VUE_APP_BASE_API 对齐)
  3. *
  4. * - 开发:.env.development → /dev-api(H5 代理)或 VITE_APP_API_HOST 直连
  5. * - 生产:.env.production → /prod-api(与 ruoyi-ui/.env.production 一致,由 Nginx 转发)
  6. *
  7. * 打包 H5:uni build -p h5
  8. */
  9. /** 开发兜底 / 小程序未配域名时的默认值(生产 H5 不应依赖此项) */
  10. const apiHost = String(import.meta.env.VITE_APP_API_HOST || 'http://192.168.1.6:8010').replace(/\/$/, '')
  11. /** .env 显式配置的后端域名(小程序/App 生产环境必填 https) */
  12. const hostFromEnv = String(import.meta.env.VITE_APP_API_HOST || '').trim().replace(/\/$/, '')
  13. /** 与 ruoyi-ui 的 VUE_APP_BASE_API 同源配置(dev/prod 由 .env 注入) */
  14. const envBaseApi = String(import.meta.env.VITE_APP_BASE_API || '').trim()
  15. /**
  16. * H5 开发是否走 /dev-api 代理(需 vite.config.js server.proxy)
  17. * true:请求发到当前页同源 /dev-api,由 Vite 转发到 VITE_APP_API_HOST(推荐,避免跨域)
  18. * false:直连 VITE_APP_API_HOST(仅调试代理问题时使用)
  19. */
  20. export const H5_USE_PROXY = true
  21. function resolveBaseApi() {
  22. if (import.meta.env.PROD) {
  23. return envBaseApi || '/prodapi'
  24. }
  25. const devBase = envBaseApi || '/dev-api'
  26. // #ifdef H5
  27. return H5_USE_PROXY ? devBase : apiHost
  28. // #endif
  29. // #ifndef H5
  30. return apiHost
  31. // #endif
  32. }
  33. export const BASE_API = resolveBaseApi()
  34. /**
  35. * 后端完整地址(开发 / 小程序打包用 .env 的 VITE_APP_API_HOST)
  36. * H5 生产图片在运行时由 getFileBase() 自动取 window.location.origin
  37. */
  38. export const API_HOST = hostFromEnv || apiHost
  39. /** 图片根地址(构建时);H5 生产以运行时 getFileBase() 为准 */
  40. export const FILE_BASE = API_HOST
  41. /**
  42. * 拼接图片、上传文件等静态资源地址(profile/upload 等)
  43. * @param {string} path
  44. */
  45. export function joinFileUrl(path) {
  46. if (!path) {
  47. return FILE_BASE
  48. }
  49. if (/^https?:\/\//i.test(path)) {
  50. return path
  51. }
  52. const p = path.startsWith('/') ? path : '/' + path
  53. const base = String(FILE_BASE).replace(/\/$/, '')
  54. return base + p
  55. }
  56. /**
  57. * 拼接接口或静态资源地址(/login、/profile/...)
  58. * @param {string} path
  59. */
  60. export function joinApiUrl(path) {
  61. if (!path) {
  62. return BASE_API
  63. }
  64. if (/^https?:\/\//i.test(path)) {
  65. return path
  66. }
  67. const p = path.startsWith('/') ? path : '/' + path
  68. const base = String(BASE_API).replace(/\/$/, '')
  69. return base + p
  70. }
  71. export const TOKEN_KEY = 'Admin-Token'
  72. export const REMEMBER_USERNAME_KEY = 'login_username'