视图与路由
Chamilo 拥有一套庞大的 Vue 视图(页面级组件),通过 Vue Router 进行连接。实际文件位于 assets/vue/views/ 目录下。
路由架构
路由定义在 assets/vue/router/index.js 中,使用 createWebHistory 来实现简洁的 URL。
路由是模块化的——按功能组织成独立的路由文件,并导入到主路由中:
admin
管理面板页面
sessionAdmin
会话管理页面
course
课程列表、创建、主页、目录
account
用户资料和设置
personalfile
个人文件空间
message
消息/收件箱
user
用户管理页面
usergroup
用户组(班级)页面
userreluser
用户关系(好友/关注)页面
ccalendarevent
课程日历和议程
ctoolintro
课程工具介绍页面
page
静态 CMS 页面
pageLayout
页面布局包装器
publicPage
公开访问页面
social
社交网络页面
filemanager
文件管理器(课程文档浏览器)
skill
技能和能力页面
accessurl
多 URL(门户)管理页面
branch
分支/网络校区页面
room
虚拟房间页面
buycourses
课程购买页面
documents
文档管理
assignments
作业流程
links
外部链接管理
glossary
词汇表管理
attendance
出勤跟踪
lp
学习路径播放器和编辑器
dropbox
Dropbox / 文件交换
blog
博客页面
blogAdmin
博客管理
coursemaintenance
课程备份和恢复
catalogue
课程和会话目录
关键路由
/
AppIndex.vue(或自定义)
应用入口点
/home
pages/Home.vue
平台主页
/login
pages/Login.vue
登录页面
/courses
views/user/courses/List.vue
用户已注册的课程
/sessions
views/user/sessions/SessionsCurrent.vue
当前会话
/sessions/past
views/user/sessions/SessionsPast.vue
过去的会话
/sessions/upcoming
views/user/sessions/SessionsUpcoming.vue
即将到来的会话
/course/:id/home
views/course/CourseHome.vue
课程主页
/account/home
views/account/Home.vue
用户资料
/admin
管理视图
管理面板
/faq
pages/Faq.vue
常见问题页面
路由守卫
路由使用导航守卫(通过 beforeEach 和 afterEach 声明)来:
通过
useSecurityStore检查认证状态,并将未认证用户重定向到/login通过
useCidReqStore验证课程上下文在 SPA 导航期间应用页面类型 CSS 类(替代 Twig 的
PageHelper在完整页面加载时所做的工作)支持自定义 Vue 模板覆盖——当启用自定义 Vue 模板时,入口组件
/将被替换为自定义的AppIndex.vue(var/vue_templates/pages/AppIndex.vue)
视图组织
视图位于 assets/vue/views/ 中,按功能组织:
最后更新于
这有帮助吗?