YunaiV
|
7c129c18c4
|
✨ feat(im): 增加群消息的置顶
|
2026-05-03 12:53:24 +08:00 |
YunaiV
|
01e0e8e37b
|
✨ feat(im): 增加群消息的置顶
|
2026-05-03 12:15:39 +08:00 |
YunaiV
|
ffb69063b9
|
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号(继续优化代码)
|
2026-05-03 09:22:53 +08:00 |
YunaiV
|
43372c05ad
|
✨ feat(im): 重构群通知相关,对齐 openim 的消息编号
|
2026-05-03 02:00:43 +08:00 |
YunaiV
|
fbd8615398
|
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
|
2026-05-01 23:06:14 +08:00 |
YunaiV
|
52fdf0bcab
|
✨ feat(im): 消息右键菜单优化 + 修复图片场景滚不到底
- MessageItem:「回复」→「引用」并加图标;撤回 / 删除互斥(自己消息 2 分钟内显示撤回,超出 / 对方消息显示删除),均加分割线 + 红色样式对齐微信;MENU_KEYS 抽 const 防 typo;引用块从气泡上方移到下方,selfSend 时竖线镜像到右侧
- MessagePanel:scrollToBottom 改 async + waitMediaSettled 等图片 / 视频元数据加载;用 expectedScrollTop drift 替代 distanceFromBottom,修复「图片加载完底部上移、误判用户已滚走」导致到不了底
- ReplyPreview:删等价的 filePayload / voicePayload alias,直接复用 parsedPayload
- uiStore:ContextMenuItem 加 icon? 字段,支持菜单项前置图标
|
2026-05-01 23:04:56 +08:00 |
YunaiV
|
43666dc56c
|
✨ feat(im): 优化【消息引用】的功能,增加文件、图片的展示调整
|
2026-05-01 19:05:57 +08:00 |
YunaiV
|
cfeee7bbb7
|
✨ feat(im): 优化【消息引用】的功能,来自第一波 code review
|
2026-05-01 18:09:02 +08:00 |
YunaiV
|
1dfab43b8a
|
✨ feat(im): 增加【消息引用】的功能
|
2026-05-01 18:03:05 +08:00 |
YunaiV
|
0c7d1f0df6
|
✨ feat(im): 新增通讯录界面
|
2026-04-30 14:07:03 +08:00 |
YunaiV
|
a762dfff84
|
✨ feat(im): 优化整体包结构,将 friend、group 通用组件抽过去。
|
2026-04-30 10:11:20 +08:00 |
YunaiV
|
4b64153044
|
✨ feat(im): 完善 friend、group 相关的本地存储(疯狂优化)
|
2026-04-29 22:03:54 +08:00 |
YunaiV
|
e90f9e5237
|
✨ feat(im): 增加 friend、group 相关的本地存储
|
2026-04-29 15:50:49 +08:00 |
YunaiV
|
de39bc7fc1
|
✨ feat(im): 优化代码,移除 message 里的 name 存储,避免更新困难。(为 friend、group 独立存储做准备)
|
2026-04-28 23:32:40 +08:00 |
YunaiV
|
29a03ef03d
|
✨ feat(im): 优化整体 message 包结构
|
2026-04-28 09:29:40 +08:00 |
YunaiV
|
122b1ba748
|
✨ feat(im): 优化 message 的导入
|
2026-04-28 08:48:38 +08:00 |
YunaiV
|
6ead932813
|
✨ feat(im): 优化 icon 的导入
|
2026-04-28 08:15:10 +08:00 |
YunaiV
|
e9be6ef8b3
|
✨ feat(im): 增加群消息的回执开关,通过向下箭头
|
2026-04-27 23:56:50 +08:00 |
YunaiV
|
bfa267120a
|
♻️ refactor(im): MessageItem 头像顶右 + MentionPicker/MessageInput 命名清理
【MessageItem.vue】
- 头像合一:双 v-if 头像(左/右)收成单一 <UserAvatar>,DOM 顺序固定为
[头像, 气泡],selfSend 靠外层 flex-row-reverse 翻视觉 → 头像顶右、气泡在
头像左侧。早先双 v-if + row-reverse 让自己消息时气泡顶右、头像反而被
挤在 bubble 左边,跟微信观感不对齐
- 5 处脚本 TODO 注释补齐:groupMembersForReadStatus / handleContextMenu /
handleRecall / handleDelete,解释 WHY 而不是 WHAT
- formatTipTime 局部变量按"不缩写"展开:d → messageDate / n → value /
hm → hourMinute / (a,b) → (left,right) / weeks → weekNames
- senderAvatar / groupMembersForReadStatus 回调参数 m → member、g → group
【MessageInput.vue】
- groupMembers producer 局部变量 g → group、(m) => → (member) =>
【MentionPicker.vue】
- memberItems 过滤回调 (m) => → (member) =>
|
2026-04-27 21:48:34 +08:00 |
YunaiV
|
9e8d04249c
|
🐛 fix(im): TIP_TEXT 系统提示不再显示空白
群解散 / 退群 / 踢人 等系统提示后端发的是裸字符串,之前按 TextMessage JSON
解析 → 主聊天窗显示空行、会话列表摘要变空。
- message.ts:新增 resolveTipText helper,兼容裸字符串 + {"content":"..."}
- MessageItem / conversationStore.resolveLastContent 把 TIP_TEXT 从 TEXT
分支拆出来,统一走 resolveTipText(TEXT 仍按 JSON 解析,没有裸字符串可能)
|
2026-04-27 19:56:54 +08:00 |
YunaiV
|
cb5d30e327
|
✨ feat(im): 新增 MessageItem.vue
|
2026-04-27 19:11:31 +08:00 |