main.js 2.5 KB

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