api.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. // API 基础配置(山峡化工 miniprogram)
  2. // 环境切换:改 config/env.js 中的 APP_ENV(local | test | testLocalH5 | production)
  3. // 发版:APP_ENV = 'production' 后执行 npm run release:check-api
  4. //
  5. // 注意:必须直接 re-export env 中的 URL,不要用 const 再拷一份。
  6. // 热更新只重载 env.js 时,拷贝版 API_BASE 会仍指向旧环境(本地签发 ticket、生产打开 H5 → 401)。
  7. import {
  8. APP_ENV,
  9. API_BASE_URL,
  10. CURRENT_ENV,
  11. IS_PRODUCTION,
  12. WECHAT_MP_APPID,
  13. resolveApiBase,
  14. resolveWebOrigin
  15. } from '@/config/env'
  16. export {
  17. APP_ENV,
  18. CURRENT_ENV,
  19. IS_PRODUCTION,
  20. WECHAT_MP_APPID,
  21. resolveApiBase,
  22. resolveWebOrigin
  23. }
  24. /** @deprecated 热更新可能仍是旧值;请求请用 resolveApiBase() */
  25. export const BASE_URL = API_BASE_URL
  26. /** @deprecated 热更新可能仍是旧值;请求请用 resolveApiBase() */
  27. export const API_BASE = API_BASE_URL
  28. console.log('[ENV]', APP_ENV, CURRENT_ENV.label, resolveApiBase(), resolveWebOrigin())
  29. /** 认证相关路径(当前复用 web-admin 公共登录接口) */
  30. export const AUTH_API = {
  31. LOGIN_RSA_PUBLIC_KEY: '/web/auth/login-rsa-public-key',
  32. LOGIN: '/web/auth/login',
  33. WECHAT_LOGIN: '/mini/auth/wechat-login',
  34. WEB_QR_SCANNED: '/mini/auth/web-qr-scanned',
  35. WEB_QR_CONFIRM: '/mini/auth/web-qr-confirm',
  36. LOGOUT: '/web/auth/logout',
  37. CURRENT_USER: '/web/auth/current-user',
  38. REFRESH_TOKEN: '/web/auth/refresh-token',
  39. MENU_CODES: '/web/auth/menu-codes',
  40. MP_WEBVIEW_TICKET: '/web/auth/mp-webview-ticket'
  41. }
  42. /**
  43. * 上传接口(multipart,须在 API_ENCRYPT_EXCLUDE_PATHS 中)
  44. * 响应字段兼容 data.url / data.fileUrl;P0 复用管理端附件上传。
  45. * 后续可切换为专用 /mini/.../upload/image。
  46. */
  47. export const UPLOAD_API = {
  48. IMAGE: '/web/admin/attachment/upload'
  49. }
  50. /** Tab / 业务页路径 */
  51. export const PAGE_PATHS = {
  52. login: '/pages/login/login',
  53. home: '/pages/home/home',
  54. todo: '/pages/todo/todo',
  55. workbench: '/pages/workbench/workbench',
  56. mine: '/pages/mine/mine',
  57. bizPlaceholder: '/pages/common/biz-placeholder',
  58. dbDashboard: '/pages/db/dashboard/index',
  59. dbPlansList: '/pages/db/plans/list',
  60. dbPlansDetail: '/pages/db/plans/detail',
  61. dbInventoryList: '/pages/db/inventory/list',
  62. dbInventoryDetail: '/pages/db/inventory/detail',
  63. dbWeighingList: '/pages/db/weighing/list',
  64. dbWeighingDetail: '/pages/db/weighing/detail',
  65. bxAdvanceApply: '/pages/bx/advance/list',
  66. bxAdvanceApplyForm: '/pages/bx/advance/apply',
  67. bxAdvanceDetail: '/pages/bx/advance/detail',
  68. bxReimburseApply: '/pages/bx/reimburse/list',
  69. bxReimburseApplyForm: '/pages/bx/reimburse/apply',
  70. bxReimburseDetail: '/pages/bx/reimburse/detail',
  71. bxMine: '/pages/bx/mine/list',
  72. bxAll: '/pages/bx/all/list',
  73. bxInvoiceMine: '/pages/bx/invoice/mine',
  74. bxInvoiceAdmin: '/pages/bx/invoice/admin',
  75. bxExpenseItem: '/pages/bx/admin/expense-item',
  76. bxWfAdvance: '/pages/bx/admin/wf-advance',
  77. bxWfReimburse: '/pages/bx/admin/wf-reimburse',
  78. plFuelRegister: '/pages/pl/fuel-register/list',
  79. plFuelRegisterForm: '/pages/pl/fuel-register/form',
  80. plTransportPlan: '/pages/pl/transport-plan/list',
  81. plTransportPlanDetail: '/pages/pl/transport-plan/detail',
  82. plDriverPlan: '/pages/pl/driver-plan/list',
  83. plDriverPlanDetail: '/pages/pl/driver-plan/detail',
  84. mpWebview: '/pages/common/mp-webview'
  85. }
  86. /** 工作台菜单 code → 页面路径 */
  87. export const WORKBENCH_ROUTE_MAP = {
  88. 'db-dashboard': PAGE_PATHS.dbDashboard,
  89. 'db-plans': PAGE_PATHS.dbPlansList,
  90. 'db-inventory': PAGE_PATHS.dbInventoryList,
  91. 'db-weighing': PAGE_PATHS.dbWeighingList,
  92. 'bx-advance-apply': PAGE_PATHS.bxAdvanceApply,
  93. 'bx-reimburse-apply': PAGE_PATHS.bxReimburseApply,
  94. 'bx-mine': PAGE_PATHS.bxMine,
  95. 'bx-all': PAGE_PATHS.bxAll,
  96. 'bx-invoice-mine': PAGE_PATHS.bxInvoiceMine,
  97. 'bx-invoice-admin': PAGE_PATHS.bxInvoiceAdmin,
  98. 'bx-expense-item': PAGE_PATHS.bxExpenseItem,
  99. 'bx-wf-advance': PAGE_PATHS.bxWfAdvance,
  100. 'bx-wf-reimburse': PAGE_PATHS.bxWfReimburse,
  101. 'pl-fuel-register': PAGE_PATHS.plFuelRegister,
  102. 'pl-transport-plan': PAGE_PATHS.plTransportPlan,
  103. 'pl-driver-plan': PAGE_PATHS.plDriverPlan,
  104. 'pl-plan-webview': PAGE_PATHS.mpWebview + '?path=' + encodeURIComponent('/m/pl/plan')
  105. }
  106. export const TOKEN_KEY = 'sx_token'
  107. export const REFRESH_TOKEN_KEY = 'sx_refresh_token'
  108. export const USER_INFO_KEY = 'sx_user_info'