dzc
|
9b0a755ac4
|
11
|
2026-09-28 10:48:38 +08:00 |
|
dzc
|
1cd36f9754
|
11
|
2026-09-28 10:44:47 +08:00 |
|
dzc
|
7897e77c52
|
版本号
|
2026-09-23 18:45:57 +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
|
d475cac6ab
|
feat: 向导内置 HiTi Mac 驱动一键安装(补齐计划 §3.2"驱动 dmg 放包内"设计)
- setup/driver_install.dart:检测已装(/Library/Printers/HiTi)+ 内置 dmg 定位
(从 resolvedExecutable 反推 flutter_assets/assets/drivers/,缺失降级官网链接)
+ 静默安装(hdiutil 挂载→定位 pkg→osascript 提权 installer→finally detach;
挂载点名带随机序号必须从 attach 输出解析)
- 向导第 2 步重做状态机:驱动未装 → "一键安装驱动(内置安装包)"按钮
(安装中提示输管理员密码,失败显示原因);驱动已装但无队列 → 连接/添加队列
引导;无内置 dmg 的构建回退官网链接
- assets/drivers/ 收驱动 dmg(.gitignore 不入库,打包脚本检查缺失并警告,
当前从 card-printer-agent/dist 拷入 2.4.2 版,25MB)
- 实测:挂载/pkg 定位/detach 免密链路全通过;打包 47MB dmg 内含驱动,
冒烟启动正常(服务已占主端口 38200);一键安装的提权弹窗待用户实测
|
2026-09-21 14:04:55 +08:00 |
|
dzc
|
3ecac9a302
|
feat: Phase 4 收尾 + Phase 5 打包(首启向导/开机自启/URL scheme 闭环/mac dmg)
Phase 4 剩余三项:
- 首次引导向导(setup/first_run + ui/setup_wizard):服务自检(含 C# 助手共存
提示)→ 打印机检测与 HiTi 驱动安装指引(官网链接/重新检测,mac 与 win 文案
分支,允许无打印机完成)→ 开机自启开关 + scheme 注册;侧栏底部常驻设置区
(自启开关 + 重新运行引导)
- 开机自启(setup/autostart):mac 写 LaunchAgent(RunAtLoad 一次性,不用
KeepAlive——托盘退出不能被拉回);Windows 走 HKCU Run(reg 命令免 win32 依赖)
- URL scheme 闭环:单实例唤醒端口 38210(setup/single_instance)——zaxprint://
唤起或重复双击启动第二进程时通知常驻实例弹窗后自退,跨平台一致(弃用
app_links 的 mac 事件转发不确定性);Windows 启动时幂等注册 HKCU scheme;
前端 cardPrinter.ts 加 launchAgent()(zaxprint://open),开卡抽屉离线时显示
"启动打印助手"按钮,点击唤起后 1s×6 轮询自动上线(biz 前端改动待用户提交)
Phase 5:
- tool/package_macos.sh:构建 → ad-hoc 就地签名(--deep,勿加 --options=runtime:
hardened runtime 库校验会因 ad-hoc 无 Team ID 拒载 framework,实测踩坑)→
hdiutil dmg;实测产出 22MB dmg + 签名后冒烟通过
- windows/installer.iss:Inno Setup 安装包脚本(快捷方式/桌面图标/开机自启
Tasks/zaxprint scheme 注册与卸载清理/HiTi SDK DLL 随 Release 目录打包)
依赖 +url_launcher +shared_preferences;13 测试全过、analyze 零问题。
|
2026-09-21 13:51:42 +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 |
|
dzc
|
689a07ca44
|
feat: 饭卡打印助手 Flutter 版(Phase 1/2:协议服务器 + macOS CUPS 真机打印)
- 协议与 C# 版 card-printer-agent 逐字段对齐(38200-38202 顺延、CORS *、串行任务队列、30 分钟保留)
- macOS CUPS 后端:lpoptions 队列发现 + lp 参数列表提交(LC_ALL=C 防本地化粘连坑)
- --mock 模拟模式 + bin/agent.dart headless 入口 + 测试卡生成工具
- 真机验收:HiTi CS-200e status 就绪 + 真实出卡;macOS 通用二进制构建通过
- App Sandbox 已关闭(服务需绑回环端口并调用 lp 子进程);zaxprint URL scheme 已注册
|
2026-09-21 12:03:27 +08:00 |
|