main.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // workPage 优化版入口 - 只引入必需的依赖
  2. import Vue from 'vue'
  3. import App from '../App'
  4. import router from '../router/index2'
  5. import store from '../config/config'
  6. // 只引入 workPage 需要的 Element UI 组件
  7. import { Loading, Input, Button, Dialog } from 'element-ui'
  8. import 'element-ui/lib/theme-chalk/index.css'
  9. import hevueImgPreview from '../components/tools/hevue-img-preview'
  10. import { myMessage } from '../components/tools/message'
  11. import ajax from '../common/axios.config'
  12. import VueCookies from 'vue-cookies'
  13. // workPage 需要的基础样式
  14. import '../assets/css/button.css'
  15. import '../assets/css/dialog.css'
  16. // 按需注册 Element UI 组件
  17. Vue.use(Loading)
  18. Vue.use(Input)
  19. Vue.use(Button)
  20. Vue.use(Dialog)
  21. Vue.use(VueCookies)
  22. Vue.use(hevueImgPreview)
  23. Vue.config.productionTip = false
  24. Vue.prototype.$store = store
  25. Vue.prototype.ajax = ajax
  26. Vue.prototype.$message = myMessage
  27. Vue.prototype.$loading = Loading
  28. Vue.prototype.openLoading = function(target) {
  29. const loading = this.$loading.service({
  30. lock: true,
  31. background: 'rgba(255, 255, 255, 0.7)',
  32. target: target ? target : document.body,
  33. body: true,
  34. })
  35. return loading
  36. }
  37. /* eslint-disable no-new */
  38. new Vue({
  39. el: '#app',
  40. router,
  41. components: { App },
  42. template: '<App/>'
  43. })
  44. VueCookies.config('30d')
  45. router.beforeEach((to, from, next) => {
  46. if (to.meta.title) {
  47. document.title = to.meta.title
  48. }
  49. const requireAuth = to.meta.requireAuth
  50. if (requireAuth) {
  51. var isLogin = VueCookies.get('tlogin')
  52. if (isLogin == "1") {
  53. var userinfo = VueCookies.get('teacherInfo')
  54. store.commit("update", ["isLogin", true])
  55. store.commit("update", ["userInfo", userinfo])
  56. store.state.luyou = store.state.luyou + 1
  57. store.commit("update", ["luyou", store.state.luyou])
  58. next()
  59. } else {
  60. const loading = Loading.service({
  61. background: "rgba(255, 255, 255)",
  62. target: document.querySelector("body"),
  63. })
  64. store.commit("update", ["isLogin", false])
  65. myMessage({
  66. message: '未登录,请登录',
  67. type: 'warning'
  68. })
  69. setTimeout(() => {
  70. loading.close()
  71. next('/login')
  72. }, 2000)
  73. }
  74. } else {
  75. next()
  76. }
  77. })