kun-galgame-vue/src/router/index.ts

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-04-20 08:04:08 +00:00
import {
type RouteRecordRaw,
createRouter,
createWebHashHistory,
createWebHistory,
} from "vue-router";
/** 常驻路由 */
export const constantRoutes: RouteRecordRaw[] = [
{
name:'topic',
path: "/topic",
component: () => import("@/views/topic/KUNGalgameTopicPage.vue")
},
];
const router = createRouter({
history:
import.meta.env.VITE_ROUTER_HISTORY === "hash"
? createWebHashHistory(import.meta.env.VITE_PUBLIC_PATH)
: createWebHistory(import.meta.env.VITE_PUBLIC_PATH),
routes: constantRoutes,
});
/** 重置路由 */
export function resetRouter() {
// 注意:所有动态路由路由必须带有 Name 属性,否则可能会不能完全重置干净
try {
router.getRoutes().forEach((route: { name: any; meta: any }) => {
const { name, meta } = route;
if (name && meta.roles?.length) {
router.hasRoute(name) && router.removeRoute(name);
}
});
} catch (error) {
// 强制刷新浏览器也行,只是交互体验不是很好
window.location.reload();
}
}
export default router;