|
@@ -1,45 +1,71 @@
|
|
|
-import { createRouter, createWebHistory } from 'vue-router'
|
|
|
|
|
|
|
+import { createRouter, createWebHistory } from "vue-router";
|
|
|
|
|
|
|
|
const router = createRouter({
|
|
const router = createRouter({
|
|
|
history: createWebHistory(import.meta.env.BASE_URL),
|
|
history: createWebHistory(import.meta.env.BASE_URL),
|
|
|
routes: [
|
|
routes: [
|
|
|
{
|
|
{
|
|
|
- path: '/',
|
|
|
|
|
- name: 'school',
|
|
|
|
|
- component: () => import('@/views/school.vue'),
|
|
|
|
|
- meta:{showRouter:true}
|
|
|
|
|
|
|
+ path: "/",
|
|
|
|
|
+ name: "school",
|
|
|
|
|
+ component: () => import("@/views/school.vue"),
|
|
|
|
|
+ meta: { showRouter: true },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- path: '/user',
|
|
|
|
|
- name: 'user',
|
|
|
|
|
- component: () => import('@/views/user.vue'),
|
|
|
|
|
- meta:{showRouter:true}
|
|
|
|
|
|
|
+ path: "/user",
|
|
|
|
|
+ name: "user",
|
|
|
|
|
+ component: () => import("@/views/user.vue"),
|
|
|
|
|
+ meta: { showRouter: true },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- path: '/energy',
|
|
|
|
|
- name: 'energy',
|
|
|
|
|
- component: () => import('@/views/energy.vue'),
|
|
|
|
|
- meta:{showRouter:true}
|
|
|
|
|
|
|
+ path: "/energy",
|
|
|
|
|
+ name: "energy",
|
|
|
|
|
+ component: () => import("@/views/energy.vue"),
|
|
|
|
|
+ meta: { showRouter: true },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- path: '/more',
|
|
|
|
|
- name: 'more',
|
|
|
|
|
- component: () => import('@/views/more.vue'),
|
|
|
|
|
- meta:{showRouter:false}
|
|
|
|
|
|
|
+ path: "/more",
|
|
|
|
|
+ name: "more",
|
|
|
|
|
+ component: () => import("@/views/more.vue"),
|
|
|
|
|
+ meta: { showRouter: false },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- path: '/teacher',
|
|
|
|
|
- name: 'teacher',
|
|
|
|
|
- component: () => import('@/views/teacher.vue'),
|
|
|
|
|
- meta:{showRouter:false}
|
|
|
|
|
|
|
+ path: "/teacher",
|
|
|
|
|
+ name: "teacher",
|
|
|
|
|
+ component: () => import("@/views/teacher.vue"),
|
|
|
|
|
+ meta: { showRouter: false },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- path: '/student',
|
|
|
|
|
- name: 'student',
|
|
|
|
|
- component: () => import('@/views/student.vue'),
|
|
|
|
|
- meta:{showRouter:false}
|
|
|
|
|
|
|
+ path: "/student",
|
|
|
|
|
+ name: "student",
|
|
|
|
|
+ component: () => import("@/views/student.vue"),
|
|
|
|
|
+ meta: { showRouter: false },
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ path: "/404",
|
|
|
|
|
+ name: "404",
|
|
|
|
|
+ component: () => import("@/views/404.vue"),
|
|
|
|
|
+ meta: { showRouter: false },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+// 白名单
|
|
|
|
|
+const whiteList = ["/", "/404"];
|
|
|
|
|
+
|
|
|
|
|
+// 路由全局前置守卫
|
|
|
|
|
+router.beforeEach((to, from, next) => {
|
|
|
|
|
+ // 判断是否为白名单页面
|
|
|
|
|
+ if (whiteList.includes(to.path)) {
|
|
|
|
|
+ // 白名单页面直接放行
|
|
|
|
|
+ next();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ const token = localStorage.getItem("WANZAI-TOKEN");
|
|
|
|
|
+ // console.log(token);
|
|
|
|
|
+ if (token) {
|
|
|
|
|
+ next();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ next("/404");
|
|
|
}
|
|
}
|
|
|
- ]
|
|
|
|
|
-})
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
-export default router
|
|
|
|
|
|
|
+export default router;
|