From 70d16baba3b620ffcb1152fc08575df0bbde6033 Mon Sep 17 00:00:00 2001 From: XiaoXinPro 14 IAH5R <568170040@qq.com> Date: Fri, 26 May 2023 11:40:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E8=AE=B8=E5=8F=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.ts | 72 +++++++++++---------------------- src/views/signSucceed/index.vue | 14 ++++++- 2 files changed, 36 insertions(+), 50 deletions(-) diff --git a/src/permission.ts b/src/permission.ts index 13b36ad..f9087ec 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -1,5 +1,4 @@ import router from "@/router"; -import { useUserStoreHook } from "@/store/modules/user"; import { usePermissionStoreHook } from "@/store/modules/permission"; import NProgress from "nprogress"; @@ -11,51 +10,28 @@ const permissionStore = usePermissionStoreHook(); // 白名单路由 const whiteList = ["/login", "/signSucceed"]; -// router.beforeEach(async (to, from, next) => { -// NProgress.start(); -// // const hasToken = localStorage.getItem("accessToken"); -// // if (hasToken) { -// // if (to.path === "/login") { -// // // 如果已登录,跳转首页 -// // next({ path: "/" }); -// // NProgress.done(); -// // } else { -// // const userStore = useUserStoreHook(); -// // const hasRoles = userStore.roles && userStore.roles.length > 0; -// // if (hasRoles) { -// // // 未匹配到任何路由,跳转404 -// // if (to.matched.length === 0) { -// // from.name ? next({ name: from.name }) : next("/404"); -// // } else { -// // next(); -// // } -// // } else { -// // try { -// // const { roles } = await userStore.getInfo(); -// // const accessRoutes = await permissionStore.generateRoutes(roles); -// // accessRoutes.forEach((route) => { -// // router.addRoute(route); -// // }); -// // next({ ...to, replace: true }); -// // } catch (error) { -// // // 移除 token 并跳转登录页 -// // await userStore.resetToken(); -// // next(`/login?redirect=${to.path}`); -// // NProgress.done(); -// // } -// // } -// // } -// // } else { -// // // 未登录可以访问白名单页面 -// // if (whiteList.indexOf(to.path) !== -1) { -// // next(); -// // } else { -// // next(`/login?redirect=${to.path}`); -// // NProgress.done(); -// // } -// // } -// }); +router.beforeEach(async (to, from, next) => { + NProgress.start(); + const AccessToken = localStorage.getItem("AccessToken"); + // 已登录 + if (AccessToken) { + if (to.path === "/login") { + next({ path: "/" }); + } else { + next(); + } + // 未登录 + } else { + // 未登录可以访问白名单页面 + if (whiteList.indexOf(to.path) !== -1) { + next(); + } else { + // 不在白名单内,跳转登录页 + next({ path: "/login" }); + } + } +}); -// router.afterEach(() => { -// NProgress.done(); -// }); +router.afterEach(() => { + NProgress.done(); +}); diff --git a/src/views/signSucceed/index.vue b/src/views/signSucceed/index.vue index 22c3b9c..80540b6 100644 --- a/src/views/signSucceed/index.vue +++ b/src/views/signSucceed/index.vue @@ -10,11 +10,12 @@ style="color: #ffffff; transform: scale(2)" /> +
{{ $t("signSucceed.welcome") }}
{{ $t("signSucceed.createSuccess") }}
- {{ $t("signSucceed.goLogin") }} + {{ $t("signSucceed.goLogin") + " " + count }}
@@ -48,6 +49,7 @@ const route = useRoute(); const router = useRouter(); const { params, query } = route; const isSuccess = ref(0); +const count = ref(5); function doActivateByTicket() { const ticket = query.ticket; @@ -56,6 +58,14 @@ function doActivateByTicket() { console.log(res, "res"); localStorage.setItem("AccessToken", res.data.token); isSuccess.value = 1; + const timer = setInterval(() => { + if (count.value != 0) { + count.value -= 1; + } else { + clearInterval(timer); + router.push("/createVideo"); + } + }, 1000); }) .catch((err) => { console.log(err, "err"); @@ -118,7 +128,7 @@ onMounted(() => {