Expand description
文章 CRUD 相关接口。 文章模块:提供文章的 CRUD、列表、搜索、标签聚合与统计等 server function。
所有 Leptos server function 均注册在 /api 路径下,供前端与服务端调用。
仅在 feature = "server" 启用的服务端构建中执行数据库操作与缓存失效。
Modules§
- archive 🔒
- 固定大小的公开归档分页,与首页列表的 50 条上限独立。
- batch 🔒
- 后台文章的批量操作:发布、转为草稿、移到回收站。
- create 🔒
- 创建文章接口。
- delete 🔒
- 删除文章接口。
- helpers 🔒
- 文章模块内部辅助函数。
- list 🔒
- 文章列表查询接口。
- mermaid_
preview 🔒 - 后台编辑器的 Mermaid 预览:与文章保存时同一套服务端渲染。
- outline 🔒
- 首页「最新一篇」的目录预览接口。
- read 🔒
- 文章详情查询接口。
- rebuild 🔒
- 批量重建文章 HTML 与目录。
- roundtrip 🔒
- 富文本编辑器往返守卫:比较原文与编辑器往返后的 Markdown 渲染结果。
- search 🔒
- 文章全文搜索接口。
- service 🔒
- 文章写入业务:已鉴权入口传入作者,统一执行校验、事务和提交后缓存失效。
- stats 🔒
- 文章统计接口。
- suggest 🔒
- 搜索面板(⌘K)的文章建议接口。
- tags 🔒
- 标签列表接口。
- trash 🔒
- 回收站操作接口:恢复、彻底删除、批量操作与一键清空。
- types 🔒
- 文章 API 的请求与响应数据结构。
- update 🔒
- 更新文章接口。
- validation 🔒
- 与认证方式无关的文章写入校验。
Structs§
- Admin
Post Query - 文章 API 的请求与响应数据结构。 后台文章列表的筛选条件。各项为空表示不按该项筛选。
- Archive
Response - Batch
Post Result - 文章 API 的请求与响应数据结构。 批量操作结果:成功篇数与失败篇数。
- Create
Post Response - 文章 API 的请求与响应数据结构。 创建/更新/删除文章的统一响应结构。
- Path
Recommendations - 搜索面板(⌘K)的文章建议。 404 页「也许你在找」:从地址里拆出的词。
- Post
List Response - 文章 API 的请求与响应数据结构。 文章列表响应。
- Post
Outline - 文章 API 的请求与响应数据结构。 首页「最新一篇」的目录预览:一级小节总数与前几个小节标题。
- Post
Stats Response - 文章 API 的请求与响应数据结构。 文章统计响应。
- Post
Suggestion - 文章 API 的请求与响应数据结构。 搜索面板(⌘K)里的一条文章建议:只含标题、摘要、发布时间与标签。
- Post
Suggestion Response - 文章 API 的请求与响应数据结构。 文章建议响应。
- Public
Post Response - 文章 API 的请求与响应数据结构。 阅读页详情不携带原始 Markdown;完整响应保留给编辑、预览和旧客户端。
- Rebuild
Result - 文章 API 的请求与响应数据结构。 Markdown 重建结果响应。
- Single
Post Response - 文章 API 的请求与响应数据结构。 单篇文章详情响应。
- TagList
Response - 文章 API 的请求与响应数据结构。 标签列表响应。
- Year
Count - 某一年发布的篇数。
Enums§
- Batch
Post Action - 文章 API 的请求与响应数据结构。 批量操作:转为草稿或移到回收站。
Constants§
- ARCHIVE_
PAGE_ SIZE - OUTLINE_
PREVIEW_ LIMIT - 文章 API 的请求与响应数据结构。 目录预览列出的小节数。
- SUGGESTION_
LIMIT - 文章 API 的请求与响应数据结构。 文章建议的条数上限。
Functions§
- batch_
posts - 后台列表批量操作(转为草稿、移到回收站)。 对多篇文章执行同一操作。需要 admin 权限。
- batch_
purge_ posts - 恢复已删除文章。 批量彻底删除文章。
- batch_
restore_ posts - 恢复已删除文章。 批量恢复文章。
- check_
markdown_ roundtrip - 富文本编辑器往返渲染一致性检查。 富文本编辑器载入正文后比较原文与往返 Markdown:两者渲染出的 HTML 完全相同才返回 true。
- create_
post - 创建新文章。 创建一篇新文章。
- delete_
post - 删除指定文章。 删除指定文章。
- empty_
trash - 恢复已删除文章。 清空回收站:彻底删除所有已软删除的文章。
- get_
post_ by_ id - 根据 id 获取文章详情。 根据 slug 获取已发布文章详情(公开)。 按 slug 预览文章(管理员,含草稿)。 根据文章 id 获取详情。
- get_
post_ by_ slug - 根据 id 获取文章详情。 根据 slug 获取已发布文章详情(公开)。 按 slug 预览文章(管理员,含草稿)。 根据 slug 获取公开文章详情。
- get_
post_ preview - 根据 id 获取文章详情。 根据 slug 获取已发布文章详情(公开)。 按 slug 预览文章(管理员,含草稿)。 管理员按 slug 预览文章(含草稿),不缓存、不带上下篇导航。
- get_
post_ stats - 获取文章统计信息。 获取文章统计信息。
- get_
posts_ by_ tag - 获取已发布文章分页列表。 获取指定标签下的全部已发布文章(上限 200),用于无分页 UI 的标签详情页。 结果缓存于按标签的键空间。
- get_
public_ post_ by_ slug - 根据 id 获取文章详情。 根据 slug 获取已发布文章详情(公开)。 按 slug 预览文章(管理员,含草稿)。 阅读页使用独立协议,避免新部署破坏已打开页面的旧客户端。
- latest_
post_ outline - 首页最新一篇的目录预览。
获取最新一篇已发布文章的目录预览;没有文章或文章没有小节时返回
None。 - list_
archive_ posts - list_
deleted_ posts - 获取回收站中已软删除的文章列表。 获取回收站中已软删除的文章列表。
- list_
posts - 获取管理员视角的全部文章分页列表。 获取后台文章列表(含草稿,不含回收站),按创建时间倒序。
- list_
published_ posts - 获取已发布文章分页列表。 获取已发布文章分页列表。
- list_
tags - 获取全部标签及其文章数量。 获取全部标签列表。
- posts_
per_ year - 每年发布的篇数,按年份升序;中间没有文章的年份补 0。关于页的柱状图使用, 在服务端聚合并随文章列表缓存一起失效。
- purge_
post - 恢复已删除文章。 彻底删除一篇已删除的文章(物理删除,不可恢复)。
- rebuild_
content_ html - 重新渲染文章的 Markdown HTML 与目录。 批量重建文章 content_html 与 toc_html(单批,客户端按游标续传)。
- rebuild_
post_ content_ html - 重新渲染指定文章的 Markdown HTML 与目录(单篇)。 重新渲染指定文章的 content_html 与 toc_html。
- recommend_
for_ path - 搜索面板(⌘K)的文章建议。 按地址里的词匹配已发布文章的标题与 slug,命中词多的排前,最多 3 篇。 地址里没有可用的词时不查询。公开接口,结果不缓存(只在 404 时调用)。
- render_
mermaid_ preview - 后台编辑器的 Mermaid 预览(服务端渲染)。
渲染一张图,返回浅色、深色两份 SVG 的 HTML(
mermaid-light/mermaid-dark两个 div)。 - restore_
post - 恢复已删除文章。 恢复一篇已删除的文章(将 deleted_at 置空)。
- search_
posts - 全文搜索已发布文章。 搜索已发布文章。
- suggest_
posts - 搜索面板(⌘K)的文章建议。 搜索面板的文章建议。
- update_
post - 更新指定文章。 更新指定文章。