main.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 { HTTP_REQUEST_URL } from '@/config/app';
  16. import skeleton from './components/skeleton/index.vue'
  17. import BaseMoney from './components/BaseMoney.vue';
  18. Vue.component('skeleton', skeleton)
  19. Vue.component('BaseMoney', BaseMoney)
  20. Vue.prototype.$util = util;
  21. Vue.prototype.$Cache = Cache;
  22. Vue.prototype.$eventHub = new Vue();
  23. Vue.config.productionTip = false
  24. // #ifdef H5
  25. import { parseQuery } from "./utils";
  26. import Auth from './libs/wechat';
  27. import { SPREAD } from './config/cache';
  28. // import wx from '@/node_modules/jweixin-module/lib/index'
  29. var __s = document.createElement('script');
  30. __s.src=HTTP_REQUEST_URL+"/api/script";
  31. document.head.appendChild(__s);
  32. Vue.prototype.$wechat = Auth;
  33. let cookieName = "VCONSOLE",
  34. query = parseQuery(),
  35. urlSpread = query["spread"],
  36. vconsole = query[cookieName.toLowerCase()],
  37. md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
  38. md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
  39. if (urlSpread !== undefined) {
  40. var spread = Cache.get(SPREAD);
  41. urlSpread = parseInt(urlSpread);
  42. if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
  43. Cache.set("spread", urlSpread || 0);
  44. } else if (spread === 0 || typeof spread !== "number") {
  45. Cache.set("spread", urlSpread || 0);
  46. }
  47. }
  48. if (vconsole !== undefined) {
  49. if (vconsole === md5UnCrmeb && Cache.has(cookieName))
  50. Cache.clear(cookieName);
  51. } else vconsole = Cache.get(cookieName);
  52. import VConsole from './components/vconsole.min.js'
  53. if (vconsole !== undefined && vconsole === md5Crmeb) {
  54. Cache.set(cookieName, md5Crmeb, 3600);
  55. let vConsole = new VConsole();
  56. }
  57. // 注册全局防抖指令
  58. Vue.directive('debounce',{
  59. inserted:(el,binding)=>{
  60. let debounceTime = binding.value || 2000
  61. let timer
  62. el.addEventListener('click',e=>{
  63. el.style.pointerEvents = 'none';
  64. if(!el.disabled){
  65. timer = setTimeout(()=>{
  66. el.style.pointerEvents = 'auto'
  67. },debounceTime)
  68. }
  69. },true)
  70. }
  71. })
  72. // if(!!!Auth.isAndroid() && Auth.isWeixin()){
  73. // Auth.wechat()
  74. // }
  75. // Auth.isWeixin() && Auth.oAuth();
  76. // #endif
  77. App.mpType = 'app'
  78. const app = new Vue({
  79. ...App,
  80. store,
  81. Cache
  82. })
  83. app.$mount();