修复启动脚本
This commit is contained in:
@@ -427,42 +427,52 @@ async def check_scan_status(
|
||||
|
||||
|
||||
def _slider_form_html(key_val: str, data62_val: str, ticket_val: str) -> str:
|
||||
"""生成滑块表单页:Key、Data62、Original Ticket 已预填,提交到第三方 7765。"""
|
||||
"""本地滑块验证页:与 7765 相同 DOM 结构(#app、keyInput、data62Input、originalTicketInput),加载 7765 的 module 脚本,不用 iframe。"""
|
||||
k = html.escape(key_val, quote=True)
|
||||
d = html.escape(data62_val, quote=True)
|
||||
t = html.escape(ticket_val, quote=True)
|
||||
action = html.escape(SLIDER_VERIFY_BASE_URL, quote=True)
|
||||
script_src = html.escape(f"{SLIDER_VERIFY_BASE_URL.rstrip('/')}/assets/N_jYM_2V.js", quote=True)
|
||||
return f"""<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>滑块验证</title>
|
||||
<style>
|
||||
body {{ font-family: sans-serif; background: #f0f0f0; margin: 20px; }}
|
||||
.card {{ background: #fff; border-radius: 8px; padding: 20px; max-width: 480px; margin: 0 auto; box-shadow: 0 1px 3px rgba(0,0,0,.1); }}
|
||||
h2 {{ margin-top: 0; }}
|
||||
label {{ display: block; margin: 10px 0 4px; color: #333; }}
|
||||
input {{ width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }}
|
||||
button {{ margin-top: 16px; padding: 10px 20px; background: #07c160; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; }}
|
||||
button:hover {{ background: #06ad56; }}
|
||||
.hint {{ font-size: 12px; color: #888; margin-top: 12px; }}
|
||||
</style>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
|
||||
</head>
|
||||
<body>
|
||||
<div class="card">
|
||||
<h2>滑块验证</h2>
|
||||
<form id="f" action="{action}" method="get" target="_top">
|
||||
<label>Key:</label>
|
||||
<input type="text" name="key" value="{k}" placeholder="请输入key" />
|
||||
<label>Data62:</label>
|
||||
<input type="text" name="data62" value="{d}" placeholder="请输入data62" />
|
||||
<label>Original Ticket:</label>
|
||||
<input type="text" name="original_ticket" value="{t}" placeholder="请输入original_ticket" />
|
||||
<button type="submit">开始验证</button>
|
||||
</form>
|
||||
<p class="hint">参数已自动填充,点击「开始验证」将提交到第三方滑块服务。</p>
|
||||
<div id="app" data-v-app="">
|
||||
<div data-v-220db9a4="" class="app-container">
|
||||
<div data-v-220db9a4="" class="card">
|
||||
<div data-v-220db9a4="" class="card-header">
|
||||
<h5 data-v-220db9a4="" class="mb-0">滑块验证</h5>
|
||||
</div>
|
||||
<div data-v-220db9a4="" class="card-body">
|
||||
<div data-v-220db9a4="" class="params-section mb-4">
|
||||
<div data-v-220db9a4="" class="row">
|
||||
<div data-v-220db9a4="" class="col-12 col-md-6 mb-3">
|
||||
<label data-v-220db9a4="" for="keyInput" class="form-label">Key:</label>
|
||||
<input data-v-220db9a4="" type="text" class="form-control" id="keyInput" placeholder="请输入key" value="{k}">
|
||||
</div>
|
||||
<div data-v-220db9a4="" class="col-12 col-md-6 mb-3">
|
||||
<label data-v-220db9a4="" for="data62Input" class="form-label">Data62:</label>
|
||||
<input data-v-220db9a4="" type="text" class="form-control" id="data62Input" placeholder="请输入data62" value="{d}">
|
||||
</div>
|
||||
<div data-v-220db9a4="" class="col-12 mb-3">
|
||||
<label data-v-220db9a4="" for="originalTicketInput" class="form-label">Original Ticket:</label>
|
||||
<input data-v-220db9a4="" type="text" class="form-control" id="originalTicketInput" placeholder="请输入original_ticket" value="{t}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-220db9a4="" class="text-center mb-3">
|
||||
<button data-v-220db9a4="" type="button" class="btn btn-verify btn-lg" disabled="">开始验证</button>
|
||||
<div data-v-220db9a4="" class="text-muted mt-2">请先填写完整的参数信息</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" crossorigin src="{script_src}"></script>
|
||||
</body>
|
||||
</html>"""
|
||||
|
||||
@@ -473,7 +483,7 @@ async def slider_form(
|
||||
data62: str = Query("", description="Data62"),
|
||||
ticket: str = Query(..., description="Original Ticket"),
|
||||
):
|
||||
"""返回带 Key/Data62/Original Ticket 预填的表单页,提交到第三方 7765,供 iframe 加载并自动填充。"""
|
||||
"""本地滑块验证页:与 7765 同 DOM(#app、keyInput、data62Input、originalTicketInput),加载 7765 的 module 脚本,不用 iframe。"""
|
||||
data62 = _clean_data62(data62)
|
||||
return HTMLResponse(content=_slider_form_html(key, data62, ticket))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user