提供内部 API 作为统一内容入口

之前已经把内容加载链路打通了:SSG 阶段只渲染一部分 MDX 作为预览内容,当用户登录后,再去拿完整内容。

实现思路

这里不能让客户端直接访问 GitHub API,因为可能暴露 token,且可能触发限制。

所以更合理的做法是提供一个内部 API,作为客户端加载完整内容的统一入口。这一层实现:

  • 校验用户登录态
  • 调用共享内容服务获取完整 MDX
  • 返回给客户端渲染

实现方式

我们在 Next.js 里直接用 Route Handler 做这一层,比如:/api/content/courses/[courseSlug]/lessons/[lessonSlug]

1. 校验登录态

登录后查看完整方案说明

当前仅展示《提供内部 API 作为统一内容入口》的部分内容。页面加载时会自动弹出登录框,若你刚刚关闭了它,点击下面按钮可继续查看完整说明。