import { createRouter, createWebHashHistory } from 'vue-router' import { useUserStore } from '@/stores/user' const routes = [ { path: '/', redirect: '/dashboard' }, { path: '/login', name: 'Login', component: () => import('@/views/login/index.vue'), meta: { title: '登录' } }, { path: '/', component: () => import('@/layouts/MainLayout.vue'), children: [ { path: 'dashboard', name: 'Dashboard', component: () => import('@/views/dashboard/index.vue'), meta: { title: '首页', icon: 'HomeFilled' } }, { path: 'behavior', name: 'Behavior', component: () => import('@/views/behavior/index.vue'), meta: { title: '课堂行为分析', icon: 'TrendCharts' } }, { path: 'history', name: 'History', component: () => import('@/views/history/index.vue'), meta: { title: '历史记录查询', icon: 'Search' } }, { path: 'bigscreen', name: 'BigScreen', component: () => import('@/views/bigscreen/index.vue'), meta: { title: '数据展示大屏', icon: 'DataAnalysis' } }, { path: 'settings/rules', name: 'Rules', component: () => import('@/views/settings/rules.vue'), meta: { title: '考勤规则设置', icon: 'Setting' } }, { path: 'settings/permissions', name: 'Permissions', component: () => import('@/views/settings/permissions.vue'), meta: { title: '权限管理', icon: 'Lock' } }, { path: 'info/student', name: 'InfoStudent', component: () => import('@/views/info/student.vue'), meta: { title: '学生信息', icon: 'User' } }, { path: 'info/building', name: 'InfoBuilding', component: () => import('@/views/info/building.vue'), meta: { title: '教室信息', icon: 'OfficeBuilding' } }, { path: 'info/class', name: 'InfoClass', component: () => import('@/views/info/class.vue'), meta: { title: '班级信息', icon: 'School' } }, { path: 'info/teacher', name: 'InfoTeacher', component: () => import('@/views/info/teacher.vue'), meta: { title: '教师信息', icon: 'UserFilled' } }, { path: 'info/course', name: 'InfoCourse', component: () => import('@/views/info/course.vue'), meta: { title: '课程信息', icon: 'Reading' } }, { path: 'bigscreen/room/:id', name: 'BigScreenRoomDetail', component: () => import('@/views/bigscreen/roomDetail.vue'), meta: { title: '教室监控详情' } } ] } ] const router = createRouter({ history: createWebHashHistory(), routes }) router.beforeEach((to, from, next) => { document.title = to.meta.title ? `${to.meta.title} - 教室智能人脸考勤系统` : '教室智能人脸考勤系统' const store = useUserStore() if (!store.token && to.path !== '/login') { next('/login') } else { next() } }) export default router