3
|
1 import Vue from "vue";
|
|
2 import Router from "vue-router";
|
|
3 import Login from "./views/Login.vue";
|
|
4 import UserClient from "./views/UserClient.vue";
|
|
5 import store from "./store";
|
|
6
|
|
7 Vue.use(Router);
|
|
8
|
|
9 const router = new Router({
|
|
10 routes: [
|
|
11 {
|
|
12 path: "/",
|
|
13 name: "login",
|
|
14 component: Login
|
|
15 },
|
|
16 {
|
|
17 path: "/client",
|
|
18 name: "userclient",
|
|
19 component: UserClient,
|
|
20 meta: {
|
|
21 requiresAuth: true
|
|
22 }
|
|
23 },
|
|
24 {
|
|
25 path: "*",
|
|
26 component: Login
|
|
27 }
|
|
28 ]
|
|
29 });
|
|
30
|
|
31 router.beforeEach((to, from, next) => {
|
|
32 const requiresAuth = to.matched.some(record => record.meta.requiresAuth);
|
|
33 const currentUser = store.getters["user/authenticated"];
|
|
34 if (requiresAuth && !currentUser) {
|
|
35 next("/");
|
|
36 } else if (requiresAuth && currentUser) {
|
|
37 next();
|
|
38 } else {
|
|
39 next();
|
|
40 }
|
|
41 });
|
|
42
|
|
43 export default router;
|