浅念
|
be0d6f844e
|
feat(group-members): 群列表对账云客总数+群详情成员墙(头像+昵称)
用户报两点:①微信群列表与云客群统计总数不一致(实测云客 1,864 vs 本地
2,012——friend_list/es 时代残留的 148 行 owner 组合已不在 getChatroomList
返回里);②群详情成员列表全是 wxid 无法识别。
- chatroom-stats 全窗模式加对账:名单取满(>=声明 total)才删本地不在
云客名单里的 chat_group(wechat)行——页脚从此与云客一字不差;短页宁
可不对账防误删
- backfill_group_members 增强:头像列(消息最新一条 sender_head_url)+
customer 兜底 UPDATE(member_id=friend_id 命中本司好友补昵称/头像,
覆盖未发言成员);full_sync 8b 原位生效
- 群详情 drawer 成员墙:头像+昵称网格(群昵称>好友昵称>wxid 回退+wxid
副行),替代原 memberIds 原始串;仅微信 tab(WA 群成员未派生)
722 后端测试绿,前端构建过。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-10 12:11:42 +08:00 |
|
浅念
|
b2ccbee1ab
|
fix(scripts): backfill_group_members 窗口函数化过 MySQL only_full_group_by(单库收敛)
max(timestamp)+裸 sender_name 的 GROUP BY 是 SQLite 方言行为,MySQL 8 默认
only_full_group_by 直接 1055 拒绝——2026-08-27 单库收敛(本地+调度器同连
Docker MySQL)时在 MySQL 上实跑触发。改 row_number() OVER 取每 (room_id,
talker_id) 最新一行的 sender_name + count() OVER 计数:两库通用,且语义从
「碰巧取 max 行」变为严格最新一条。另 gitignore 补 *.db.retired
(smoke.db 退役改名后 *.db 规则罩不住)。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 14:51:05 +08:00 |
|
浅念
|
02dd77a62f
|
feat(scraper): WA群抓取(type=1真机验证,223群)+群成员派生(12840成员/750群)
- wa-groups 实体:businessFriendList type=1 真机验证返回群,行结构是好友字段名
(friendUid=@g.us 群ID/nickName=群名),专用 _normalize_wa_group_row
- backfill_group_members.py:无独立成员API,从群消息派生(talker=成员,sender_name=昵称)
- full_sync_all.sh:+4步(5b WA群/语音后录音重链接/8b 群消息+成员/消息上限99999)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-20 09:21:20 +08:00 |
|