errorGuard.ts 460 Bytes
import { PageEnum } from "@/enums/pageEnum";
import { Router } from "vue-router"

export const createErrorGuard = (router: Router) => {
  router.beforeEach((to, from, next) => {
    const isErrorPage = router.getRoutes().findIndex((item) => item.name === to.name);
    if (isErrorPage === -1) {
      next({ name: PageEnum.ERROR_PAGE_NAME_404 })
    }
    next()
  })

  // 错误
  router.onError((error) => {
    console.log(error, '路由错误');
  });
}