123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import { Router } from "vue-router";
- import store from "@/store";
- import dayjs from "dayjs";
- import { Toast } from "vant";
- import { useLogin, useUpdateUserInfo } from "@/hooks";
- import { userInfo } from "@/api";
- const guard = (router: Router) => {
- router.beforeEach(async (to, from, next) => {
- //如果是marked页面,不需要任何判断,直接进入
- if (to.path === "/marked") {
- next();
- return;
- }
- //监听到登陆事件
- if (to.query.state === "LOGIN") {
- // const toast = Toast.loading({
- // duration: 0, // 持续展示 toast
- // forbidClick: true,
- // message: "登陆中",
- // });
- await useLogin(to.query);
- // Toast("登录成功")
- next("./")
-
- // try {
- // await useLogin(to.query);
- // toast.message = `登陆成功`;
- // setTimeout(() => {
- // Toast.clear();
- // }, 500);
- // } catch (error) {
- // toast.message = `登陆失败`;
- // setTimeout(() => {
- // Toast.clear();
- // location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=https://jpcj-h5.zzxcx.net/home/test&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`);
- // }, 1000);
- // }
- }
- //更新用户的信息
- useUpdateUserInfo();
- //检测token状态,token失效直接跳转至登陆链接
- // try {
- // useUpdateUserInfo();
- // const authTest = await userInfo();
- // if (authTest.data.code !== 200) {
- // throw authTest.data.msg;
- // }
- // }
- // catch (error) {
- // //监听到登陆事件
- // if (to.query.state === "LOGIN") {
- // const toast = Toast.loading({
- // duration: 0, // 持续展示 toast
- // forbidClick: true,
- // message: "登陆中",
- // });
- // try {
- // await useLogin(to.query);
- // toast.message = `登陆成功`;
- // setTimeout(() => {
- // Toast.clear();
- // }, 500);
- // } catch (error) {
- // console.log(error)
- // toast.message = `登陆失败`;
- // setTimeout(() => {
- // Toast.clear();
- // location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=https://jpcj-h5.zzxcx.net/home/test&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`);
- // }, 1000);
- // }
- // } else {
- // location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=${location.href}&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect`);
- // }
- // }
- console.log("会员")
- try {
- const userTime: number = dayjs(store.getters.getUserData.expireTime).valueOf();
- const currentTime: number = dayjs().valueOf();
- const vipPathSet = new Set(["/exercise", "/mockTest"]);
- if (vipPathSet.has(to.path)) {
- if (to.query.title === '顺序练习') {
- next();
- }
- else if (to.query.title === '分类练习') {
- next();
- }
- else if (to.query.title === '模拟考试') {
- next();
- }
- else if (userTime - currentTime > 0) {
- next()
- }
- else {
- Toast.fail("会员到期");
- next("/buyVip");
- }
- } else {
- next();
- }
- } catch (error) {
-
- }
- });
- };
- export default guard;
|