投票支持

This commit is contained in:
浪子
2026-05-14 19:29:34 +08:00
parent a2badc2d4f
commit e55a1a063d
5 changed files with 819 additions and 42 deletions
+9 -3
View File
@@ -90,24 +90,28 @@ npm run deploy
嘟文:
- `POST /api/v1/statuses`(支持 `media_ids``spoiler_text``sensitive``in_reply_to_id``visibility``language`,自动解析 `@user`/`@user@host` 提及和 `#hashtag`,投递 Create 给 followers 与 mention)
- `POST /api/v1/statuses`(支持 `media_ids``spoiler_text``sensitive``in_reply_to_id``visibility``language``poll[...]``scheduled_at`,自动解析 `@user`/`@user@host` 提及和 `#hashtag`,投递 Create 给 followers 与 mention)
- `GET /api/v1/statuses/:id``DELETE /api/v1/statuses/:id`(联邦 Delete 出站)
- `GET /api/v1/statuses/:id/context`
- `POST /api/v1/statuses/:id/favourite``/unfavourite`(联邦 Like / Undo Like)
- `POST /api/v1/statuses/:id/reblog``/unreblog`(联邦 Announce / Undo Announce)
- `POST /api/v1/statuses/:id/bookmark``/unbookmark``/pin``/unpin`(本地落库)
- `GET /api/v1/polls/:id``POST /api/v1/polls/:id/votes`
- `GET /api/v1/scheduled_statuses``GET / PUT / DELETE /api/v1/scheduled_statuses/:id`
- `GET /api/v1/bookmarks``GET /api/v1/favourites`(列出本地 bookmark / favourite)
时间线 / 通知 / 媒体 / 搜索 / 其它:
- `GET /api/v1/timelines/public`(分页支持 `max_id` / `since_id` / `min_id`,响应携带 `Link` 头)
- `GET /api/v1/timelines/home`(合并本地嘟文 + 关注的远端账号缓存嘟文,按时间排序)
- `GET /api/v1/timelines/list/:id`
- `GET /api/v1/timelines/tag/:tag``GET /api/v1/tags/:name`(话题时间线 + 话题元数据)
- `GET / POST /api/v1/lists``GET / PUT / DELETE /api/v1/lists/:id``GET / POST / DELETE /api/v1/lists/:id/accounts`
- `GET /api/v1/notifications``POST /api/v1/notifications/clear``POST /api/v1/notifications/:id/dismiss`
- `POST /api/v1/media``POST /api/v2/media``PUT /api/v1/media/:id`
- `GET /api/v2/search``GET /api/v1/search`(本地账号 / 嘟文 / 话题标签 + 跨站 WebFinger 解析 `acct:` 查询)
- `GET /api/v1/custom_emojis``GET /api/v1/filters``GET /api/v1/trends/tags``GET /api/v1/markers`(stub)
- `POST /api/v1/push/subscription`(返回 422,目前不支持推送)
- `GET / POST / PUT / DELETE /api/v1/push/subscription`(存储 Web Push 订阅参数;实际推送投递仍需 VAPID/加密发送实现)
### ActivityPub / 发现
@@ -142,6 +146,7 @@ npm run deploy
- `migrations/0002_features.sql` — 通知 / 收藏 / 转发 / 提及 / 话题标签 / actor 缓存 / 出站关注 / 删除墓碑 / 嘟文扩展字段(summary / sensitive / language)
- `migrations/0003_bookmarks_cache.sql` — 收藏夹(bookmarks)/ 置顶(pinned_statuses)/ 远端嘟文缓存(cached_statuses)/ OAuth Token 持久表
- `migrations/0006_cached_status_metadata.sql` — 远端缓存嘟文的可见性 / mentions / tags / 本地收件人元数据
- `migrations/0007_polls_lists_push_scheduled.sql` — poll / list / push subscription / scheduled statuses
## 重要限制
@@ -154,9 +159,10 @@ npm run deploy
- `direct` 仍没有完整受众表,本地读取保守限制为作者可见,不应当作为完整私信系统使用
- 远端嘟文缓存只从入站 `Create(Note)` 和已缓存嘟文的 `Update(Note)` 写入,不抓取历史 outbox
- 远端缓存嘟文会保留正文、CW、语言、可见性、mentions、tags、本地收件人和附件; 互动计数、poll、card 等扩展信息不会完整恢复
- Web Push 目前实现订阅存储和 API 兼容,尚未实现 VAPID 加密投递通知
- Poll 当前只在本地 Mastodon API 中序列化和投票,不会联邦成 ActivityPub Question
- 媒体上传只支持 `image/jpeg``image/png``image/gif``image/webp`,单文件 10MB,单条状态的附件数量不做服务端限制; 头像和封面同样只按图片路径处理
- 没有实现接口级限流、反滥用或审核流; `follow_requests` 相关接口仍是 stub
- 没有实现轮询(poll)、列表(list)、推送(push)、未来嘟文(scheduled)等
## 参考