课程与公开目录
以下由独立 API 服务实现,但当前 app/api/ 中没有对应 Web 路由。网站 SSR 内网可读不等于 外部客户端能从 https://link2.cn 访问;先补公开代理与验证,再写正式命令。外部客户端不要使用 BACKEND_API_ORIGIN。
| 方法 | 路径 | 参数 / 返回 |
|---|---|---|
| GET | /api/public/skillhub/index |
{schemaVersion:1,packages:[…]};仅本站免费包,含 slug,packageName,displayName,summary,version,packageType,sha256,bytes,url,origin |
| GET | /api/public/courses |
q,category,access,page,pageSize;返回 items,total,page,pageCount |
| GET | /api/public/courses/series |
返回系列 {id,name}[] |
| GET | /api/public/courses/categories |
返回分类名称字符串数组 |
| GET | /api/public/courses/tabs |
q,access;返回公开课程导航元数据数组 |
| GET | /api/public/courses/{courseId}/lessons |
page;返回课时 items,total,page,pageCount,offset |
| GET | /api/public/sitemap |
站点地图条目,不是全文读取接口 |
课程查询 q/category 默认为空,access 使用 all/free/paid,page 默认 1,课程列表 pageSize 默认 12、最大 100;课时列表有独立固定分页,不使用该 pageSize。课程结果含标题、链接、简介、封面、作者、课时数及价格等元数据;课时结果含 id,slug,title,description,coverImageUrl,type,freePreview,durationSeconds,不含付费正文、视频播放凭证或文件存储 Key。契约见 public-catalog.ts。
GET /api/public/benefits 已有 Web 代理,可匿名查询系列权益与定价;读取 benefits 契约,价格展示不等于 CLI 已具备购买或扣费权限。