SuperAPI AI 工具集

iblai-course-access

编程与开发

查看项目

更新于 10-15 22:16

技能介绍

用途:在 Next.js 应用中接入完整的 edX 课程学习界面,包括层级课程大纲侧边栏、可折叠模块/课时/子课时与进度指示、顶部标签栏(Course、Progress、Dates、Discussion、Instructor)、面包屑与进度条头部、内嵌 learning MFE / LMS iframe(JWT postMessage 握手)、上一/下一单元导航、限时考试守卫,以及基于租户的访问控制。课程元数据、大纲、完成度与评分数据通过 data-layer 的 RTK Query hooks 获取。

主要能力:提供 CourseContentLayout、CourseContentTabPage、EdxIframe 等 Next 专用组件,以及 CourseOutline、CourseOutlineDrawer、CourseAccessGuard、TimedExam、CourseContentLoading 等框架无关组件;提供 useCourseDetail、useEdxIframe、useCourseNavigator 等 hooks 与 CourseOutlineContext、EdxIframeContext 两个上下文。

使用方式:需先完成 /iblai-auth 认证,配置 MCP 服务器与技能,并准备有效的 edX 课程 id。项目根目录需有 iblai.env(含 PLATFORM、DOMAIN、TOKEN),.env.local 需配置 NEXT_PUBLIC_LMS_URL、NEXT_PUBLIC_MFE_URL、NEXT_PUBLIC_LEGACY_LMS_URL、NEXT_PUBLIC_DM_URL。按 app/(app)/course-content/[course_id]/ 结构创建 layout.tsx 与各标签页 page.tsx,layout 挂载 CourseContentLayout,各页渲染 CourseContentTabPage。默认包管理器为 pnpm,未安装时回退 npm。完成后须运行 /iblai-ops-test,并启动 pnpm dev 在 http://localhost:3000 查看。

限制:不要为 ibl.ai SDK 组件添加自定义样式、颜色或 CSS 覆盖;除非用户明确要求,否则不实现深色模式。instructor 页面不会自行拦截非管理员,直接访问 URL 仍会渲染,需要硬性限制时须自行包裹管理员守卫。论坛标签路由段为 /discussion,与 tab 值 forum 不同,使用不同基础路径时需覆盖 tabHrefTemplate。iblai.env 不能替代 .env.local。