实战课程模块

当以 course 或默认完整特性编译时,DioxusPress 提供完整的「课程(Course)→ 章节(Chapter)→ 课节(Lesson)」三级在线学习与付费解锁体验。

课程目录结构

assets/courses/
└── rust-fullstack-in-action/
    ├── course.yaml             # 课程级元数据:标题、定价(分)、难度、简介、access_tier
    ├── 01-foundations/
    │   ├── _chapter.yaml       # 章节标题、简介与 order 排序
    │   ├── 01-setup/
    │   │   └── index.mdx       # 免费试读课节(Frontmatter 设 preview: true)
    │   └── 02-ssr-hydration/
    │       └── index.mdx       # 付费课节(preview: false,服务端严格拦截未授权读取)
    └── 02-production/
        └── ...

服务端安全门禁(非前端遮罩)

与纯静态站点只能靠前端 CSS 隐藏正文不同,DioxusPress 的课节内容读取完全在 Axum 服务端校验用户会话与数据库权益表(user_course_entitlements / Pro 会员有效期):

  • 免费试读课节(preview: true):未登录访客与搜索引擎爬虫均可完整阅读,承担自然流量获客入口;
  • 受保护课节(未设或 preview: false):未解锁用户调用接口时,服务端仅返回课程大纲元信息与购买引导,绝不下发受保护的 Markdown 原文或课程静态附件。

完整 course.yaml、_chapter.yaml 与课节 Frontmatter 字段定义请参见 Frontmatter 字段字典。管理员既可在 /admin/entitlements 后台手动为学员开通单课或 Pro 会员(course 档位),也可开启 payments 档位接入微信支付、支付宝与 Stripe 实现自动回调发货。