EveryPublish Windows 客户端(WinUI 3 壳)
结构
- 本目录:WinUI 3(C#/.NET 8)外壳——托盘、配对引导、挑战窗口、状态页、设置,
spawn 并看门狗守护
agent-core.exe(../core,Go)。 - 壳与 core 的桥:
data/local.json(core 启动写随机端口 + token),壳经 127.0.0.1 HTTP 控制。
Windows 构建(需 Windows 10/11 + .NET 8 SDK)
- 安装 .NET 8 SDK(https://dotnet.microsoft.com/download/dotnet/8.0)与 Go 1.23+。
- 首次构建前还原依赖:
dotnet restore EveryPublish.Client.csproj(需网络)。 - 一键打包:
powershell -ExecutionPolicy Bypass -File Packaging\build-installer.ps1。 产出../dist/EveryPublish-Client-0.2.0-win-x64.zip。 - 解压运行
EveryPublish.Client.exe(无需安装 .NET 运行时与 WindowsAppSDK,已自包含)。
手动验证清单(D9 验收)
- 首次启动:窗口显示「未配对」;托盘图标出现。
- 网页端生成配对码 → 客户端「配对」页输入 → 配对成功 → 状态页「在线」。
- 网页端新建账号并绑定 → 客户端「挑战」页出现挑战 → 提交验证码 → 网页端账号变「已绑定」。
- 网页端新建任务 → 审核通过 → 客户端状态页保持在线 → 网页端任务变「发布成功」。
- 关闭窗口 → 最小化到托盘(进程仍运行);托盘「退出」才真正退出。
- 设置页开启「开机自启」→ 注销/重启后客户端自动运行。
已知注意
- H.NotifyIcon.WinUI 锁定 2.0.131(NuGet 已验证存在):托盘左/右键打开主窗口(2.x 无 WPF 式 ContextMenu),退出入口在「设置 → 退出客户端」。
- 构建前可先跑
Packaging\precheck.ps1自检 .NET 8 SDK 与 Go 工具链。 - 若出现 WinUI 编译错误,多为 XAML 控件 API 细节,按报错微调即可(工程结构已就位)。