main.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /** init domain config */
  2. import './config'
  3. import Vue from 'vue'
  4. import App from './App.vue'
  5. import Storage from 'vue-ls'
  6. import router from './router'
  7. import store from './store/'
  8. import { VueAxios } from '@/utils/request'
  9. // import * as echarts from 'echarts'
  10. import Antd, { version } from 'ant-design-vue'
  11. import Viser from 'viser-vue'
  12. import 'ant-design-vue/dist/antd.less' // or 'ant-design-vue/dist/antd.less'
  13. import '@/permission' // permission control
  14. import '@/utils/filter' // base filter
  15. import Print from 'vue-print-nb-jeecg'
  16. /* import '@babel/polyfill' */
  17. import preview from 'vue-photo-preview'
  18. import 'vue-photo-preview/dist/skin.css'
  19. import SSO from '@/cas/sso.js'
  20. import {
  21. ACCESS_TOKEN,
  22. DEFAULT_COLOR,
  23. DEFAULT_THEME,
  24. DEFAULT_LAYOUT_MODE,
  25. DEFAULT_COLOR_WEAK,
  26. SIDEBAR_TYPE,
  27. DEFAULT_FIXED_HEADER,
  28. DEFAULT_FIXED_HEADER_HIDDEN,
  29. DEFAULT_FIXED_SIDEMENU,
  30. DEFAULT_CONTENT_WIDTH_TYPE,
  31. DEFAULT_MULTI_PAGE
  32. } from '@/store/mutation-types'
  33. import config from '@/defaultSettings'
  34. import JDictSelectTag from './components/dict/index.js'
  35. import hasPermission from '@/utils/hasPermission'
  36. import vueBus from '@/utils/vueBus'
  37. import JeecgComponents from '@/components/jeecg/index'
  38. import '@/assets/less/JAreaLinkage.less'
  39. import VueAreaLinkage from 'vue-area-linkage'
  40. import '@/components/jeecg/JVxeTable/install'
  41. import '@/components/JVxeCells/install'
  42. import preventReClick from '@api/document/throttle.js'
  43. // 表单验证
  44. import { rules } from '@/utils/rules'
  45. require('@jeecg/antd-online-mini')
  46. require('@jeecg/antd-online-mini/dist/OnlineForm.css')
  47. console.log('ant-design-vue version:', version)
  48. Vue.prototype.rules = rules
  49. Vue.use(Storage, config.storageOptions)
  50. Vue.use(Antd)
  51. Vue.use(VueAxios, router)
  52. Vue.use(Viser)
  53. Vue.use(hasPermission)
  54. Vue.use(JDictSelectTag)
  55. Vue.use(Print)
  56. Vue.use(preview)
  57. Vue.use(vueBus)
  58. Vue.use(JeecgComponents)
  59. Vue.use(VueAreaLinkage)
  60. Vue.use(preventReClick)
  61. // Vue.prototype.$echarts = echarts // 全局echarts
  62. Vue.config.productionTip = false
  63. SSO.init(() => {
  64. main()
  65. })
  66. function main() {
  67. new Vue({
  68. router,
  69. store,
  70. mounted() {
  71. store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
  72. store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
  73. store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout))
  74. store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader))
  75. store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar))
  76. store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth))
  77. store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader))
  78. store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak))
  79. store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor))
  80. store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN))
  81. store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, config.multipage))
  82. },
  83. render: h => h(App)
  84. }).$mount('#app')
  85. }