巴青农资商城

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. const apiHost = String(import.meta.env.VITE_APP_API_HOST || 'http://192.168.1.6:8020').replace(/\/$/, '')
  10. /** 与 ruoyi-ui 的 VUE_APP_BASE_API 同源配置(dev/prod 由 .env 注入) */
  11. const envBaseApi = String(import.meta.env.VITE_APP_BASE_API || '').trim()
  12. /**
  13. * H5 开发是否走 /dev-api 代理(需 vite.config.js server.proxy)
  14. * true:请求发到当前页同源 /dev-api,由 Vite 转发到 VITE_APP_API_HOST(推荐,避免跨域)
  15. * false:直连 VITE_APP_API_HOST(仅调试代理问题时使用)
  16. */
  17. export const H5_USE_PROXY = true
  18. function resolveBaseApi() {
  19. if (import.meta.env.PROD) {
  20. return envBaseApi || '/shop-api'
  21. }
  22. const devBase = envBaseApi || '/dev-api'
  23. // #ifdef H5
  24. return H5_USE_PROXY ? devBase : apiHost
  25. // #endif
  26. // #ifndef H5
  27. return apiHost
  28. // #endif
  29. }
  30. export const BASE_API = resolveBaseApi()
  31. /** 后端完整地址(含 IP/域名),来自 .env 的 VITE_APP_API_HOST */
  32. export const API_HOST = apiHost
  33. /**
  34. * 图片/文件访问根地址(始终用完整 IP/域名)
  35. * 说明:<image> 标签不会走 Vite 的 /dev-api 代理,必须用 API_HOST 直连后端
  36. */
  37. export const FILE_BASE = API_HOST
  38. /**
  39. * 拼接图片、上传文件等静态资源地址(profile/upload 等)
  40. * @param {string} path
  41. */
  42. export function joinFileUrl(path) {
  43. if (!path) {
  44. return FILE_BASE
  45. }
  46. if (/^https?:\/\//i.test(path)) {
  47. return path
  48. }
  49. const p = path.startsWith('/') ? path : '/' + path
  50. const base = String(FILE_BASE).replace(/\/$/, '')
  51. return base + p
  52. }
  53. /**
  54. * 拼接接口或静态资源地址(/login、/profile/...)
  55. * @param {string} path
  56. */
  57. export function joinApiUrl(path) {
  58. if (!path) {
  59. return BASE_API
  60. }
  61. if (/^https?:\/\//i.test(path)) {
  62. return path
  63. }
  64. const p = path.startsWith('/') ? path : '/' + path
  65. const base = String(BASE_API).replace(/\/$/, '')
  66. return base + p
  67. }
  68. /** 交易市场项目专用,与 ruoyi-ui-app 的 Admin-Token 隔离,避免同端登录态串用 */
  69. export const TOKEN_KEY = 'shop-Admin-Token'
  70. /** 登录页「记住账号」(手机号或会员名称) */
  71. export const REMEMBER_ACCOUNT_KEY = 'shop_login_account'
  72. /** @deprecated 请用 REMEMBER_ACCOUNT_KEY */
  73. export const REMEMBER_USERNAME_KEY = REMEMBER_ACCOUNT_KEY