import { getUserInfo } from "@lsq/base"; import { createRouter, createWebHashHistory } from "vue-router"; const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), routes: [ { path: "/", name: "home", component: () => import("@/views/Home/index.vue"), meta: { hideTopNavBgColor: true, }, }, { path: "/home", name: "home2", component: () => import("@/views/Home2/index.vue"), meta: { showLogo: true, topNavBgColor: "rgba(248, 246, 242, 0.2)", }, }, { path: "/bookshelf", name: "bookshelf", component: () => import("@/views/Bookshelf/index.vue"), meta: { showLogo: true, needLogin: true, }, }, { path: "/stack", name: "stack", component: () => import("@/views/Stack/index.vue"), meta: { showLogo: true, }, }, { path: "/detail/:id/:type", name: "detail", component: () => import("@/views/Detail/index.vue"), meta: {}, }, ], }); router.beforeEach((to, from, next) => { const userInfo = getUserInfo(); if (to.name !== "detail") { // 除了 detail 页面,其他页面不需要暗黑模式 localStorage.removeItem("vueuse-color-scheme"); document.documentElement.className = ""; } if (to.meta.needLogin && !userInfo) { next({ name: "home", }); return; } next(); }); export default router;