feat(web): 靶子显示友好名 + 支持连打次数
- targets.py 增加 label 字段(1ms 签到 / mliev 登录),下拉框、说明、历史表统一用友好名 - POST /api/jobs 支持 count(1~20):一次任务连打 N 发,发间自动按靶子频控节流、可取消 - 每发结果记入 stats.rounds,EVT_VERIFY 带 round,结果区展示「每发结果(通过 x/y)」彩色一览 - 滑块不再生成标注图(红圈+序号只表达点击顺序,对滑块是误导) - 观测台 README 补齐启动/后台运行/端口占用/自检说明
This commit is contained in:
@@ -13,18 +13,20 @@
|
||||
<span class="sub">腾讯天御验证码 · 纯协议求解 · 实时观测</span>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<label>靶子
|
||||
<select id="target"></select>
|
||||
</label>
|
||||
<label>靶子 <select id="target"></select></label>
|
||||
<label>题型
|
||||
<select id="kind">
|
||||
<option value="any">any 遇到啥过啥(推荐)</option>
|
||||
<option value="icon">icon 图标点选 2408</option>
|
||||
<option value="text">text 文字点选 2404</option>
|
||||
<option value="slider">slider 滑块 2401/2402</option>
|
||||
<option value="any">any · 遇到啥过啥</option>
|
||||
<option value="icon">icon · 图标点选 2408</option>
|
||||
<option value="text">text · 文字点选 2404</option>
|
||||
<option value="slider">slider · 滑块 2401/2402</option>
|
||||
</select>
|
||||
</label>
|
||||
<button id="start" class="primary">开始一发</button>
|
||||
<label>次数
|
||||
<input id="count" type="number" min="1" max="20" step="1" value="1"
|
||||
title="连打次数;发与发之间按靶子频控自动节流,可随时取消">
|
||||
</label>
|
||||
<button id="start" class="primary">开始</button>
|
||||
<button id="cancel" disabled>取消</button>
|
||||
<span id="cooldown" class="cooldown"></span>
|
||||
</div>
|
||||
@@ -32,30 +34,44 @@
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section class="panel">
|
||||
<h2>执行轨迹 <span id="state" class="badge">空闲</span>
|
||||
<span id="jobId" class="mono muted"></span>
|
||||
</h2>
|
||||
<div id="log" class="log"></div>
|
||||
</section>
|
||||
<!-- 左栏:执行过程 -->
|
||||
<div class="col">
|
||||
<section class="panel">
|
||||
<h2>执行轨迹 <span id="state" class="badge">空闲</span>
|
||||
<span class="right mono muted" id="jobId"></span>
|
||||
</h2>
|
||||
<div id="log" class="log"><div class="empty">还没有任务。</div></div>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2>题目 / 点位 / 结果</h2>
|
||||
<div id="result" class="result"><p class="muted">还没有任务。选好靶子与题型,点「开始一发」。</p></div>
|
||||
<div id="images" class="images"></div>
|
||||
</section>
|
||||
<section class="panel">
|
||||
<h2>结果</h2>
|
||||
<div id="result"><p class="empty-hint">选好靶子 / 题型 / 次数,点「开始」。</p></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- 右栏:题目与点位 -->
|
||||
<div class="col">
|
||||
<section class="panel">
|
||||
<h2>题目 / 点位 <span class="right muted" style="font-weight:400">点图片可放大</span></h2>
|
||||
<div id="challenges"><p class="empty-hint">抽到题目后,底图与标注图会出现在这里(标注图上的 1/2/3 即点击顺序)。</p></div>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2>历史任务</h2>
|
||||
<table id="history">
|
||||
<colgroup>
|
||||
<col class="c-time"><col class="c-target"><col class="c-kind">
|
||||
<col class="c-ec"><col class="c-ms"><col class="c-ok"><col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr><th>时间</th><th>靶子</th><th>题型</th><th>errorCode</th><th>耗时</th><th>结果</th><th>ticket</th></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<section class="panel wide">
|
||||
<h2>历史任务</h2>
|
||||
<table id="history">
|
||||
<thead>
|
||||
<tr><th>时间</th><th>靶子</th><th>题型</th><th>errorCode</th><th>耗时</th><th>点位</th><th>ticket</th></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<footer class="legend">
|
||||
<span><b class="ec0">0</b> 通过</span>
|
||||
<span><b class="ec50">50 / 9</b> 答案被否(点位或目标错)</span>
|
||||
@@ -63,6 +79,11 @@
|
||||
<span class="muted">靶子带实测最小间隔,后端会强制节流</span>
|
||||
</footer>
|
||||
|
||||
<div id="lightbox" class="lightbox">
|
||||
<span class="tip">点击任意处 / Esc 关闭</span>
|
||||
<img id="lightboxImg" alt="放大查看">
|
||||
</div>
|
||||
|
||||
<script src="/static/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user