main.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. // mock
  11. // import './mock'
  12. import bootstrap from './core/bootstrap'
  13. import './core/use'
  14. import './permission' // permission control
  15. import './utils/filter'
  16. import VueCookies from 'vue-cookies'
  17. import VideoPlayer from 'vue-video-player'
  18. Vue.use(Viewer)
  19. Viewer.setDefaults({
  20. 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' }
  21. }) // global filter
  22. Vue.config.productionTip = false
  23. // mount axios Vue.$http and this.$http
  24. Vue.use(VueAxios)
  25. Vue.use(VueCookies)
  26. Vue.$cookies.config('7d')
  27. // 视频播放插件
  28. require('video.js/dist/video-js.css')
  29. require('vue-video-player/src/custom-theme.css')
  30. Vue.use(VideoPlayer)
  31. // vuescroll
  32. import vuescroll from 'vuescroll'
  33. Vue.use(vuescroll)
  34. /**
  35. * 权限检查
  36. */
  37. Vue.prototype.$hasPermissions = function (value) {
  38. let isExist = false
  39. const roles = store.getters.roles
  40. const permissionList = roles.permissionList
  41. // console.log(permissionsStr,'permissionsStr')
  42. if (permissionList == undefined || permissionList == null) {
  43. return false
  44. }
  45. const has = permissionList.find(item => {
  46. return item == value
  47. })
  48. if (has) {
  49. isExist = true
  50. }
  51. return isExist
  52. }
  53. // 禁止输入框输入空格,换行符,<,>
  54. Vue.prototype.$filterEmpty = function (e) {
  55. return e.target.value.replace(/\s|\r\n|\n|<|>/g, '')
  56. }
  57. new Vue({
  58. router,
  59. store,
  60. created: bootstrap,
  61. render: h => h(App)
  62. }).$mount('#app')