落地 synastry/star/ask API 与 H5 页面,补齐 cece-frontend-re complete-design 证据文档,并加入 Android 模拟器截图抓取脚本。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.8 KiB
2.8 KiB
11 · 消息完整设计
Route:
/message· Design Complete
1. 目标
聚合 AI / 达人 / 社区 / 系统 / 商业通知;驱动回到「问」或咨询会话。
2. UI 清单
2.1 顶栏(✅ E8)
| ID | 元素 | 行为 |
|---|---|---|
| M-TITLE | 「消息」 | — |
| M-SEARCH | 搜索图标 | 搜会话/通知 |
| M-CLEAR | 扫帚图标 | 清理/标记已读(无「全部已读」文案) |
2.2 列表形态(✅ E8 · 无顶部分段)
无 全部|AI|达人|互动|系统 Segment;为分组会话列表:
| 行类型 | 示例 | 角标 |
|---|---|---|
| 系统通知 | 「检测到新的登录行为…」 | 未读数字 |
| AI 助手 | 「小星」+ AI 角标 | 未读数字 |
| (登录后)达人/互动 | 待更多账号补证 | — |
底部可出系统通知引导条:「开启系统通知…」+「去开启」+ 关闭。
2.3 会话行 MessageRow
| 字段 | 说明 |
|---|---|
| avatar | 系统铃铛 / 小星 IP / 达人头像 |
| title | 会话名 |
| preview | 最后一条摘要 |
| time | 相对时间(今天时刻 / 昨天) |
| badge | 未读数 |
2.4 系统通知详情(✅ E8)
路由级页「系统通知」:时间分隔 + 卡片列表(纯文本 / 链接「点击查看」/ 运营富媒体)。
2.5 空态
插画 + 引导回「问」(未在本版截到空态)。
3. 交互
| 操作 | 结果 |
|---|---|
| Tap 行 | AI→Ask 线程;达人→ConsultSession;互动→动态/私信;系统→详情 H5;商业→会员/订单 |
| LongPress | 置顶 / 免打扰 / 删除 |
| 左滑 | 删除(iOS 风格);Android 长按菜单 |
| 下拉 | 刷新 |
4. 状态机
Loading · Ready · Empty · Offline · Error · AuthRequired
未读角标:GET /v1/messages/unread_count 与 TabBar 同步;前台 30s 轮询或 WS 推送(D:优先 WS,降级轮询)。
5. API
| API | 说明 |
|---|---|
GET /v1/messages?type=&cursor= |
列表 |
POST /v1/messages/{id}/read |
已读 |
POST /v1/messages/read_all |
全读 |
DELETE /v1/messages/{id} |
删会话 |
POST /v1/messages/{id}/mute |
免打扰 |
GET /v1/messages/unread_count |
角标 |
Message DTO:
{
"id": "uuid",
"type": "ai|expert|social|system|commerce",
"title": "",
"preview": "",
"avatar_url": "",
"unread": 0,
"muted": false,
"ref": {"kind":"conversation|consult|url","id":""},
"updated_at": "ISO8601"
}
6. 异常
推送权限拒绝:仅站内;首次提示去设置。
Token 失效:清列表进 Auth。
删除失败:Toast 回滚 UI。
7. 埋点
message_tab_expose · message_open{type} · message_read_all · message_delete · message_mute
8. 校验 ID
V-M01 分类形态 · V-M02 行字段 · V-M03 长按菜单项 · V-M04 角标规则