登录成员从 Feed/Topic 进入,或恢复 DraftEnvelope;发布权限和内容类型由服务端策略返回。
可信内容发布工作台
把草稿版本、正式来源、媒体准备、发布预检和审核结果收敛为可恢复的提交链
可信内容发布工作台 · 页面级细化任务包
创建、恢复、预览并提交带正式来源和媒体边界的内容,不把草稿、预检或审核伪装成已发布。
冻结 draft revision,生成 submission_id 与受理 receipt;只有服务端回执才能进入审核/发布状态。
DraftEnvelope + revision/checksum/autosave/recovery,SourceBinding,UploadReservation,PublishPreflight 与 idempotent SubmissionReceipt 分层。
桌面编辑器 + 实时卡片 + 预检;移动端先正文、来源、预检,版本史和预览进入抽屉,固定操作避开软键盘。
bbs_composer_view · autosave_result · source_bind · preflight_run · publish_confirm · submission_receipt;正文和本地媒体名不进入埋点。
- NodeBB 主题已经提供正式来源、修订、附件与话题详情字段
- BBS 源码与生产 current-sha 均为 1d2d5b6
- NodeBB、Mongo 与 Redis 当前均在 EC2 运行
- NodeBB composer 已存在;当前主题已有来源和媒体字段
- 生产资源服务未部署,目标稿明确阻断媒体发布
- DraftEnvelope/SubmissionReceipt 仍需产品端到端实现
- UploadReservation 与 quarantine ticket 受资源服务器缺口阻断
- 冲突恢复、移动软键盘、长草稿和 a11y 证据未登记
八页各自改变真实区域、信任边界、恢复动作与回执
草稿、来源、媒体、发布预检
BBS-COMPOSER-READY→ 运行发布预检DraftEnvelope
BBS-COMPOSER-LOAD→ 创建新草稿Blank DraftEnvelope
BBS-COMPOSER-BLANK→ 创建空白草稿UploadReservation
BBS-COMPOSER-MEDIA-PARTIAL→ 移除失败媒体Autosave / PublishPreflight
BBS-COMPOSER-PREFLIGHT-503→ 重试预检Local draft
BBS-COMPOSER-OFFLINE→ 重新连接同步PublishPolicy
BBS-COMPOSER-PUBLISH-DENY→ 查看所需权限PublishSubmission
BBS-COMPOSER-SUBMIT-CONFIRM→ 确认提交预检Submission receipt
BBS-COMPOSER-ACCEPTED→ 查看提交状态target-bbs-composerIMPLEMENTATION MAP
目标定义与下一轮逐页细化入口
当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。
页面区域
- 社区返回与草稿状态
- 动态/长话题/RAW 来源模式
- 标题与正文编辑
- 标签与可见范围
- 来源引用
- 媒体队列与生产能力状态
- 实时预览
- 发布检查与主操作
用户动作
- 切换发布模式
- 恢复草稿版本
- 绑定正式来源
- 添加媒体
- 预览动态卡
- 提交审核/发布
必须状态
- 草稿就绪
- 草稿与媒体加载
- 空白新草稿
- 部分媒体失败
- 发布预检失败
- 离线草稿
- 发布权限不足
- 提交发布确认
- 提交已受理
数据契约
- DraftEnvelope
- DraftRevision
- PublishSubmission
- SourceCitation
- UploadReservation
- MediaCandidate
- ModerationPreview
- PublishReceipt
TARGET MODULES
目标页面必须交付的模块
- 01发布意图与身份
- 02自动保存与草稿版本
- 03正文编辑器
- 04正式来源选择器
- 05媒体准备队列
- 06动态卡预览
- 07发布预检与结果
PRODUCT ROUTE INDEX
社区 的 16 个稳定 Screen ID
同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。
//topic/:slug/:tid/compose/recent/tags/user/:userslug/notifications/reits/ops/interaction-risk//recent/topic/:slug/:tid/tags/user/:userslug/notifications/compose/reits/ops/interaction-risk