config.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import { getToken } from '@/utils/auth'
  2. import { env } from './env'
  3. const currentDate = new Date();
  4. const currentYear = currentDate.getFullYear();
  5. // 系统内常量默认配置,只能从外部配置,内部不可修改
  6. const common = {
  7. SYSTEM_NAME: '新翼云SCRM', // 系统简称
  8. // SYSTEM_NAME: '冠客SCRM',
  9. SYSTEM_NAME_MOBILE: '新翼云SCRM', // 移动端应用简称
  10. // SYSTEM_NAME_MOBILE: '冠客SCRM', // 移动端应用简称
  11. SYSTEM_NAME_ALL: '新翼云SCRM -- 全链路私域数字化营销增长解决方案', // 系统全称
  12. // SYSTEM_NAME_ALL: '冠客SCRM -- 全链路私域数字化营销增长解决方案', // 系统全称
  13. COMPANY_NAME: '新翼云SCRM', // 公司简称
  14. // COMPANY_NAME: '冠客SCRM', // 公司简称
  15. COMPANY_NAME_ALL: '新翼云SCRM', // 公司全称
  16. // COMPANY_NAME_ALL: '冠客SCRM', // 公司全称
  17. COPYRIGHT:
  18. 'Copyright © 2018-' + currentYear + ' All Rights Reserved. 备案号:<a href="https://beian.miit.gov.cn/#/Integrated/index">京ICP备2023034349号-1</a>', // 版权信息
  19. LOGO_DARK: env.BASE_URL + 'static/LOGO_DARK.png', // 深色logo
  20. LOGO_LIGHT: env.BASE_URL + 'static/LOGO_LIGHT.png', // 淡色logo
  21. LOGO_TEXT_DARK: env.BASE_URL + 'logo.png', // 深色logo+文字
  22. LOGO_TEXT_LIGHT: env.BASE_URL + 'logo.png', // 淡色logo+文字
  23. QRCODE_CONTACT_US: env.BASE_URL + 'static/QRCODE_CONTACT_US.png', // 联系我们二维码
  24. QRCODE_CUSTOMER_SERVICE: env.BASE_URL + 'static/QRCODE_CUSTOMER_SERVICE.png', // 客服二维码
  25. POST_QRCODE: env.BASE_URL + 'static/POST_QRCODE.png', // 海报占位二维码
  26. AGREEMENT: env.BASE_URL + 'static/AGREEMENT.pdf', // 用户协议pdf
  27. PRIVACY: env.BASE_URL + 'static/PRIVACY.pdf', // 隐私协议pdf
  28. COOKIEEXPIRES: 0.5, // token在Cookie中存储的天数,默认0.5天
  29. WORK_WEIXIN_CONFIG_ROUTE_NAME: Symbol(), // 企业微信设置页面路由名称, 用于router 通过name判断与跳转,避免使用path不易于扩展
  30. CUSTOMER_DETAIL_ROUTE_NAME: Symbol(), // 客户详情页面路由name,同上
  31. GROUP_DETAIL_ROUTE_NAME: Symbol(), // 客群详情
  32. DEFAULT_H5_PIC: env.BASE_URL + 'static/PIC.png',
  33. DEFAULT_H5_ART: env.BASE_URL + 'static/ARTICAL.png', // 文章默认封面
  34. DEFAULT_H5_TP: env.BASE_URL + 'static/TEXT_PIC.png', // 图文默认封面
  35. DEFAULT_H5_PDF: env.BASE_URL + 'static/PDF.png', // pdf默认封面
  36. DEFAULT_H5_WORDE: env.BASE_URL + 'static/WORD.png',
  37. DEFAULT_H5_PPT: env.BASE_URL + 'static/PPT.png',
  38. PRIVIEW_PATH: window.location.origin + '/mobile/#/metrialDetail?materiaId=',
  39. BAIDU_MAP_KEY: 'mo2kTRiC60Z8heRWbGKP2vXx6cbxAmTn', // 百度地图key
  40. IS_PUBLISH_DIALOG: false, // 是否显示发布弹窗
  41. IS_LINKWECHAT: false, // 是否显示linkwechat开源相关业务组件
  42. PRIVIEW_URL: 'https://xy.ascrm.cn/fileView/onlinePreview?url=', // kkfileview,素材预览服务地址
  43. // PRIVIEW_URL: 'https://gooki.ascrm.cn/fileView/onlinePreview?url=', // kkfileview,素材预览服务地址
  44. MICRO_APPS: {
  45. store: {
  46. name: 'microStore',
  47. entry: window.location.origin + '/microStore/',
  48. container: '#micro-app',
  49. // activeRule: (location) => location.hash.startsWith('#/microStore'),
  50. activeRule: env.BASE_URL.slice(env.BASE_URL.indexOf('/')) + 'microStore', // eg:/vue/microStore
  51. },
  52. },
  53. }
  54. // 以下仅用于系统信息展示,不作为项目变量使用,请勿在代码中使用
  55. const project = {
  56. _version: 'v5.x', // 当前版本信息
  57. _packDateTime: __PACK_DATETIME__, // 打包时间
  58. _packUser: __PACK_USER__, // 打包人员
  59. _env: process.env.VUE_APP_ENV, // 前端系统环境模式
  60. _packEnv: process.env.VUE_APP_ENV, // 前端打包模式
  61. }
  62. let config = {
  63. // 是否系统布局配置
  64. showSettings: false,
  65. // 是否显示 tagsView
  66. tagsView: true,
  67. // 是否固定头部
  68. fixedHeader: false,
  69. // 是否显示logo
  70. sidebarLogo: true,
  71. services: {
  72. wecom: '/open',
  73. ai: '/ai',
  74. // system: 'http://192.168.4.168:6180',
  75. common: '/common',
  76. weChat: '/wx-api',
  77. },
  78. get headers() {
  79. return { Authorization: 'Bearer ' + getToken() }
  80. },
  81. }
  82. const lwConfig = window.lwConfig || {} // 线上动态配置,用于覆盖系统默认常量的配置信息
  83. // config 含有getter必须放在merge第一位
  84. window.lwConfig = Object.assign(config, env, common, lwConfig, project)
  85. // Object.defineProperties(window.lwConfig, {})
  86. document.title = window.lwConfig.SYSTEM_NAME_ALL
  87. // 主题回显
  88. const [h, s, l] = localStorage.hsl?.split(',')?.map((e) => e.trim()) || []
  89. // const l1 = l?.slice(0, -1) - 5
  90. if (h) {
  91. const style = document.documentElement.style
  92. style.setProperty('--h', h)
  93. style.setProperty('--s', s)
  94. style.setProperty('--l', l)
  95. // style.setProperty('--hsl', localStorage.hsl)
  96. // style.setProperty('--hsl-dark', `${h},${s},${l1}%`)
  97. style.setProperty('--color-sub', localStorage.colorSub)
  98. }
  99. // 灰色主题
  100. // if (window.lwConfig.ENV === 'production') document.documentElement.style.filter = 'grayscale(100%)'
  101. // el-button点击后自动失焦 去除焦点样式
  102. document.addEventListener('click', (event) => {
  103. let target = event.target
  104. if (target.className.includes?.('el-button')) {
  105. target.blur()
  106. } else if (target.parentNode.className.includes('el-button')) {
  107. target.parentNode.blur()
  108. }
  109. })
  110. // 阻止表单默认提交行为
  111. document.addEventListener('submit', (event) => {
  112. event.preventDefault()
  113. })
  114. // 统一为img的src不是绝对地址的拼接接口地址
  115. // document.addEventListener(
  116. // 'error',
  117. // function (e) {
  118. // let target = e.target
  119. // let src = target.attributes.getNamedItem('src').value
  120. // if (target.tagName.toUpperCase() === 'IMG' && src && !src.includes('http')) {
  121. // target.src = window.lwConfig.BASE_API + src
  122. // }
  123. // },
  124. // true
  125. // )
  126. export default config