client: Windows 客户端(WinUI3 壳 + agent-core;调试用 Electron 壳存档);localserver token 改为常数时间比较

This commit is contained in:
Qiufeng
2026-08-20 20:38:21 +08:00
parent 33b7d57498
commit 9abf7f8213
60 changed files with 10025 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>EveryPublish 客户端</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header class="topbar">
<div class="brand">EveryPublish <span class="sub">发布客户端</span></div>
<nav class="tabs">
<button class="tab active" data-tab="status">状态</button>
<button class="tab" data-tab="pair">配对</button>
<button class="tab" data-tab="challenges">挑战<span id="ch-badge" class="badge hidden">0</span></button>
<button class="tab" data-tab="settings">设置</button>
</nav>
</header>
<main id="main">
<!-- 状态页 -->
<section id="page-status" class="page active">
<div class="card">
<h2>运行状态</h2>
<div class="kv"><span>连接状态</span><b id="st-online">检测中...</b><span id="st-dot" class="dot gray"></span></div>
<div class="kv"><span>服务器</span><b id="st-server">-</b></div>
<div class="kv"><span>设备</span><b id="st-device">-</b></div>
<div class="kv"><span>会话</span><b id="st-session">-</b></div>
</div>
<div class="card actions">
<button id="btn-open-web" class="btn primary">打开网页控制台</button>
<button id="btn-open-data" class="btn">打开数据目录</button>
</div>
</section>
<!-- 配对页 -->
<section id="page-pair" class="page">
<div class="card">
<h2>设备配对</h2>
<ol class="steps">
<li>打开网页控制台(需与服务器内网互通)</li>
<li>登录后进入「设置 → Agent 设备」生成配对码</li>
<li>在下方输入配对码并点击「配对」</li>
</ol>
<label>配对码(6 位,5 分钟有效)</label>
<input id="pair-code" placeholder="例如:AB12CD" maxlength="6" />
<label>设备名(选填)</label>
<input id="pair-name" placeholder="例如:办公室电脑-01" />
<button id="btn-pair" class="btn primary">配对</button>
<p id="pair-result" class="msg"></p>
</div>
</section>
<!-- 挑战页 -->
<section id="page-challenges" class="page">
<div class="card">
<h2>二次验证挑战</h2>
<p class="hint">平台要求扫码/验证码时在此处理;超时可在网页端一键重发。</p>
<div id="ch-list" class="list"></div>
<div id="ch-detail" class="detail hidden">
<img id="ch-qr" alt="二维码" />
<label>验证码 / 确认值</label>
<input id="ch-value" placeholder="扫码后输入验证码;扫码挑战留空直接提交" />
<button id="btn-solve" class="btn primary">提交</button>
<p id="ch-result" class="msg"></p>
</div>
</div>
</section>
<!-- 设置页 -->
<section id="page-settings" class="page">
<div class="card">
<h2>设置</h2>
<label>服务器地址(内网部署时填 http://服务器IP:8090)</label>
<input id="set-server" placeholder="http://192.168.x.x:8090" />
<label class="switch-row">
<input type="checkbox" id="set-fake" />
<span>模拟执行(无真实账号的安装联调)</span>
</label>
<label class="switch-row">
<input type="checkbox" id="set-autostart" />
<span>开机自启</span>
</label>
<div class="actions">
<button id="btn-save" class="btn primary">保存并重启核心</button>
<button id="btn-quit" class="btn danger">退出客户端</button>
</div>
<p id="set-result" class="msg"></p>
</div>
</section>
</main>
<script src="app.js"></script>
</body>
</html>