Mars Developer 51f8d95bf9 first commit
2025-06-26 11:24:11 +08:00

39 lines
1.1 KiB
JavaScript

export default defineNuxtRouteMiddleware((to, from) => {
console.log('admin-auth 中间件执行:', to.path)
// 只在客户端执行
if (process.server) {
console.log('服务器端跳过中间件检查')
return
}
// 检查认证状态
const isAuthenticated = localStorage.getItem('isAuthenticated')
const adminUser = localStorage.getItem('adminUser')
console.log('认证状态:', isAuthenticated)
console.log('管理员用户:', adminUser)
if (!isAuthenticated || isAuthenticated !== 'true') {
console.log('未认证,重定向到登录页')
return navigateTo('/login')
}
if (adminUser) {
try {
const user = JSON.parse(adminUser)
if (user.role !== 'admin') {
console.log('非管理员用户,重定向到登录页')
return navigateTo('/login')
}
} catch (error) {
console.error('解析用户信息失败:', error)
return navigateTo('/login')
}
} else {
console.log('缺少用户信息,重定向到登录页')
return navigateTo('/login')
}
console.log('管理员认证通过')
})