31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
# 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)
|
||
|
||
1. 安装 .NET 8 SDK(https://dotnet.microsoft.com/download/dotnet/8.0)与 Go 1.23+。
|
||
2. 首次构建前还原依赖:`dotnet restore EveryPublish.Client.csproj`(需网络)。
|
||
3. 一键打包:`powershell -ExecutionPolicy Bypass -File Packaging\build-installer.ps1`。
|
||
产出 `../dist/EveryPublish-Client-0.2.0-win-x64.zip`。
|
||
4. 解压运行 `EveryPublish.Client.exe`(无需安装 .NET 运行时与 WindowsAppSDK,已自包含)。
|
||
|
||
## 手动验证清单(D9 验收)
|
||
|
||
1. 首次启动:窗口显示「未配对」;托盘图标出现。
|
||
2. 网页端生成配对码 → 客户端「配对」页输入 → 配对成功 → 状态页「在线」。
|
||
3. 网页端新建账号并绑定 → 客户端「挑战」页出现挑战 → 提交验证码 → 网页端账号变「已绑定」。
|
||
4. 网页端新建任务 → 审核通过 → 客户端状态页保持在线 → 网页端任务变「发布成功」。
|
||
5. 关闭窗口 → 最小化到托盘(进程仍运行);托盘「退出」才真正退出。
|
||
6. 设置页开启「开机自启」→ 注销/重启后客户端自动运行。
|
||
|
||
## 已知注意
|
||
|
||
- H.NotifyIcon.WinUI 锁定 2.0.131(NuGet 已验证存在):托盘左/右键打开主窗口(2.x 无 WPF 式 ContextMenu),退出入口在「设置 → 退出客户端」。
|
||
- 构建前可先跑 `Packaging\precheck.ps1` 自检 .NET 8 SDK 与 Go 工具链。
|
||
- 若出现 WinUI 编译错误,多为 XAML 控件 API 细节,按报错微调即可(工程结构已就位)。
|