main.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2021 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 {
  16. HTTP_REQUEST_URL
  17. } from '@/config/app';
  18. import skeleton from './components/skeleton/index.vue'
  19. // import dsbridge from '@/static/js/dsbridge.js'
  20. Vue.component('skeleton', skeleton)
  21. // Vue.prototype.$dsbridge = dsbridge
  22. const msg = (title, duration = 1500, mask = false, icon = 'none') => {
  23. //统一提示方便全局修改
  24. if (Boolean(title) === false) {
  25. return;
  26. }
  27. uni.showToast({
  28. title,
  29. duration,
  30. mask,
  31. icon
  32. });
  33. }
  34. Vue.prototype.$api = {
  35. msg
  36. };
  37. Vue.prototype.$util = util;
  38. Vue.prototype.$Cache = Cache;
  39. Vue.prototype.$eventHub = new Vue();
  40. Vue.config.productionTip = false
  41. // #ifdef H5
  42. import {
  43. parseQuery
  44. } from "./utils";
  45. import Auth from './libs/wechat';
  46. import {
  47. SPREAD
  48. } from './config/cache';
  49. // import wx from '@/node_modules/jweixin-module/lib/index'
  50. var __s = document.createElement('script');
  51. __s.src = HTTP_REQUEST_URL + "/api/script";
  52. document.head.appendChild(__s);
  53. Vue.prototype.$wechat = Auth;
  54. let cookieName = "VCONSOLE",
  55. query = parseQuery(),
  56. urlSpread = query["spread"],
  57. vconsole = query[cookieName.toLowerCase()],
  58. md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
  59. md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
  60. if (urlSpread !== undefined) {
  61. var spread = Cache.get(SPREAD);
  62. urlSpread = parseInt(urlSpread);
  63. if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
  64. Cache.set("spread", urlSpread || 0);
  65. } else if (spread === 0 || typeof spread !== "number") {
  66. Cache.set("spread", urlSpread || 0);
  67. }
  68. }
  69. if (vconsole !== undefined) {
  70. if (vconsole === md5UnCrmeb && Cache.has(cookieName))
  71. Cache.clear(cookieName);
  72. } else vconsole = Cache.get(cookieName);
  73. import VConsole from './components/vconsole.min.js'
  74. if (vconsole !== undefined && vconsole === md5Crmeb) {
  75. Cache.set(cookieName, md5Crmeb, 3600);
  76. let vConsole = new VConsole();
  77. }
  78. // 注册全局防抖指令
  79. Vue.directive('debounce', {
  80. inserted: (el, binding) => {
  81. let debounceTime = binding.value || 2000
  82. let timer
  83. el.addEventListener('click', e => {
  84. el.style.pointerEvents = 'none';
  85. if (!el.disabled) {
  86. timer = setTimeout(() => {
  87. el.style.pointerEvents = 'auto'
  88. }, debounceTime)
  89. }
  90. }, true)
  91. }
  92. })
  93. // if(!!!Auth.isAndroid() && Auth.isWeixin()){
  94. // Auth.wechat()
  95. // }
  96. // Auth.isWeixin() && Auth.oAuth();
  97. // #endif
  98. App.mpType = 'app'
  99. const app = new Vue({
  100. ...App,
  101. store,
  102. Cache
  103. })
  104. app.$mount();