main.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
  5. // +----------------------------------------------------------------------
  6. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  7. // +----------------------------------------------------------------------
  8. // | Author: CRMEB Team <admin@crmeb.com>
  9. // +----------------------------------------------------------------------
  10. import Vue from 'vue'
  11. import App from './App'
  12. import store from './store'
  13. import Cache from './utils/cache'
  14. import util from 'utils/util'
  15. import configs from './config/app.js'
  16. import socket from './libs/new_chat.js'
  17. import i18n from './utils/lang.js';
  18. Vue.prototype.$util = util;
  19. Vue.prototype.$config = configs;
  20. Vue.prototype.$Cache = Cache;
  21. Vue.prototype.$eventHub = new Vue();
  22. Vue.prototype.$socket = new socket();
  23. Vue.config.productionTip = false
  24. import pageLoading from './components/pageLoading.vue'
  25. import skeleton from './components/skeleton/index.vue'
  26. import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'
  27. import BaseMoney from './components/BaseMoney.vue';
  28. import BaseTag from './components/BaseTag.vue';
  29. import BaseDrawer from '@/components/tuiDrawer/tui-drawer.vue'
  30. Vue.component('skeleton', skeleton)
  31. Vue.component('pageLoading', pageLoading)
  32. Vue.component('easyLoadimage', easyLoadimage)
  33. Vue.component('BaseMoney', BaseMoney)
  34. Vue.component('BaseTag', BaseTag)
  35. Vue.component('baseDrawer', BaseDrawer)
  36. import ActivePermission from './libs/permission.js';
  37. Vue.prototype.$permission = ActivePermission;
  38. import {
  39. Debounce
  40. } from '@/utils/validate.js'
  41. Vue.prototype.$Debounce = Debounce
  42. // #ifdef H5
  43. import {
  44. parseQuery
  45. } from "./utils";
  46. import Auth from './libs/wechat';
  47. import {
  48. SPREAD
  49. } from './config/cache';
  50. Vue.prototype.$wechat = Auth;
  51. let cookieName = "VCONSOLE",
  52. query = parseQuery(),
  53. urlSpread = query["spread"],
  54. vconsole = query[cookieName.toLowerCase()],
  55. md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
  56. md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
  57. if (urlSpread !== undefined) {
  58. var spread = Cache.get(SPREAD);
  59. urlSpread = parseInt(urlSpread);
  60. if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
  61. Cache.set("spread", urlSpread || 0);
  62. } else if (spread === 0 || typeof spread !== "number") {
  63. Cache.set("spread", urlSpread || 0);
  64. }
  65. }
  66. if (vconsole !== undefined) {
  67. if (vconsole === md5UnCrmeb && Cache.has(cookieName))
  68. Cache.clear(cookieName);
  69. } else vconsole = Cache.get(cookieName);
  70. // import VConsole from './pages/extension/components/vconsole.min.js'
  71. // if (vconsole !== undefined && vconsole === md5Crmeb) {
  72. // Cache.set(cookieName, md5Crmeb, 3600);
  73. // let vConsole = new VConsole();
  74. // }
  75. // let snsapiBase = 'snsapi_base';
  76. // Auth.isWeixin() && Auth.oAuth(snsapiBase);
  77. // 记录进入app时的url
  78. if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') {
  79. window.entryUrl = location.href
  80. }
  81. // 添加统计脚本
  82. (function () {
  83. var hm = document.createElement('script');
  84. hm.src = 'https://cdn.oss.9gt.net/js/es.js?version=kyv6.0.0';
  85. var s = document.getElementsByTagName('script')[0];
  86. s.parentNode.insertBefore(hm, s);
  87. })();
  88. // #endif
  89. App.mpType = 'app'
  90. const app = new Vue({
  91. ...App,
  92. store,
  93. Cache,
  94. i18n,
  95. })
  96. app.$mount();