import { createRouter, createWebHistory } from 'vue-router'; import Home from '@/views/Home.vue'; import teacherHome from '@/views/teacherHome.vue'; import userHome from '@/views/userHome.vue'; import notfound from '@/views/notfound.vue';

const router = createRouter({ history: createWebHistory(import.meta.BASE_URL), routes: [ // 登录页面 { // 设置根目录 path: '/', redirect: '/login' }, // 主页面视图 { path: '/home', name: 'home', component: Home, // 设置需要鉴权的路由 meta: { requiresAuth: true, roles: ['admin'] }, children: [ { // 用户视图 path: 'user', name: 'user', meta: { requiresAuth: true, roles: ['admin'] }, children: [ { // 添加用户到分组 path: 'addUser', name: 'addUser', component: () => import('@/views/admin/user/addUser.vue'), }, { // 移除用户分组 path: 'removeUser', name: 'removeUser', component: () => import('@/views/admin/user/removeUser.vue'), }, ] }, { // 教师视图 path: 'teacher', name: 'teacher', meta: { requiresAuth: true, roles: ['admin'] }, children: [ { // 新增教师 path: 'addTeacher', name: 'addTeacher', component: () => import('@/views/admin/teacher/addTeacher.vue'), }, { // 搜索教师 path: 'searchTeacher', name: 'searchTeacher', component: () => import('@/views/admin/teacher/searchTeacher.vue'), }, { // 搜索教学列表视图 path: 'searchTeachList', name: 'searchTeach', component: () => import('@/views/admin/teacher/searchTeachList.vue'), }, ] }, { // 学习资料视图 path: 'study', name: 'study', meta: { requiresAuth: true, roles: ['admin'] }, children: [ { // python path: 'python', name: 'python', component: () => import('@/views/admin/study/python.vue'), }, { // C++ path: 'CPluses', name: 'CPluses', component: () => import('@/views/admin/study/CPluses.vue'), }, { // 图形化 path: 'graphical', name: 'graphical', component: () => import('@/views/admin/study/graphical.vue'), }, ] }, { // 班级类型 path: 'classType', name: 'classType', component: () => import('@/views/admin/classType/type.vue'), meta: { requiresAuth: true, roles: ['admin'] }, }, { // 教室管理 path: 'classRoom', name: 'classRoom', component: () => import('@/views/admin/classRoom/room.vue'), meta: { requiresAuth: true, roles: ['admin'] }, }, { // 管理员信息 path: 'adminInfo', name: 'adminInfo', component: () => import('@/views/admin/adminInfo/adminInfo.vue'), meta: { requiresAuth: true, roles: ['admin'] }, } ], }, { path: '/teacherhome', name: 'teacherhome', component: teacherHome, // 设置需要鉴权的路由 meta: { requiresAuth: true, roles: ['teacher'] }, }, { path: '/userhome', name: 'userhome', component: userHome, // 设置需要鉴权的路由 meta: { requiresAuth: true, roles: ['user'] }, children: [ { // 用户首页 path: '/homePage', name: 'homePage', component: () => import('@/views/admin/adminInfo/adminInfo.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, { // 学习资料信息 path: '/studyInfo', name: 'studyInfo', component: () => import('@/views/user/studyInfo/info.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, { // 课程信息 path: '/classInfo', name: 'classInfo', meta: { requiresAuth: true, roles: ['user'] }, children: [ { // 待上课信息 path: '/waitForClass', name: 'waitForClass', component: () => import('@/views/user/classInfo/waitForClass.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, { // 已上课信息 path: '/classFinished', name: 'classFinished', component: () => import('@/views/user/classInfo/classFinished.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, { // 未上课信息 path: '/notToClass', name: 'notToClass', component: () => import('@/views/user/classInfo/notToClass.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, ] }, { // 用户信息 path: '/userInfo', name: 'userInfo', component: () => import('@/views/user/userInfo/userInfo.vue'), meta: { requiresAuth: true, roles: ['user'] }, }, ] }, { // 注册 path: '/login', name: 'login', component: () => import('@/views/login/login.vue') }, { // 注册 path: '/register', name: 'register', component: () => import('@/views/login/register.vue') }, { // 报错 path: '/:catchAll(.*)', name: 'NotFound', component: notfound, } ], }); 修改以上文

import createRouter createWebHistory from vue-router;import Home from viewsHomevue;import teacherHome from viewsteacherHomevue;import userHome from viewsuserHomevue;import notfound from viewsnotfoun

原文地址: https://www.cveoy.top/t/topic/h7sI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录