main.js 873 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './routes'
  4. import store from './store'
  5. import vuetify from './plugins/vuetify'
  6. import setupInterceptors from './services/setupInterceptors';
  7. import Vuex from 'vuex';
  8. Vue.config.productionTip = false
  9. router.beforeEach((to, from, next) => {
  10. let isPublic = to.matched.some(record => record.meta.public);
  11. let isLoggedIn = store.state.auth.loggedIn;
  12. if (!isLoggedIn && !isPublic)
  13. next({ name: 'login' })
  14. let isProjectView = to.matched.some(record => record.meta.projectView);
  15. let currentProject = null;
  16. console.log(to.path, isProjectView)
  17. if (isProjectView)
  18. currentProject = to.params.id;
  19. store.commit('setCurrentProject', currentProject);
  20. next()
  21. })
  22. Vue.use(Vuex);
  23. setupInterceptors(store);
  24. new Vue({
  25. router,
  26. store,
  27. vuetify,
  28. render: h => h(App)
  29. }).$mount('#app')