Commit Graph

6 Commits

Author SHA1 Message Date
ae2b5192c4 fix(inspect): 修复 OCR 启动+窗口查找 bug,新增'再次抽样'工作流
- find_hwnd_by_pid 修复:原实现在每个窗口都覆盖 thread-local,导致几乎永远匹配不到目标 PID;改为按目标 PID 精确匹配,匹配成功立即返回 0 停止枚举
- Umi-OCR 启动从裸 CreateProcessW 改为 std::process::Command,并加 CREATE_NO_WINDOW 标志
- 新增 is_alive/health_url 辅助函数
- doc_inspector 在打开 doc 文件前先确保 OCR 正在运行(即便上次被关掉也会自动重启);日志分步骤 ①②③④ 标记打开→截图→OCR→关闭
- 候选文件列表持久化到 candidates.txt;阶段 1 完成后自动保存
- runner::run 新增 prescanned_candidates 参数:若提供则跳过全盘扫描,直接进入抽样/抽检
- 扫描控制区新增'📋 再次抽样'按钮,仅当候选文件列表存在时启用
2026-06-10 17:42:48 +08:00
b634d3464e fix(ui): 修复阶段 2/3 错显扫描结果,新增开始/继续/取消按钮
- 阶段 1 进行时,阶段 2/3 改为'等待阶段 1 扫描完成'占位,不再错显'已抽检 0/0 正在处理'
- 新增独立'扫描控制'区:▶ 开始扫描 /  继续扫描 / ⏸ 取消 三个按钮
- 续扫进度文件存在时才启用'继续扫描',避免误用
- start_inspection 增加 clear_progress 参数:true=全新扫描,false=续扫
- runner 在 walker 返回后增加取消检查,避免扫描被取消后仍进入抽样/抽检
- '当前文件'在扫描控制区统一显示,便于查看实时进度
2026-06-10 16:46:27 +08:00
2f92826525 feat(scan): 续扫支持 + 阶段1 ETA 估算
- 新增 ScanProgress 持久化层(%APPDATA%/scan-progress.txt,append 模式)
- walker 评估文件前 contains 检查,命中则跳过;评估后 record 加入
- 阶段1 启动时 load,若 enable_resume=false 则先清空旧进度
- 阶段1 启动时拿 sysinfo 磁盘总容量,按 1000/5000/10000/50000/100000 里程碑动态计算 ETA
- settings 页加 '启用续扫' 开关 + '清空续扫进度' 按钮
- 修复 on_progress 双计 bug(fetch_add -> store)
- 修复 ETA 显示及 skipped 计数器
2026-06-10 15:50:07 +08:00
ce6c8b70f4 feat(scan): 阶段1 实时显示当前扫描的目录与文件
- walker: ProgressFn 签名增加 Option<&Path> 文件参数;每个文件命中时回调

- runner: on_progress 把当前文件写入 current_file 共享槽

- home: 阶段1 卡片新增 📄 当前文件:xxx 实时显示
2026-06-10 12:27:53 +08:00
7e256c426f feat(ui): 安全软件风格主题 + 三阶段进度/日志 + XLSX 支持
- 主面板:阶段1扫描全盘 → 阶段2抽样 → 阶段3抽检,每阶段独立进度条/已用时/分类型 chips

- 日志:按类型着色(命中红/未命中绿/警告黄/阶段青)

- 主题:暗绿底 + 鲜绿/青色强调,圆角胶囊按钮(material::security_dark)

- 抽检:SampleMode 枚举支持按份数/百分比/全部;设置页 C 组动态切换

- 抽检:XLSX 检查器(zip + quick-xml 解析 sharedStrings 与 sheet)

- 扫描:walker 进度回调(已访问、命中候选、当前目录)

- 兼容:quick-xml 0.36 使用 reader.config_mut().trim_text()

- 仓库:新增 .gitignore 忽略 venv/pyc/target/构建产物
2026-06-10 12:20:25 +08:00
31161d9a5f docs: 添加涉密文件自检工具实施计划 2026-06-08 13:53:24 +08:00