瀏覽代碼

登录许可

dev_YWQ
HolyKnightIX 1 年之前
父節點
當前提交
70d16baba3
共有 2 個檔案被更改,包括 36 行新增50 行删除
  1. +24
    -48
      src/permission.ts
  2. +12
    -2
      src/views/signSucceed/index.vue

+ 24
- 48
src/permission.ts 查看文件

@@ -1,5 +1,4 @@
import router from "@/router"; import router from "@/router";
import { useUserStoreHook } from "@/store/modules/user";
import { usePermissionStoreHook } from "@/store/modules/permission"; import { usePermissionStoreHook } from "@/store/modules/permission";


import NProgress from "nprogress"; import NProgress from "nprogress";
@@ -11,51 +10,28 @@ const permissionStore = usePermissionStoreHook();
// 白名单路由 // 白名单路由
const whiteList = ["/login", "/signSucceed"]; 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 查看文件

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

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


@@ -48,6 +49,7 @@ const route = useRoute();
const router = useRouter(); const router = useRouter();
const { params, query } = route; const { params, query } = route;
const isSuccess = ref(0); const isSuccess = ref(0);
const count = ref(5);


function doActivateByTicket() { function doActivateByTicket() {
const ticket = query.ticket; const ticket = query.ticket;
@@ -56,6 +58,14 @@ function doActivateByTicket() {
console.log(res, "res"); console.log(res, "res");
localStorage.setItem("AccessToken", res.data.token); localStorage.setItem("AccessToken", res.data.token);
isSuccess.value = 1; isSuccess.value = 1;
const timer = setInterval(() => {
if (count.value != 0) {
count.value -= 1;
} else {
clearInterval(timer);
router.push("/createVideo");
}
}, 1000);
}) })
.catch((err) => { .catch((err) => {
console.log(err, "err"); console.log(err, "err");
@@ -118,7 +128,7 @@ onMounted(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.content { .content {
position: relative; position: relative;
height: 1000px;
height: 100%;
padding: 100px 0 0 40px; padding: 100px 0 0 40px;
background-color: #000000; background-color: #000000;
color: #ffffff; color: #ffffff;


Loading…
取消
儲存