// middleware/auth.ts /** * 全局认证中间件 * 用于处理需要登录才能访问的路由 * 如果用户未登录,将显示登录框并重定向到模型广场 * * @param to - 目标路由对象 * @returns void | NavigationResult - 如果需要重定向则返回导航结果 */ export default defineNuxtRouteMiddleware((to) => { const userStore = useUserStore() const modalStore = useModalStore() // 需要登录权限的路由列表 const authRoutes = [ '/high-availability', // 可以继续添加其他需要登录的路由 ] // 如果是需要登录的路由,且用户未登录 if (authRoutes.includes(to.path) && !userStore.isLoggedIn) { // 显示登录模态框 modalStore.showLoginModal() // 重定向到模型广场页面 return navigateTo('/model-square') } })