mahjong_group/docs/1.0.0/历史需求/站内信需求.md
2026-01-01 14:39:23 +08:00

4.0 KiB
Raw Blame History

新功能需求文档

1. 增加新功能

  • 1.1 站内信

1.1 站内信

(1) 入口

  1. 位置
    • 在 App/小程序的 “我的”页面功能区,新增站内信入口 【我的消息】
  2. 红点提示
    • 当存在未读消息时,入口 icon 右上角显示 红色圆点(数量可扩展为数字气泡)。
    • 进入站内信页面后,红点消失(默认已读所有消息)。

(2) 详情页(站内信列表页)

2.1 页面结构

  • 顶部导航栏:
    • 左侧返回按钮(返回上一级页面)
    • 中间标题文字:“我的消息”
    • 右侧占位元素(保持左右对称布局)
  • Tab 分类栏:
    • 位于标题下方,支持切换 “全部”“私信” 两类消息。
    • 当前选中 Tab 高亮显示(背景色 #C4FFDF、文字色 #00AC4E、边框色 #00AC4E),未选中 Tab 为白底黑字灰框。
  • 分割线Tab 分类栏下方有一条 1rpx 高的浅灰色分割线。
  • 消息列表区域:
    • 占满剩余屏幕高度,支持纵向滚动。
    • 列表为空时显示缺省提示(后期可补充)。

2.2 消息列表排序

  • 所有通知按 最近时间倒序 排列(最新发布的消息排在最前)。

2.3 单条消息展示字段

每条消息以 圆角白色卡片 形式呈现,包含以下信息:

  1. 标题
    • 字体大小 32rpx靠左显示距左边距 30rpx顶部间距 22rpx。
  2. 正文
    • 字体大小 32rpx实际可根据视觉稿调整为 28rpx 以提升可读性),靠左显示,距左边距 30rpx与标题间距 10rpx。
    • 正文支持长文本:
      • 若内容超出卡片宽度,自动换行。
      • 若内容高度超出卡片可视范围,卡片高度自动延伸或内部可滚动查看(确保完整显示)。
  3. 通知时间
    • 字体大小 32rpx建议实际用 2428rpx靠右显示右外边距 18rpx底部边距 10rpx与正文之间保留适当间距如 70rpx 或由内容自适应)。
    • 时间格式示例:2025/01/01 11:12(后期统一规范为 YYYY-MM-DD HH:mm)。

2.4 默认已读逻辑

  • 用户 进入站内信列表页 时,系统自动将所有消息标记为已读:
    • 前端调用接口将当前用户所有未读消息状态更新为已读。
    • 同时更新入口红点状态为无未读。

(3) 通知发送(后台功能,前端配合展示)

3.1 后台配置能力

  • 管理员可在后台配置通知的发送规则与内容。
  • 通知分为 自动发送手动发送 两类。

3.2 自动发送

  • 定义固定的触发条件和消息模板。触发条件满足时,系统自动向目标用户推送通知。
  • 已知自动发送场景(可扩展):
    1. 组局成功时:所有参与人收到相应通知。
    2. 组局失败时:所有参与人收到相应通知。
    3. ……(待补充其他业务事件,如活动开始提醒、订单状态变更等)

3.3 手动发送

  • 管理员可手动选择:
    1. 单个或多个指定用户:发送相同内容的自定义通知。
    2. 全部用户:发送相同内容的自定义通知。
  • 通知内容完全由发送者自定义(标题、正文)。

3.4 前端展示区分(可扩展)

  • 若业务需要,可在消息列表中通过标签或图标区分 系统自动通知私信/人工通知
  • Tab “私信” 仅展示手动发送给指定用户的消息,“全部” 则展示所有类型。

(4) 数据来源与交互

  • 前端通过接口获取消息列表,按 Tab 分类请求不同类型数据。
  • 切换 Tab 时重新拉取对应分类消息并渲染。
  • 列表数据字段至少包括:
    • id(唯一标识)
    • title(标题)
    • content(正文)
    • time(通知时间)
    • isRead(是否已读,用于标记样式或逻辑)
    • type(可选,用于区分自动/手动或私信/系统)