main.js 2.3 KB

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