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/构建产物
This commit is contained in:
2026-06-10 12:20:25 +08:00
parent 31161d9a5f
commit 7e256c426f
43 changed files with 8529 additions and 59 deletions

View File

@@ -1,7 +1,7 @@
{
"i18n": "zh_CN",
"opengl": "AA_UseOpenGLES",
"server_port": 1224,
"last_pid": 27276,
"last_ptime": "1759219775.7634187"
{
"i18n": "zh_CN",
"opengl": "AA_UseOpenGLES",
"server_port": 1224,
"last_pid": 29620,
"last_ptime": "1780969865.5003738"
}

View File

@@ -1,53 +1,53 @@
[BatchOCR]
configs_advanced=true
ocr.angle=false
ocr.language=\x7b80\x4f53\x4e2d\x6587
ocr.maxSideLen=1024
tbpu.parser=multi_line
mission.recurrence=false
mission.dirType=source
mission.dir=
mission.fileNameFormat=[OCR]_%name_%date
mission.datetimeFormat=%Y%m%d_%H%M
mission.filesType.txt=true
mission.filesType.txtPlain=false
mission.filesType.txtIndividual=false
mission.filesType.md=false
mission.filesType.csv=false
mission.filesType.jsonl=false
mission.ignoreBlank=true
other.simpleNotificationType=default
[Global]
configs_advanced=false
shortcut.desktop=false
shortcut.startMenu=false
shortcut.startup=false
ui.theme=Default Light
ui.fontFamily=Microsoft YaHei
ui.dataFontFamily=Microsoft YaHei
ui.scale=1
ui.disableEffect=false
ui.imgShowOverlay=true
window.startupInvisible=false
window.isMainWindowTop=false
window.barIsLock=false
window.closeWin2Hide=true
window.hideTrayIcon=false
window.simpleNotificationType=inside
window.geometry="1320,450,800,500"
window.messageMemory=@Variant(\0\0\0\x7f\0\0\0\tQJSValue\0\0\0\0\0\0\0\0\t\0\0\0\0)
window.doubleLayout=@Variant(\0\0\0\x7f\0\0\0\tQJSValue\0\0\0\0\0\0\0\0\b\0\0\0\0)
screenshot.hideWindow=true
screenshot.hideWindowTime=0.2
server.enable=true
server.host=127.0.0.1
server.port=1224
logs.saveLogLevel=ERROR
ocr.api=win7_x64_RapidOCR-json
ocr.win7_x64_RapidOCR-json.numThread=6
[TabPageManager]
openPageList=@Variant(\0\0\0\t\0\0\0\x1\0\0\0\n\0\0\0*\0\x42\0\x61\0t\0\x63\0h\0O\0\x43\0R\0/\0\x42\0\x61\0t\0\x63\0h\0O\0\x43\0R\0.\0q\0m\0l)
showPageIndex=0
refresh=true
[BatchOCR]
configs_advanced=true
ocr.angle=false
ocr.language=\x7b80\x4f53\x4e2d\x6587
ocr.maxSideLen=1024
tbpu.parser=multi_line
mission.recurrence=false
mission.dirType=source
mission.dir=
mission.fileNameFormat=[OCR]_%name_%date
mission.datetimeFormat=%Y%m%d_%H%M
mission.filesType.txt=true
mission.filesType.txtPlain=false
mission.filesType.txtIndividual=false
mission.filesType.md=false
mission.filesType.csv=false
mission.filesType.jsonl=false
mission.ignoreBlank=true
other.simpleNotificationType=default
[Global]
configs_advanced=false
shortcut.desktop=false
shortcut.startMenu=false
shortcut.startup=false
ui.theme=Default Light
ui.fontFamily=Microsoft YaHei
ui.dataFontFamily=Microsoft YaHei
ui.scale=1
ui.disableEffect=false
ui.imgShowOverlay=true
window.startupInvisible=false
window.isMainWindowTop=false
window.barIsLock=false
window.closeWin2Hide=true
window.hideTrayIcon=false
window.simpleNotificationType=inside
window.geometry="0,23,3440,1377"
window.messageMemory=@Variant(\0\0\0\x7f\0\0\0\tQJSValue\0\0\0\0\0\0\0\0\t\0\0\0\0)
window.doubleLayout=@Variant(\0\0\0\x7f\0\0\0\tQJSValue\0\0\0\0\0\0\0\0\b\0\0\0\0)
screenshot.hideWindow=true
screenshot.hideWindowTime=0.2
server.enable=true
server.host=127.0.0.1
server.port=1224
logs.saveLogLevel=ERROR
ocr.api=win7_x64_RapidOCR-json
ocr.win7_x64_RapidOCR-json.numThread=6
[TabPageManager]
openPageList=@Variant(\0\0\0\t\0\0\0\x1\0\0\0\n\0\0\0*\0\x42\0\x61\0t\0\x63\0h\0O\0\x43\0R\0/\0\x42\0\x61\0t\0\x63\0h\0O\0\x43\0R\0.\0q\0m\0l)
showPageIndex=0
refresh=true