5 Commits
Author SHA1 Message Date
dzc 7e65d22f09 chore: Windows 驱动包 CS2xx_Windows_Driver.zip 入库(构建机 pull 即得,免手动传输)
用户决定:内网 Gitea 直接存驱动 zip(33MB)。.gitignore 去掉 *.zip 忽略,
assets/drivers/README 更新双平台放置约定(mac dmg 仍本地放置,需要时同样可入库)。
2026-09-21 16:41:22 +08:00
dzc 170e9ddc5e feat(windows): 向导内置 HiTi Windows 驱动一键安装(对齐 mac 的"装 App 即用"体验)
用户实测定论:CS-2xx 的 USB 是自定义设备(驱动包内含 CS2xxhcd.inf 内核驱动),
PavoApi 直打依赖驱动建立的 USB 通道——无驱动时枚举到设备但状态返回离线,
"免驱动"假设不成立。产品要求两平台一致:驱动随 App 内置、向导一键安装。

- assets/drivers/CS2xx_Windows_Driver.zip:HiTi 官网 CS-2xx Windows 驱动
  (2.6.25.48)整目录 zip(含 CS2xx/Setup64.exe),33MB,不入 git
- DriverInstall Windows 分支:Expand-Archive 解压到临时目录 → 递归定位
  Setup64.exe(兜底 setup/autorun)→ PowerShell Start-Process -Verb RunAs -Wait
  提权安装(UAC 一次)→ 写安装标记(HKCU\Software\zax\desktop-plugin,
  系统驱动安装状态无统一可查标志)→ finally 清理临时目录
- 向导第 2 步统一双平台状态机:驱动未装(异步查标记/目录)→"一键安装驱动
  (内置安装包)";轮询 3 秒自动刷新安装/连接状态
- bundledInstallerPath 双平台资产路径推导(mac .dmg / win .zip);
  .gitignore 增 *.zip;assets/drivers/README 更新双平台放置约定
2026-09-21 16:38:11 +08:00
dzc 527baf7ec5 fix(windows): 托盘图标不显示——tray_manager 原生 LoadImage 只认 .ico
用户 Windows 实测:日志"托盘已就绪"无报错、不在折叠区,但任务栏无图标。
源码级定位:tray_manager 0.5.3 Windows 原生端用
LoadImage(IMAGE_ICON, LR_LOADFROMFILE) 加载图标文件——该 Win32 API 只认
.ico,传入 png 返回 NULL → Shell_NotifyIcon 添加成功但图标为空 → 任务栏
不显示且全程无任何报错(mac 走 base64+NSImage 另一条路径所以正常)。

修复:Windows 托盘改用 assets/tray_icon_win.ico(16/24/32 三尺寸 PNG-in-ICO,
gen_app_icons.dart 生成,python struct 校验目录项 offset 严格对齐;ico 随
flutter_assets 打包,Debug/Release/Inno 全形态生效);删除无效的
tray_icon_win.png;AppTray 按平台选路径。
2026-09-21 16:27:03 +08:00
dzc e07575d020 fix: assets/drivers 目录缺失导致 Windows 构建失败
pubspec 声明了 assets/drivers/ 目录资产,但 dmg 被 gitignore 后整目录都不在
仓库里——全新 clone(Windows 机器)构建即报 "unable to find directory entry
in pubspec.yaml"。

修复:目录内提交 README.md 占位(随 git 保留目录),.gitignore 从忽略整目录
改为只忽略 assets/drivers/*.dmg。mac 打包机放 dmg 后行为不变;Windows 机器
目录为空可正常构建,向导自动降级为官网链接模式(bundledDmgPath 找不到 .dmg
返回 null 的降级路径已实现)。
2026-09-21 16:02:32 +08:00
dzc bee734fd5b feat: 后台托盘 + 资安信品牌化 + 修复布局断言(Phase 4 部分)
- 后台托盘(mac/Windows):window_manager 拦截关窗改隐藏,服务持续运行;
  托盘单击恢复窗口、右键菜单(显示主界面/退出),退出入口仅放托盘菜单
- 品牌:App 更名"资安信插件助手"(mac PRODUCT_NAME/xib、win main.cpp+Runner.rc(code_page 65001)、
  MaterialApp/侧栏/托盘 tooltip/日志);图标全家桶换资安信盾牌 logo
  (tool/gen_app_icons.dart 生成 mac AppIcon 7 尺寸/win ICO 7 尺寸/托盘白底圆盘版/assets logo)
- 修复启动布局断言:SliverList 内 Row(stretch) 需 IntrinsicHeight 包裹,
  否则子项收到 h=Infinity 约束(用户实测报错,test/ui_smoke_test.dart 守护复现)
- Agent.stop 幂等(托盘退出与窗口销毁竞态安全)
- 测试修复:smoke 测试改 tester.runAsync 包真实 socket I/O(fake async zone 里会永久挂起)、
  显式 pump 替代 pumpAndSettle;13 个测试全过,analyze 零问题,release 构建实测通过
2026-09-21 13:16:23 +08:00