config.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * 运行环境开关(改这一处即可切换)
  3. * - local:本机联调(模拟器 / 同网手机)
  4. * - test :测试机 www.chengyantek.cn(体验版联调测试后端)
  5. * - prod :生产 xwyd.zkxw.cn(正式/体验版连生产)
  6. *
  7. * 微信公众平台须为对应环境配置 request / 业务域名(HTTPS)
  8. */
  9. export const APP_ENV = 'local' // 'local' | 'test' | 'prod'
  10. const ENV_PRESETS = {
  11. local: {
  12. apiBaseUrl: 'http://127.0.0.1:8000/api',
  13. /** 本机 OA H5(Vite);真机同网时把 IP 改成电脑局域网地址 */
  14. oaH5Origin: 'http://127.0.0.1:5178/oa-h5',
  15. /** 与 web-admin `.env.development` 的 VITE_MINIO_BASE_URL 对齐 */
  16. minioBaseUrl: 'http://47.99.164.66:20004/zkxw',
  17. /** 测试服务号原始 ID(本地联调可沿用测试号) */
  18. mpGhUsername: 'gh_e0b5daf10934'
  19. },
  20. test: {
  21. apiBaseUrl: 'https://www.chengyantek.cn/api',
  22. oaH5Origin: 'https://www.chengyantek.cn/oa-h5',
  23. minioBaseUrl: 'https://www.chengyantek.cn/minio/zkxw',
  24. mpGhUsername: 'gh_e0b5daf10934'
  25. },
  26. prod: {
  27. apiBaseUrl: 'https://xwyd.zkxw.cn/api',
  28. oaH5Origin: 'https://xwyd.zkxw.cn/oa-h5',
  29. minioBaseUrl: 'https://xwyd.zkxw.cn/minio/zkxw',
  30. mpGhUsername: 'gh_4d29bb37922f'
  31. }
  32. }
  33. const preset = ENV_PRESETS[APP_ENV] || ENV_PRESETS.prod
  34. /** 后端 API 根路径(含 /api,不含末尾斜杠) */
  35. export const API_BASE_URL = preset.apiBaseUrl
  36. export const REQUEST_TIMEOUT_MS = 15000
  37. /** OA 表单 H5 源(web-view) */
  38. export const OA_H5_ORIGIN = preset.oaH5Origin
  39. /** MinIO 公网/反代基址(不含末尾斜杠);附件相对 key 需拼此前缀 */
  40. export const MINIO_BASE_URL = preset.minioBaseUrl
  41. /** 服务号原始 ID(gh_…),用于 openOfficialAccountProfile */
  42. export const MP_GH_USERNAME = preset.mpGhUsername
  43. /** 关注二维码图片(兜底) */
  44. export const MP_QRCODE_URL = '/static/mp-qrcode.png'
  45. /** 绑定 H5 路径(相对 OA_H5_ORIGIN) */
  46. export const MP_BIND_H5_PATH = '/oa-mp-bind/'
  47. /** 首页非生产环境色条描述(prod / 未知值不展示) */
  48. export function buildEnvBanner(appEnv) {
  49. if (appEnv === 'local') {
  50. return { show: true, label: '本地环境', tone: 'local' }
  51. }
  52. if (appEnv === 'test') {
  53. return { show: true, label: '测试环境', tone: 'test' }
  54. }
  55. return { show: false, label: '', tone: '' }
  56. }
  57. export const ENV_BANNER = buildEnvBanner(APP_ENV)