feat: PLANNING体系首版(00路线图/02任务总表/03执行协议/I-03/I-04/registry42口径)+M1止血交付
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
# 消息回复与私聊功能补充计划
|
||||
|
||||
## 检测目标
|
||||
检测"消息回复"和"私聊"两个模块是否还有需要补充的部分
|
||||
|
||||
---
|
||||
|
||||
## 当前实现状态
|
||||
|
||||
### ✅ 已实现
|
||||
|
||||
#### 消息回复(Messages)
|
||||
| 模块 | 状态 |
|
||||
|------|------|
|
||||
| 后端模型 | `Message`(回复/@我/点赞)、`SystemMessage`(系统通知) |
|
||||
| 后端 API | 列表获取、未读计数、标记已读、全部已读、删除消息、系统消息详情 |
|
||||
| 前端 | `Messages.tsx`(四标签页:回复/@我/点赞/系统) |
|
||||
| 移动端 | `MessagesMobile.tsx`(独立移动版) |
|
||||
|
||||
#### 私聊(Chat)
|
||||
| 模块 | 状态 |
|
||||
|------|------|
|
||||
| 后端模型 | `FriendRequest`、`Friendship`、`Conversation`、`ChatMessage`、`FavoriteSticker` |
|
||||
| WebSocket | Django Channels + `ChatConsumer`(实时消息、打字状态、在线状态、已读回执) |
|
||||
| 后端 API | 好友请求(发送/接受/拒绝/取消)、好友列表、用户搜索、会话管理、消息发送/撤回、文件上传、表情管理 |
|
||||
| 前端 | `Chat.tsx`(WebSocket 实时通信、回复引用、表情/贴纸选择器、右键菜单、消息撤回) |
|
||||
| 移动端 | `ChatMobile.tsx`(基础聊天功能) |
|
||||
|
||||
---
|
||||
|
||||
### ❌ 需要补充的功能
|
||||
|
||||
#### 1. 清空聊天记录(私聊会话)
|
||||
|
||||
**现状**:用户无法清除某个会话的聊天历史,也无法清空所有聊天记录。
|
||||
|
||||
**影响文件**:
|
||||
|
||||
| 文件 | 修改内容 |
|
||||
|------|----------|
|
||||
| `chat/views.py` | 新增 `ConversationClearView`(DELETE 会话的所有消息) |
|
||||
| `chat/urls.py` | 新增路由 `conversations/<pk>/clear/` |
|
||||
| `Chat.tsx` | 会话菜单/标题栏添加"清空聊天记录"按钮 |
|
||||
| `Chat.css` | 弹窗确认样式 |
|
||||
|
||||
#### 2. 一键清空所有消息通知
|
||||
|
||||
**现状**:消息页面只有"全部标为已读",没有"全部删除/清空"。
|
||||
|
||||
**影响文件**:
|
||||
|
||||
| 文件 | 修改内容 |
|
||||
|------|----------|
|
||||
| `message/views.py` | 新增 `MessageClearAllView`(删除某类型或全部消息) |
|
||||
| `message/urls.py` | 新增路由 `clear/` |
|
||||
| `Messages.tsx` | 顶部操作区添加"清空全部"按钮 |
|
||||
| `MessagesMobile.tsx` | 同步添加 |
|
||||
|
||||
#### 3. 移动端聊天功能增强
|
||||
|
||||
**现状**:`ChatMobile.tsx` 仅支持纯文本发送,缺少表情、贴纸、文件上传、回复引用等。
|
||||
|
||||
**影响文件**:
|
||||
|
||||
| 文件 | 修改内容 |
|
||||
|------|----------|
|
||||
| `ChatMobile.tsx` | 添加表情选择器(简化版)、长按菜单(复制/撤回/删除)、图片消息展示 |
|
||||
| `ChatMobile.css` | 适配新组件样式 |
|
||||
|
||||
---
|
||||
|
||||
## 推荐优先级
|
||||
|
||||
| 优先级 | 功能 | 原因 |
|
||||
|--------|------|------|
|
||||
| P0 | 清空聊天记录 | 用户主动要求,隐私/数据管理的基本需求 |
|
||||
| P1 | 一键清空消息通知 | 与消息清空配套,完整的数据管理 |
|
||||
| P2 | 移动端聊天增强 | 移动端体验补全 |
|
||||
|
||||
---
|
||||
|
||||
## 实现方案概要
|
||||
|
||||
### 清空聊天记录(私聊)
|
||||
|
||||
```
|
||||
DELETE /chat/conversations/<pk>/clear/
|
||||
```
|
||||
|
||||
- 验证用户是会话参与者
|
||||
- 删除该会话下所有 `ChatMessage`
|
||||
- 可选:同时清空对方的消息(仅当前用户视图 vs 物理删除)
|
||||
- 前端二次确认弹窗
|
||||
|
||||
### 清空所有消息通知
|
||||
|
||||
```
|
||||
DELETE /messages/clear/?type=reply (可选 type 参数)
|
||||
```
|
||||
|
||||
- 删除当前用户某类型或全部 `Message` 记录
|
||||
- 删除关联的 `SystemMessageRead` 记录
|
||||
- 前端二次确认弹窗
|
||||
|
||||
---
|
||||
|
||||
## 验证步骤
|
||||
|
||||
1. 在私聊中点击"清空聊天记录",确认会话消息被清空
|
||||
2. 刷新页面,确认聊天记录不再显示
|
||||
3. 在消息页面点击"清空全部",确认消息列表被清空
|
||||
4. 检查移动端聊天,确认表情/长按菜单可用
|
||||
Reference in New Issue
Block a user