config.js 5.1 KB

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