main.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import 'babel-polyfill';
  2. import Vue from 'vue';
  3. import ElementUI from 'element-ui';
  4. import './assets/css/element/style.css';
  5. import './assets/css/perfectScrollbar/vue2-perfect-scrollbar.min.css';
  6. import 'intro.js/introjs.css';
  7. import 'intro.js/themes/introjs-modern.css';
  8. import axios from 'axios';
  9. import App from './App.vue';
  10. import router from './router';
  11. import store from './store';
  12. import './registerServiceWorker';
  13. import echarts from 'echarts';
  14. import uploader from 'vue-simple-uploader';
  15. import mainfunc from './utils/st/mainfunc';
  16. import VueClipboard from 'vue-clipboard2';
  17. Vue.use(VueClipboard);
  18. Vue.use(uploader);
  19. // add VueIntro
  20. import VueIntro from 'vue-introjs';
  21. Vue.use(VueIntro);
  22. let _ = require('lodash');
  23. // Vue.config.devtools = true; // 生产模式调试
  24. Vue.config.silent = false; // 取消 Vue 所有的日志与警告
  25. /*设置为 true 以在浏览器开发工具的性能/时间线面板中启用对组件初始化、
  26. 编译、渲染和打补丁的性能追踪。只适用于开发模式和支持 performance.mark API 的浏览器上。*/
  27. Vue.config.performance = true;
  28. Vue.config.productionTip = false; // 设置为 false 以阻止 vue 在启动时生成生产提示。
  29. Vue.use(ElementUI);
  30. import fullscreen from 'vue-fullscreen';
  31. Vue.use(fullscreen);
  32. import stDialog from './utils/st/stDialog';
  33. Vue.use(stDialog);
  34. import './utils/st/stSvg';
  35. Vue.config.keyCodes = {
  36. v33: 86,
  37. f1: 112,
  38. // 取而代之的是 kebab-case 且用双引号括起来
  39. 'media-play-pause': 179,
  40. stup: [38, 87],
  41. };
  42. Vue.prototype.loading = function (opt) {
  43. let _opt = { // 声明一个loading对象
  44. lock: true, // 是否锁屏
  45. text: '正在加载...', // 加载动画的文字
  46. spinner: 'el-icon-loading', // 引入的loading图标
  47. background: 'rgba(0, 0, 0, 0.7)', // 背景颜色
  48. target: '.el-main', // 需要遮罩的区域
  49. body: true,
  50. customClass: 'mask', // 遮罩层新增类名
  51. autoClose: true,
  52. };
  53. if (opt) {
  54. _opt = _.assignIn(_opt, opt);
  55. }
  56. const loading = this.$loading(_opt);
  57. window.loading = loading;
  58. setTimeout(function () { // 设定定时器,超时6S后自动关闭遮罩层,避免请求失败时,遮罩层一直存在的问题
  59. loading.close(); // 关闭遮罩层
  60. }, _opt.autoClose ? 6000 : 999999999);
  61. return loading;
  62. };
  63. Vue.prototype.$echarts = echarts;
  64. Vue.prototype.$axios = axios;
  65. /*Vue.directive('colorred', function (el, bind, vNode) {
  66. el.style.color = bind.value();
  67. });*/
  68. /**/
  69. import fabric from 'fabric';
  70. Vue.use(fabric);
  71. new Vue({
  72. router,
  73. store,
  74. render: h => h(App),
  75. mounted () {
  76. document.dispatchEvent(new Event('render-event'))
  77. }
  78. }).$mount('#app');