import {createRouter, createWebHashHistory} from "vue-router";
import {routes} from "./routes";
import { userStore } from "@/store/userStore";
// 创建路由实例并传递 `routes` 配置
const router = createRouter({
    // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
    history: createWebHashHistory(),
    routes, // `routes: routes` 的缩写
})
//路由的请求拦截器 
//to 是即将进入的路由对象，from 是当前离开的路由对象，next 是一个函数，调用它会继续导航。
router.beforeEach((to, from, next) => {
    const store = userStore();
    if (to.name === 'login') {
        // 当导航到登录页时清空 Pinia 状态
        store.$reset();
        next();
    } else if (store.loginUser.userRole === "notLogin") {
        // 如果未登录则重定向到登录页
        next({ name: 'login' });
    } else {
        // 允许已登录用户导航
        next();
    }
});
export default router
