main.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. // The Vue build version to load with the `import` command
  2. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
  3. import Vue from 'vue'
  4. import App from './App'
  5. import router from './router'
  6. import store from './store'
  7. import axios from 'axios'
  8. let moment = require('moment-timezone')
  9. require('moment/locale/cs')
  10. import ElementUI from 'element-ui';
  11. // import 'swiper/css/swiper.css';
  12. import 'element-ui/lib/theme-chalk/index.css';
  13. import toView from '../src/assets/js/routerView';
  14. import less from 'less'
  15. import commonArray from '../src/assets/js/common'
  16. import BabelPolyfill from "babel-polyfill"
  17. import 'vue-video-player/src/custom-theme.css'
  18. import 'video.js/dist/video-js.css'
  19. Vue.use(BabelPolyfill)
  20. Vue.use(less)
  21. Vue.use(commonArray)
  22. Vue.prototype.$http = axios
  23. axios.defaults.baseURL = 'http://localhost:7011'
  24. Vue.use(toView);
  25. import Print from 'vue-print-nb'
  26. // import Print from '../src/utils/print';
  27. Vue.use(Print);
  28. import VueVideoPlayer from 'vue-video-player';
  29. Vue.use(VueVideoPlayer)
  30. import pdf from 'vue-pdf'
  31. Vue.use(pdf)
  32. import SlideVerify from 'vue-monoplasty-slide-verify';
  33. Vue.use(SlideVerify);
  34. axios.defaults.baseURL = 'http://localhost:8080/api/uc/'
  35. import Share from 'vue-social-share'
  36. import Cookies from 'js-cookie'
  37. Vue.prototype.$Cookies = Cookies
  38. Vue.prototype.$moment = moment()
  39. import 'vue-social-share/dist/client.css';
  40. import '../node_modules/social-share.js/dist/js/social-share.min.js'
  41. Vue.use(Share)
  42. import VueBus from "./api/vue-bus";
  43. Vue.use(VueBus);
  44. import echarts from 'echarts';
  45. Vue.prototype.$echarts = echarts;
  46. import '../node_modules/echarts/map/js/world.js'
  47. // import Print from 'vue-print-nb'
  48. // Vue.use(Print);
  49. // 全局组件
  50. Vue.use(ElementUI, {
  51. i18n: (key, value) => i18n.t(key, value)
  52. });
  53. // 用户信息方法
  54. import "@/utils/common.js"
  55. import VueI18n from 'vue-i18n'
  56. import "@/assets/css/index.css"
  57. Vue.use(VueI18n)
  58. import $ from 'jquery'
  59. window.$ = $
  60. window.jQuery = $
  61. import VueDND from 'awe-dnd'
  62. Vue.use(VueDND)
  63. import Vuex from 'vuex'
  64. Vue.use(Vuex)
  65. import scroll from 'vue-seamless-scroll'
  66. Vue.use(scroll)
  67. import '@/assets/css/main.css'
  68. //处理pdf-wzw
  69. import htmlToPdf from '@/utils/htmlToPdf'
  70. Vue.use(htmlToPdf)
  71. //截取地址栏数据
  72. import {UrlSearch} from "./assets/js/Fun"
  73. let Request = new UrlSearch();
  74. Vue.prototype.$Request=Request;
  75. //汉字转拼音
  76. import py from 'vue-py'
  77. Vue.use(py)
  78. Vue.filter('datefmt', function (input, fmtstring) {
  79. return moment.unix(input).format(fmtstring)
  80. })
  81. let langdefaultLanguage = navigator.language || navigator.userLanguage;//常规浏览器语言和IE浏览器
  82. langdefaultLanguage = langdefaultLanguage.substr(0, 2);//截取lang前2位字符
  83. if (langdefaultLanguage !== 'zh') {
  84. langdefaultLanguage = 'en';
  85. }
  86. import enLocale from 'element-ui/lib/locale/lang/en'
  87. import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
  88. import { enCommon } from '@/assets/languages/en.js'
  89. import { zhCommon } from '@/assets/languages/zh.js'
  90. const i18n = new VueI18n({
  91. locale: langdefaultLanguage, // 定义默认语言为英文
  92. messages: {
  93. 'en': {
  94. common: enCommon,
  95. ...enLocale
  96. },
  97. 'zh': {
  98. common: zhCommon,
  99. ...zhLocale
  100. },
  101. }
  102. });
  103. router.beforeEach((to, from, next) => {
  104. window.scrollTo(0, 0);
  105. if (to.matched.some(res => res.meta.requireAuth)) {// 判断是否需要登录权限
  106. let token = Vue.prototype.$Cookies.get('token');
  107. if (token) {// 判断是否登录
  108. next()
  109. } else {// 没登录则跳转到登录界面
  110. next({
  111. path: '/login',
  112. })
  113. }
  114. } else {
  115. next()
  116. }
  117. });
  118. let vueThis = new Vue({
  119. el: '#app',
  120. router,
  121. store,//使用store
  122. i18n,
  123. components: { App },
  124. template: '<App/>'
  125. })
  126. export default vueThis