main.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // import Vue from 'vue'
  2. import Cookies from 'js-cookie'
  3. import 'normalize.css/normalize.css' // a modern alternative to CSS resets
  4. // import './styles/element-variables.scss'
  5. // import Element from 'element-ui'
  6. // import VCharts from 'v-charts' // v-charts图表
  7. import '@/styles/index.scss' // global css
  8. import App from './App'
  9. import store from './store'
  10. import router from './router'
  11. import './icons' // icon
  12. import './permission' // permission control
  13. import './utils/error-log' // error log
  14. import '@/components/Pagination/index.js' //分页组件
  15. import '@/components/DictSelect/index.js' //数据字典选择组件
  16. import '@/components/EditMode/index.js' //自定义编辑组件
  17. import '@/components/Lookicon/index.js' //脱敏组件(小眼睛)
  18. import { addDateRange, getNowTime, parseTime } from '@/utils/index'
  19. import { carNoValid } from '@/utils/validate'
  20. import * as filters from './filters' // global filters
  21. import VueDOMPurifyHTML from 'vue-dompurify-html'//引用防XSS注入插件替代v-html
  22. import VueBus from 'vue-bus';//事件总线
  23. import { borderBox1 } from '@jiaminghi/data-view'
  24. import BizComp from '@/components/BizComp/index.js'
  25. Vue.use(BizComp)
  26. import debounceClick from "./directive/debounce/index"
  27. Vue.use(debounceClick)
  28. Vue.use(borderBox1)
  29. // import echarts from 'echarts'
  30. // Vue.prototype.$echarts = echarts
  31. Vue.prototype.$cookies = Cookies
  32. Vue.prototype.addDateRange = addDateRange
  33. Vue.prototype.getNowTime = getNowTime
  34. Vue.prototype.parseTime = parseTime
  35. Vue.prototype.carNoValid = carNoValid
  36. Vue.prototype.$showLogo = (process.env.VUE_APP_SHOW_LOGO != 'false')
  37. Vue.config.devtools = true
  38. import { VueJsonp } from 'vue-jsonp'
  39. Vue.use(VueJsonp)
  40. Vue.use(VueDOMPurifyHTML)
  41. Vue.use(VueBus)
  42. Vue.use(borderBox1)
  43. import VDistpicker from 'v-distpicker' // 引用城市三级联动
  44. Vue.component('v-distpicker', VDistpicker)
  45. import * as dd from 'dingtalk-jsapi'
  46. Vue.component('dingtalk-jsapi', dd)
  47. // import fengmap from 'fengmap' //蜂鸟3D地图
  48. // import fengmap from 'fengmap/build/plugins/fengmap.core.min' // 核心包
  49. // import 'fengmap/build/plugins/fengmap.control.min' // 控件
  50. // Vue.component('fengmap', fengmap)
  51. /* import crypto from 'crypto-js'
  52. Vue.component('crypto', crypto);*/
  53. // Vue.use(VCharts)
  54. Vue.prototype.$ELEMENT = {
  55. size: Cookies.get('size') || 'medium' // set element-ui default size
  56. }
  57. // register global utility filters
  58. Object.keys(filters).forEach(key => {
  59. Vue.filter(key, filters[key])
  60. })
  61. import mixinsObj from '@/mixins/index'
  62. Vue.mixin(mixinsObj)
  63. import selectScroll from '@/directive/selectScroll'
  64. import inputScroll from '@/directive/inputScroll'
  65. const directives = {selectScroll,inputScroll}
  66. for (const [key, value] of Object.entries(directives)) {
  67. Vue.directive(key, value)
  68. }
  69. Vue.config.productionTip = false
  70. //引入v-md-editor 以及相关依赖
  71. import VueMarkdownEditor from '@kangc/v-md-editor';
  72. import '@kangc/v-md-editor/lib/style/base-editor.css';
  73. import vuepressTheme from '@kangc/v-md-editor/lib/theme/vuepress.js';
  74. import '@kangc/v-md-editor/lib/theme/style/vuepress.css';
  75. import Prism from 'prismjs';
  76. //编辑
  77. VueMarkdownEditor.use(vuepressTheme, {
  78. Prism,
  79. });
  80. Vue.use(VueMarkdownEditor);
  81. //浏览组件
  82. import VMdPreview from '@kangc/v-md-editor/lib/preview';
  83. import githubTheme from '@kangc/v-md-editor/lib/theme/github.js';
  84. import hljs from 'highlight.js';
  85. import '@kangc/v-md-editor/lib/theme/style/github.css';
  86. import '@kangc/v-md-editor/lib/style/preview.css';
  87. VMdPreview.use(githubTheme, {
  88. Hljs: hljs,
  89. });
  90. Vue.use(VMdPreview);
  91. new Vue({
  92. el: '#app',
  93. router,
  94. store,
  95. render: h => h(App)
  96. })