Files
kefu/deploy/review-contacts-20260917/FEATURE.md
T
2026-09-21 10:34:06 +08:00

39 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 医疗助理联系人选择修复
本次修复桌面端「选择医疗助理私人微信」仅显示一个匿名联系人的问题。
## 查明原因
旧选择器只查 `message_table` 的 `M:` 会话,没有读取 `user.db/wechat_contactV1` 通讯录,也漏掉实时协议缓存 `wxwork_reply_cache`。安装版当前托管账号的只读核验结果为:已有私人微信消息会话 1 个;另有 214 个通讯录联系人有昵称但没有可核验的会话映射。当前界面显示的 1 个会话在本地用户和会话表中均没有名字,程序不能根据同名猜测其身份。
## 修复
- 增加微信通讯录条目,昵称、可靠的备注和编号可搜索;同名条目保留各自编号。
- 接入协议实时缓存,选择数据库时同时考虑 WAL 的修改时间。
- 只有消息库中已存在的数字 `M:` 会话可以作为提醒收件人。通讯录未关联会话的条目显示原因,无法选择。
- 只有双向唯一的 `wx_friend.user_id/wx_id` 明确关系才能补充会话姓名;绝不把 `gene`、昵称或微信号拼成发送地址。
- 选择弹窗增加「刷新列表」。该按钮重读现有缓存;建立单聊后应先到「微信消息库」刷新,再刷新选择列表。
- 继续在保存前验证当前企微账号和精确收件人,账号切换、异步回调和取消不会保存错误联系人。
## 验证
- 两个代码目录各通过 12 项联系人读取回归测试。
- 生产目录 37 项审核提醒协调回归测试通过。
- 独立代码复核未发现新的阻塞问题。
- 对安装版当前账号只读验证:可见条目从 1 增加到 215,其中 1 项有现存会话、214 项显示尚无可核验会话。报告:`local-readonly-probe.json`。
- 两个代码目录各通过 31 项非 Web Qt/联系人/设置测试,选择器 660×500 逻辑尺寸在 1 倍与 2 倍缩放下无横向截断,长昵称、编号和原因均可读。截图和明细见 picker-preview.png、picker-preview-2x.png、ui-verification.json。
- 安装包验证结果由本目录构建报告记录。生产客户端新版本为 1.4.23;另一源码分支保留原 1.4.9 版本号,仅同步本次联系人修复。
- 没有读取聊天正文、发送真实消息、改动联系人选择/提醒开关或重启正在运行的客户端。
## 使用
安装新版后重新打开选择器,输入助理的昵称或备注。若显示「尚无可核验的私人微信会话」,请在当前托管企业微信账号中与助理私人微信建立单聊,产生一条消息,然后先刷新微信消息库,再点击选择器的「刷新列表」。通讯录条目出现不等于已添加为可发送的企业微信联系人;不得把同名联系人自动合并。
## 交付结果
生产版 v1.4.23 安装包:`C:/wechat_rpa/releases/甄AI客服-安装包-v1.4.23.exe`,352243348 字节。
SHA-256:`4f309d4feb1deba65be502561dc23fd81687b221934e720bc2d6b33e78d08f30`。
实际打包 EXE 的 103 项相关回归测试全部通过,无跳过、失败或真实外部动作。冻结模块代码与本次源码完全一致,私密文件排除和 UI 资源校验通过。NSIS CRC、完整压缩流和 4009 个应用载荷文件 SHA 全部通过。旧 v1.4.22 安装包保留且校验值未变。
尚未安装、发布 OTA 或重启运行中的客户端。安装前从托盘退出旧客户端,安装后重新打开「选择医疗助理私人微信」搜索。