2.4 KiB
原图排版:通过 API 发布普通 post
本组内容是 27 张设计 post + 1 篇 Router,保留原有 /explore/<id> 地址。素材、封面、构件清单和 HTML/React/Next.js 示例均为 API 上传的数据,不再注册为 Wiki 的代码内容。
通用 API 工作流
POST /api/upload,multipartassetOnly=true,独立存储图像,不创建素材包。POST /api/posts,传入publicId(可选的 24 位稳定 ID)、图片关联、正文、标签与封面,创建普通数据库 post。- 后续
GET /api/notes/{id}获取 revision,再PUT更新文字、媒体关联及coverAssetId。普通 UUID 与稳定 publicId 都可读取和编辑。 - 图片通过
/api/media/{id},正文通过原 post 的?agent_mode=True读取。
publicId 是通用迁移能力,不包含任何排版 ID 特判。数据库 post 可以接管同 ID 的代码条目,内容流按稳定 ID 去重。媒体和封面参与 revision,防止并发修改覆盖。替换素材关联只改引用,不删除原二进制或其他 post 的引用。
本地创作数据与封面
content/layout-reference/ 是 Wiki 应用之外的本地创作输入;不会被应用编译或挂载到 public。27 张原图、217 个文字/图位/装饰构件及识别证据保留在这里。scripts/publish-layout-reference.mjs 通过上述通用 API 上传资料,使用检查点保证可继续发布。
新封面由 27 张实际裁片组成,使用 ref-01…ref-27 标签,并标出文字 113、图位 51、装饰 53。封面经媒体 API 上传并设置为 Router 的普通 coverAssetId。
旧 /layout-reference/... 检查器、HTML 演示、JSON 静态文件及 ZIP 资源已从站点移除。构件表与清单直接写在 post 正文中;代码是可复制文本,不在 Wiki 内执行。原有 12 类近似方案的代码重定向特判也移除。
验证
本地执行类型检查和单元测试。Docker 集成测试验证独立上传不创建 post、stable publicId 接管与去重、正文及 JSON/TSX 的纯文本可读性、封面更新及并发冲突、媒体引用替换、重复 ID 拒绝,以及旧自定义目录返回 404。
部署成功后运行 API 发布客户端,核对 28 个标准 post、媒体文件、Router 封面、纯文本入口和正文中的全部链接。图像识别与构件合成属于本地创作校验,不作为 Wiki 的页面实现。