3.6 KiB
ZYT 患者查询登录恢复修复(1.4.25)
已确认原因
2026-09-18 对当前安装客户端的已有会话做只读校验:客服 /api/v2/desktop/me 为 HTTP 200;ZYT /adminapi/desktop/session 返回业务失败;患者查询以无匹配测试词请求,返回 HTTP 502 / 登录超时。未输出凭证或患者数据。
客服桌面会话与 ZYT 查询凭证是两套独立凭证。旧客户端只续客服会话,没有保活 ZYT,也没有在患者窗口恢复 ZYT 的入口。本地 ZYT 源码默认有效期为 8 小时;生产本次已确认的是 ZYT 凭证失效,不能仅依据截图区分自然到期与服务端撤销。
修改
- 运行中每半小时检查并保活原有 ZYT 会话;失效只提示患者查询状态。
- 患者窗口可输入当前 ZYT 账号密码重新验证,成功后重新查询;不会自动重新提交绑定。
- 使用现有有效客服凭据验证同账号身份,管理端原子更新加密 ZYT 凭证与权限。账号、设备或会话撤销后不得恢复。
- 区分过期、无权限、网络故障;旧心跳、同步结果不覆盖新凭据。
- 两份源码均已定向更新:C:/kefu/wechat_rpa 与 C:/wechat_rpa;保留协议版专有路由和知识库地址差异。协议版版本升至 1.4.25。
验证
后端 65 项不同回归用例通过(23 项新增专项);协议版 Python 3.12 环境的客户端、患者窗口与登录回归 85 项通过。合成 Qt 界面检查通过。包内冻结代码 59 项隔离回归通过;实际模块与源码匹配,安装包 CRC、完整压缩流和 4009 个文件 SHA-256 全部通过。
未修改真实患者绑定、企业微信消息、提醒配置;未自动安装或重启正在运行的客户端。
管理端状态
配套服务器更新包已准备:patient-server-bundle.tar.gz,79,593 字节,SHA-256 1d771ef09a8853719138f7875f79a6f1bb45eb079e0c97060fe50d4ff30a5997。 原包包含四个后端源码文件、合成测试及部署/备份/回滚脚本,不含用户数据与密钥。候选测试发现服务器身份适配器仍为旧版后,增加 5,419 字节依赖补充包,补齐已测试的 zyt_auth.py 及相关回归,最终共五个生产文件。
用户已回复“更新”明确授权本次上传和更新。管理端现已部署完成;API、网关和后台任务服务均运行正常,重启次数为 0;API/网关健康检查、实际镜像文件哈希、数据库 quick_check 全部通过。
PHP IP 校验策略本轮未改,详见 backend-report.md;本轮未用真实患者验证重新认证成功后的查询结果。
安装包
已生成 C:/wechat_rpa/releases/甄AI客服-安装包-v1.4.25.exe,352,252,137 字节。SHA-256:bd58b73c7f4b1c87a810e380867ed7caffa65337200371e85b256d25c0efc62f。旧 1.4.24 安装包保持不变。
线上验证与备份
候选镜像 59 项测试通过。线上 HTTP 核验:health 200;匿名调用患者恢复接口 401;原客服登录 200;失效的 ZYT 患者查询返回 409 / zyt_session_expired。未重新登录用户的 ZYT 账号,也未绑定或读取真实患者。客户端安装新版后可在患者窗口重新验证当前账号。
4.80 GB 数据库已通过固定只读快照备份,quick_check 和快照页数一致;原分批备份在持续写入下反复重启,未将部分副本视为有效备份。正式备份为 /data/backups/patient-session-20260918/backend-consistent.db,旧镜像与五个源文件备份保留;无数据库结构迁移。
最终部署详情见 deployment-final.json;线上检查见 deployed-http-smoke.json。客户端未自动安装或重启,安装包文件保持不变。