Fufu Toolbox 是一个可持续扩展的桌面小工具集合。现在已接入四个工具:合并TXT、合并PDF、FFXIV物品翻译、端口管理。
- 桌面框架:WinUI 3(Windows App SDK)
- 结构模式:MVVM(Model + ViewModel + View)
- 依赖管理:.NET 依赖注入(Host + ServiceCollection)
- 导航方式:
NavigationView+ 统一导航服务 - 主题管理:
ThemeService负责主题切换与本地持久化 - 文本合并:
TxtMergeService负责扫描与合并文本 - PDF合并:
PdfMergeService负责扫描 pdf/图片并合并输出 - 物品翻译:
XivItemTranslationService负责调用接口翻译 FFXIV 物品名 - 端口管理:
PortManagementService负责读取端口占用、筛选并中止进程
- 进入项目目录:
cd fufu-toolbox - 还原依赖:
dotnet restore - 编译:
dotnet build -p:Platform=x64 - 运行:用 Visual Studio 打开
fufu-toolbox.csproj调试运行
- 项目配置了 GitHub Action (
.github/workflows/build-release.yml)。 - 每次向
master分支推送代码,都会自动触发构建并生成、更新对应的 GitHub Release。 - 发布的安装包格式为
.msix以及包含所有依赖的.zip压缩包。 - 如果推送时
Package.appxmanifest中的版本号未变,Action 会自动覆盖更新当前的 Release 附件。
- 本地构建校验:
dotnet build -p:Platform=x64 - 模拟发布构建:
dotnet publish -c Release -p:Platform=x64
- 时间:2026-04-04
- 来源:skills.sh(关键词:WinUI / MVVM)
- 结论:未检索到可直接复用的 WinUI 3 工具箱模板,主要是通用技能索引。
- 来源:GitHub(关键词:WinUI 3 NavigationView MVVM sample)
- 结论:社区有可参考示例(如
manusoft/WinUI-Samples),可用于页面组织和导航结构对照。
- 结论:社区有可参考示例(如
- 初始化 WinUI 3 项目:
fufu-toolbox - 建立主布局:标题栏 + 左侧导航 + 页面承载区
- 建立 MVVM 基础结构(Models/ViewModels/Services)
- 设置页支持主题切换:跟随系统、浅色、深色(重启后保持)
- 接入“合并TXT”:
- 选择目录并扫描全部 txt 文件
- 勾选多个文件参与合并
- 自由调整合并顺序
- 为每个文件设置别名
- 合并后弹窗选择输出位置和文件名
- 接入“合并PDF”:
- 选择目录并扫描全部 pdf 和图片文件
- 勾选多个文件参与合并
- 自由调整合并顺序(按列表从上到下输出)
- 合并后弹窗选择输出位置和文件名
- 接入“FFXIV物品翻译”:
- 支持日文/英文输入,输出中文
- 支持批量逐行翻译
- 支持忽略并可选保留每行固定前缀
- 显示翻译进度,失败项保留原文并给出原因
- 接入“端口管理”:
- 展示本机当前端口占用(TCP/UDP、端口号、PID、程序名、程序图标/路径)
- 支持按端口号或程序名筛选
- 中止程序前弹确认框
- 权限不足时尝试触发管理员提权中止
- 移除“关于”页面
- 提供工具接入规范文档
TOOL_BASE.md
- 接入第一个工具“合并TXT”
- 接入第二个工具“合并PDF”
- 接入第三个工具“FFXIV物品翻译”
- 接入第四个工具“端口管理”
- 配置 GitHub Action 自动构建与 Release 发布
- 按
TOOL_BASE.md逐步接入更多工具模块 - 为关键工具补充自动化测试