开放接口

本站所有数据都走 HTTP JSON 接口。这里列出的路径可以直接用浏览器或脚本访问 (需要登录的接口会返回 401)。

阅读接口(对外,可直接用)

《阅读》App 书源与老前端都在用。老路径 /api/legado.php 也已兼容。

GET/api/legado?action=search书源搜索:返回固定单本(书名/作者/封面/简介/最新章节)
GET/api/legado?action=bookInfo书籍详情:多返回 chapterCount
GET/api/legado?action=catalog目录:每项含 id、title(已拼成「第N章 标题」)
GET/api/legado?action=chapter&chapterId=124章节正文:{chapterId,title,content}
GET/api/v1/toc三层目录:册 → 单元 → 章,附每章段评数与进度
GET/api/v1/chapter?id=124阅读器数据:正文段落、段评、本章作者说、上下章
GET/api/v1/home首页聚合:书目、分册、最新/最热段评、档案库概览

账号与互动

老站账号可直接登录,密码不用改;首次登录后自动升级为 scrypt 存储。

POST/api/v1/login登录 {username,password,remember}
POST/api/v1/register注册 {username,nickname,password}
GET/api/v1/me当前用户(含未读数与权限)
POST/api/v1/comments发表段评/回复 {chapterId,paragraphId,content,parentId}
POST/api/v1/comment-like段评点赞/取消 {commentId}
GET/api/v1/notifications我的通知(可 ?unread=1)
POST/api/v1/notification-op通知操作 {action:read|read-all|delete|prefs}
GET/api/v1/author-notes作者说列表;带 ?chapterId= 返回该章聚合
POST/api/v1/author-note作者说操作 {action:create|update|delete|upvote|reply|delete-reply}

档案库接口

八类档案共用同一套接口 —— 类型只是数据库里的一行配置。

GET/api/v1/archive?type=character&q=安东尼奥&sort=weight词条列表(支持类型/关键词/标签/排序/进度遮蔽)
GET/api/v1/archive/character/an-tonio词条详情:字段、别名、双向关系、原文出处、讨论、历史版本
GET/api/v1/archive?id=42按 id 取单条(编辑器用,可读草稿)
POST/api/v1/archive-edit写操作 {action:save|subscribe|unsubscribe|suggest|discuss|entry-like}
GET/api/v1/archive-meta/types八类档案的类型定义(含 fieldSchema,前端表单据此渲染)
GET/api/v1/archive-meta/timeline按首次出现章节铺开的时间线
GET/api/v1/archive-meta/graph关系图谱 {nodes,edges}
GET/api/v1/archive-meta/recent最近变更流

批量导出(需要密钥)

单条读取对所有人开放;"一次把整库端走"需要密钥 —— 在「管理 → 对外接口密钥」签发,用 Authorization: Bearer 提交。单次最多 200 条,请分页。

GET/api/v1/export?what=toc&limit=200&offset=0目录页(id、sortOrder、册/单元、字数)
GET/api/v1/export?what=chapters&limit=50章节(默认不含正文;加 &content=1 才带 content)
GET/api/v1/export?what=archive&type=character&limit=100档案词条(可按 type 过滤;含 fields 结构化字段)
GET/api/v1/export?what=meta八类档案的 fieldSchema(据此渲染表单/解析 fields)
GET/api/v1/export?what=all&limit=200目录 + 词条一次取(不含正文)

老路径兼容层

老前端(views/pc、views/mobile)与旧书源不改一行代码也能跑;返回结构与老 PHP 逐字段一致。

GET/api/get_toc.php目录(老格式:id/sort_order/title/display_title)
GET/api/get_chapter.php?id=124正文(老格式:paragraphs 数组 + comment_counts 按段落下标)
GET/POST/api/comments.php?action=get|post|like|delete段评(FormData 提交,content 已做 PHP 同款转义)
GET/POST/api/user.php?action=info|login|register|logout|sync_progress|update_nickname|update_password账号(FormData;会话 Cookie 与老站同名)
GET/api/legado.php?action=…308 跳转到 /api/legado

怎么加第九类档案

档案库的类型不是写死在代码里的。往 entry_types 表插一行、给一份 field_schema(JSON),新的档案类别立刻就有了列表页、详情页、编辑表单、 别名、关系、讨论与版本历史 —— 不用改后端代码。当前八类:

剧情脉络plot节拍类型、单元序号、起止章
人物档案character档位、代号、所属势力、能力定位、外貌标志物、结局现状
势力组织faction类型、控制区域、领导人、与第十三区关系、实力评估
科技树tech分支、成熟度、前置依赖、产线/工艺、瓶颈
武器装备weapon类别、口径/规格、使用方、首次投入、现状
地理据点place区域、类型、控制方、结构/地形、战略价值
制度体系system层级、适用范围、制定者、核心条款、执行机构
章节索引chapter_index所属册、单元、节拍、主要人物、关键设定

读者可以在任意词条下「提交建议」,编辑以上角色可直接改;每次修改都会留一份版本快照, 随时可回滚。