Ver código fonte

登录许可

dev_YWQ
HolyKnightIX 1 ano atrás
pai
commit
70d16baba3
2 arquivos alterados com 36 adições e 50 exclusões
  1. +24
    -48
      src/permission.ts
  2. +12
    -2
      src/views/signSucceed/index.vue

+ 24
- 48
src/permission.ts Ver arquivo

@@ -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();
});

+ 12
- 2
src/views/signSucceed/index.vue Ver arquivo

@@ -10,11 +10,12 @@
style="color: #ffffff; transform: scale(2)"
/>
</div>

<div v-if="isSuccess == 1">
<div class="welcome">{{ $t("signSucceed.welcome") }}</div>
<div class="success">{{ $t("signSucceed.createSuccess") }}</div>
<div class="login pointer" @click="goLogin">
{{ $t("signSucceed.goLogin") }}
{{ $t("signSucceed.goLogin") + " " + count }}
</div>
</div>

@@ -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(() => {
<style lang="scss" scoped>
.content {
position: relative;
height: 1000px;
height: 100%;
padding: 100px 0 0 40px;
background-color: #000000;
color: #ffffff;


Carregando…
Cancelar
Salvar