main.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // ie polyfill
  2. import '@babel/polyfill'
  3. import Vue from 'vue'
  4. import App from './App.vue'
  5. import router from './router'
  6. import store from './store/'
  7. import { VueAxios } from './utils/request'
  8. import Viewer from 'v-viewer'
  9. import 'viewerjs/dist/viewer.css'
  10. import { ConfigProvider } from 'ant-design-vue'
  11. Vue.use(ConfigProvider)
  12. // mock
  13. // import './mock'
  14. import bootstrap from './core/bootstrap'
  15. import './core/use'
  16. import './permission' // permission control
  17. import './utils/filter'
  18. import VueCookies from 'vue-cookies'
  19. import VideoPlayer from 'vue-video-player'
  20. Vue.use(Viewer)
  21. Viewer.setDefaults({
  22. Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
  23. }) // global filter
  24. Vue.config.productionTip = false
  25. // mount axios Vue.$http and this.$http
  26. Vue.use(VueAxios)
  27. Vue.use(VueCookies)
  28. Vue.$cookies.config('7d')
  29. // 视频播放插件
  30. require('video.js/dist/video-js.css')
  31. require('vue-video-player/src/custom-theme.css')
  32. Vue.use(VideoPlayer)
  33. // vuescroll
  34. import vuescroll from 'vuescroll'
  35. Vue.use(vuescroll)
  36. /**
  37. * 权限检查
  38. */
  39. Vue.prototype.$hasPermissions = function (value) {
  40. let isExist = false
  41. const roles = store.getters.roles
  42. const permissionList = roles.permissionList
  43. // console.log(permissionsStr,'permissionsStr')
  44. if (permissionList == undefined || permissionList == null) {
  45. return false
  46. }
  47. const has = permissionList.find(item => {
  48. return item == value
  49. })
  50. if (has) {
  51. isExist = true
  52. }
  53. return isExist
  54. }
  55. // 禁止输入框输入空格,换行符,<,>
  56. Vue.prototype.$filterEmpty = function (e) {
  57. return e.target.value.replace(/\s|\r\n|\n|<|>/g, '')
  58. }
  59. new Vue({
  60. router,
  61. store,
  62. created: bootstrap,
  63. render: h => h(App)
  64. }).$mount('#app')