main.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. // 复制内容到粘贴板
  9. import VueClipboard from 'vue-clipboard2'
  10. // 图片查看器
  11. import Viewer from 'v-viewer'
  12. import 'viewerjs/dist/viewer.css'
  13. // mock
  14. // import './mock'
  15. import bootstrap from './core/bootstrap'
  16. import './core/use'
  17. import './permission' // permission control
  18. import './utils/filter'
  19. import VueCookies from 'vue-cookies' // global filter
  20. // 无缝滚动
  21. import scroll from 'vue-seamless-scroll'
  22. // datav
  23. import dataV from '@jiaminghi/data-view'
  24. Vue.use(Viewer)
  25. // 图片查看器下边的操作按钮-若想隐藏改为false即可
  26. Viewer.setDefaults({ Options: { 'inline': false, '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' } })
  27. Vue.use(scroll)
  28. Vue.config.productionTip = false
  29. Vue.use(dataV)
  30. // mount axios Vue.$http and this.$http
  31. Vue.use(VueAxios)
  32. Vue.use(VueCookies)
  33. Vue.$cookies.config('7d')
  34. Vue.use(VueClipboard)
  35. /**
  36. * 权限检查
  37. */
  38. Vue.prototype.$hasPermissions = function (value) {
  39. let isExist = false
  40. const roles = store.getters.roles
  41. const permissionList = roles.permissionList
  42. // console.log(permissionsStr,'permissionsStr')
  43. if (permissionList == undefined || permissionList == null) {
  44. return false
  45. }
  46. const has = permissionList.find(item => {
  47. return item == value
  48. })
  49. if (has) {
  50. isExist = true
  51. }
  52. return isExist
  53. }
  54. // 禁止输入框输入空格,换行符,<,>
  55. Vue.prototype.$filterEmpty = function (e) {
  56. return e.target.value.replace(/\s|\r\n|\n|<|>/g, '')
  57. }
  58. new Vue({
  59. router,
  60. store,
  61. created: bootstrap,
  62. render: h => h(App)
  63. }).$mount('#app')