guard.ts 760 B

123456789101112131415161718192021222324252627282930
  1. import { Router } from "vue-router";
  2. import store from "@/store";
  3. import dayjs from "dayjs";
  4. import { Toast } from "vant";
  5. const guard = (router: Router) => {
  6. router.beforeEach(async (to, from, next) => {
  7. const userTime = dayjs(store.getters.getUserData.expireTime).valueOf();
  8. const currentTime = dayjs().valueOf();
  9. switch (to.path) {
  10. case "/exercise":
  11. if (userTime - currentTime > 0) {
  12. next();
  13. } else {
  14. Toast.fail("会员到期");
  15. }
  16. break;
  17. case "/mockTest":
  18. if (userTime - currentTime > 0) {
  19. next();
  20. } else {
  21. Toast.fail("会员到期");
  22. }
  23. break;
  24. default:
  25. next();
  26. break;
  27. }
  28. });
  29. };
  30. export default guard;