2022-08-03 21:26:42 +08:00
|
|
|
|
import Vue from "vue";
|
|
|
|
|
|
import VueRouter from "vue-router";
|
2022-08-12 18:26:27 +08:00
|
|
|
|
import axios from "axios";
|
2022-08-02 10:16:07 +08:00
|
|
|
|
|
2022-08-03 21:26:42 +08:00
|
|
|
|
Vue.use(VueRouter);
|
2022-08-02 10:16:07 +08:00
|
|
|
|
|
|
|
|
|
|
const createRouter = () =>
|
|
|
|
|
|
new VueRouter({
|
2022-08-03 21:26:42 +08:00
|
|
|
|
scrollBehavior: () => ({ y: 0 }),
|
|
|
|
|
|
});
|
2022-08-02 10:16:07 +08:00
|
|
|
|
|
2022-08-03 21:26:42 +08:00
|
|
|
|
const router = createRouter();
|
|
|
|
|
|
|
|
|
|
|
|
router.beforeEach((to, from, next) => {
|
2022-08-12 18:26:27 +08:00
|
|
|
|
// console.log(to,next);
|
|
|
|
|
|
const token = localStorage.getItem("token");
|
|
|
|
|
|
// 目标路由不是登录页,并且还需要token验证,还没有token,那就直接给返回到登录页
|
|
|
|
|
|
if (to.name !== "Login" && !token) {
|
|
|
|
|
|
next({ name: "Login" });
|
2022-08-03 21:26:42 +08:00
|
|
|
|
} else {
|
2022-08-12 18:26:27 +08:00
|
|
|
|
// 目标路由是登录页-自然不需要token验证
|
|
|
|
|
|
// 或目标路由不需要身份验证
|
|
|
|
|
|
// 又或目标路由非登录页,需要token验证,但是有token
|
|
|
|
|
|
// next放行
|
|
|
|
|
|
next();
|
2022-08-03 21:26:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
export default router;
|