页面:帖子详情(路径:miniprogram/packages/community/post-detail/index)
字数
985 字
阅读时间
5 分钟
1. 页面目标与角色
- 为用户提供树洞帖子详情的安全阅读与互动环境,支持评论、抱抱、收藏、举报等;面向全体学生用户;主流程:树洞。
2. 入口与去向(导航)
- 入口来源:
- pages/treehole/index:点击帖子卡片或评论按钮
- packages/community/post-editor:发布成功后跳转查看
- 去向页面:
- packages/community/topic:点击话题标签
?topic=xxx - packages/community/post-editor:编辑本人帖子
?postId=xxx&mode=edit - packages/community/action-feedback:对行动卡帖反馈
?postId=xxx
- packages/community/topic:点击话题标签
- 路由示例:
wx.navigateTo({ url: '/packages/community/post-detail/index?postId=xxx' }) - 分包关系:所属分包 packages/community;被 pages/treehole/index 预加载(preloadRule: wifi),pages/today/index 也会预加载 community。
3. 关键组件与交互
- 组件清单:树洞帖子卡、评论列表、风险级别条幅、底部操作栏、Toast、错误重试区(参考 docs/UI组件文档.md)。
- 交互描述:
- 点击/长按:卡片操作(抱抱/收藏/举报);长按评论可复制/删除(仅本人)。
- 下拉刷新:重新拉取帖子与评论;上拉分页:评论分页加载。
- 骨架与占位:详情、评论各自骨架;空评论显示暖心占位。
- 错误重试:加载失败展示重试按钮;弱网自动降级为只读模式,提交交互排队并提示。
- 无障碍与文案:
- 所有图标附 aria-label;风险提示语温和、避免评判(如“我们注意到你可能需要支持,是否查看资源?”)。
4. 数据契约与接口
- 入参:
postId: string - 出参:
post,comments[],risk_level - 相关接口与集合:
- 帖子:docs/数据库/集合-树洞帖子.posts.md
- 评论:docs/数据库/集合-树洞互动.comments.md
- 事件流水:docs/数据库/集合-用户事件.events.md
- 接口占位与字段参考:docs/接口占位文档.md
- Mock 切换:
wx.getStorageSync('USE_MOCK')控制;Mock 数据放置miniprogram/mock/*.json。
5. 埋点与观测(依据 docs/埋点与数据分析.md)
- 页面曝光:
pv_treehole_post_detail(onShow) - 关键点击:
clk_post_action(hug/save/report/reply) - 操作事件:
act_comment_submit、act_post_edit - 首屏完成:
exp_post_detail_first_paint - 参数:
post_id,topic,risk_level,anonymity_mode
6. 异常与边界
- 空态:帖子被删或不可见(越权/审核中)→ 提示并引导返回。
- 弱网:只读降级,评论提交排队并提示“网络较慢,已为你保留编辑内容”。
- 接口错误:重试区与错误码文案映射;风险条幅加载失败不阻断主体内容。
- 性能:评论分页/列表虚拟化,图片 lazy-load。
7. 验收清单(DoD)
- [ ] 根据 postId 成功拉取帖子与评论并渲染骨架/空态
- [ ] 评论提交/删除/抱抱/收藏/举报正常并有反馈
- [ ] 风险提示条按等级展示与跳转资源
- [ ] 埋点事件与参数符合规范(含首屏完成)
- [ ] Mock 与真实接口可切换
- [ ] 无障碍标签、弱网与错误重试覆盖
- 相关测试用例:docs/测试用例.md 中“树洞-帖子详情”条目(补齐)
8. 关联文档
- 功能文档:docs/功能文档/功能-树洞风险提示与温和守护.md、docs/功能文档/功能-树洞抱抱与互动反馈.md
- 其他:docs/分包规划方案.md、docs/UI组件文档.md、docs/数据库/集合-树洞帖子.posts.md
9. 变更记录
- 2025-09-22 by Codex:首次创建