main.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import Vue from "vue";
  2. import App from "./App.vue";
  3. import router from "./router";
  4. import store from "./store";
  5. import animate from "animate.css";
  6. import schema from "async-validator";
  7. import dialog from "./utils/dialog";
  8. import $scroll from "@utils/loading";
  9. import cookie from "@utils/store/cookie";
  10. import "@assets/iconfont/iconfont";
  11. import "@assets/iconfont/iconfont.css";
  12. import "@assets/addfont/addfont";
  13. import "@assets/addfont/addfont.css";
  14. import "@assets/js/media_750";
  15. import "vue-ydui/dist/ydui.base.css";
  16. import "@assets/css/base.css";
  17. import "@assets/css/reset.css";
  18. import "@assets/css/style.css";
  19. import { isWeixin, parseQuery } from "@utils";
  20. import vueLazyLoad from "vue-lazyload";
  21. Vue.use(vueLazyLoad, {
  22. preload: 1.3, //加载高度比。
  23. loading: require("@assets/images/noPictrue.png"), //加载时的过渡图片
  24. error: require("@assets/images/err.png"), //加载失败的图片
  25. attempt: 1 //每次加载的张数。
  26. });
  27. Vue.use(animate);
  28. Vue.config.productionTip = false;
  29. Vue.config.devtools = process.env.NODE_ENV !== "production";
  30. Vue.prototype.$validator = function(rule) {
  31. return new schema(rule);
  32. };
  33. Vue.prototype.$scroll = $scroll;
  34. Vue.prototype.$dialog = dialog;
  35. const CACHE_KEY = "clear_0.0.1";
  36. if (!cookie.has(CACHE_KEY)) {
  37. cookie.clearAll();
  38. cookie.set(CACHE_KEY, 1);
  39. }
  40. let cookieName = "VCONSOLE";
  41. let query = parseQuery();
  42. let urlSpread = query["spread"];
  43. let vconsole = query[cookieName.toLowerCase()];
  44. let md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2"; //CRMEB MD5 加密开启vconsole模式
  45. let md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
  46. if (urlSpread !== undefined) {
  47. var spread = cookie.get("spread");
  48. urlSpread = parseInt(urlSpread);
  49. if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
  50. cookie.set("spread", urlSpread || 0);
  51. } else if (spread === 0 || typeof spread !== "number") {
  52. cookie.set("spread", urlSpread || 0);
  53. }
  54. }
  55. const _isWechat = isWeixin();
  56. if (vconsole !== undefined) {
  57. if (vconsole === md5UnCrmeb && cookie.has(cookieName))
  58. cookie.remove(cookieName);
  59. } else vconsole = cookie.get(cookieName);
  60. if (vconsole !== undefined && vconsole === md5Crmeb) {
  61. cookie.set(cookieName, md5Crmeb, 3600);
  62. const module = () => import("vconsole");
  63. module().then(Module => {
  64. new Module.default();
  65. });
  66. }
  67. if (_isWechat) {
  68. const module = () => import("@libs/wechat");
  69. module().then(Module => {
  70. Module.default().then(() => Module.oAuth());
  71. });
  72. }
  73. const $vm = new Vue({
  74. router,
  75. store,
  76. render: h => h(App)
  77. });
  78. setTimeout(() => {
  79. $vm.$mount("#app");
  80. }, 300);