Revert "fix: 优化登录项"

This reverts commit 3b3fac1cee.
This commit is contained in:
Daniel
2026-03-16 23:05:07 +08:00
parent 1a339d82cd
commit d5f1b2ae77
6 changed files with 8 additions and 316 deletions

View File

@@ -626,10 +626,10 @@
<div id="slider-area" style="display: none;">
<div class="card" style="max-width: 480px;">
<div class="card-title" id="slider-card-title">滑块验证(无数字时:先点「重新取码(Mac)」,手机停确认页再滑)</div>
<div class="card-title">滑块验证(无数字时:先点「重新取码(Mac)」,手机停确认页再滑)</div>
<div id="slider-app" data-v-app="">
<div class="params-section" style="margin-bottom: 12px;">
<label class="form-label" id="keyLabel" for="keyInput">Key (7765 服务方):</label>
<label class="form-label" for="keyInput">Key (7765 服务方):</label>
<input type="text" class="form-control" id="keyInput" placeholder="408449830" style="width:100%;box-sizing:border-box;padding:8px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,0.6);color:var(--text);">
<label class="form-label" for="data62Input">Data62:</label>
<input type="text" class="form-control" id="data62Input" placeholder="请输入data62" style="width:100%;box-sizing:border-box;padding:8px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:rgba(15,23,42,0.6);color:var(--text);">
@@ -638,7 +638,7 @@
</div>
<div class="text-center">
<button type="button" class="btn btn-verify btn-lg" id="slider-btn-verify" disabled style="padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;">开始验证</button>
<div class="text-muted mt-2" id="slider-hint" style="font-size:12px;color:var(--muted);margin-top:8px;">请先填写完整的参数信息</div>
<div class="text-muted mt-2" style="font-size:12px;color:var(--muted);margin-top:8px;">请先填写完整的参数信息</div>
</div>
</div>
</div>
@@ -677,41 +677,21 @@
return params;
}
function isIpadVerify() {
var device = ($('device') && $('device').value) || '';
return (device || '').toLowerCase() === 'ipad';
}
function updateSliderUIForDevice() {
var keyLabel = $('keyLabel');
var keyInput = $('keyInput');
var cardTitle = $('slider-card-title');
var hint = $('slider-hint');
var ipad = isIpadVerify();
if (keyLabel) keyLabel.textContent = ipad ? 'Code (iPad 登录验证码):' : 'Key (7765 服务方):';
if (keyInput) keyInput.placeholder = ipad ? '请输入 iPad 登录验证码' : '408449830';
if (cardTitle) cardTitle.textContent = ipad ? '验证码验证iPad' : '滑块验证(无数字时:先点「重新取码(Mac)」,手机停确认页再滑)';
if (hint) hint.textContent = ipad ? '扫码后在此输入 iPad 验证码,并填写 Data62、Original Ticket 后点开始验证' : '请先填写完整的参数信息';
}
function showSliderAreaAndFill(params) {
var qrArea = $('qr-area');
var sliderArea = $('slider-area');
if (!qrArea || !sliderArea) return;
qrArea.style.display = 'none';
sliderArea.style.display = 'block';
updateSliderUIForDevice();
var keyInput = $('keyInput');
var data62Input = $('data62Input');
var ticketInput = $('originalTicketInput');
var btnVerify = $('slider-btn-verify');
var ipad = isIpadVerify();
// 仅当有有效参数时填充iPad 时第一项为 code 由用户输入不预填Mac 时预填 key
// 仅当有有效参数时填充,避免用 {} 清空已有数据
var keyVal = params && (params.key || params.Key);
var data62Val = params && params.data62;
var ticketVal = params && (params.ticket || params.original_ticket);
if (!ipad && keyVal !== undefined && keyVal !== '') if (keyInput) keyInput.value = keyVal;
if (ipad && keyInput) keyInput.value = '';
if (keyVal !== undefined && keyVal !== '') if (keyInput) keyInput.value = keyVal;
if (data62Val !== undefined && data62Val !== '') if (data62Input) data62Input.value = data62Val;
if (ticketVal !== undefined && ticketVal !== '') if (ticketInput) ticketInput.value = ticketVal;
function toggleVerifyBtn() {
@@ -725,59 +705,9 @@
if (keyInput) keyInput.addEventListener('input', toggleVerifyBtn);
if (data62Input) data62Input.addEventListener('input', toggleVerifyBtn);
if (ticketInput) ticketInput.addEventListener('input', toggleVerifyBtn);
if (btnVerify) btnVerify.addEventListener('click', async function(e) {
e.preventDefault();
e.stopPropagation();
var accountKey = ($('key') && $('key').value || '').trim();
if (!accountKey) { log('请先填写账号唯一标识key', 'error'); return; }
var codeOrKey = (keyInput && keyInput.value || '').trim();
var data62 = (data62Input && data62Input.value || '').trim();
var ticket = (ticketInput && ticketInput.value || '').trim();
if (!data62 || !ticket) { log('请填写 Data62 和 Original Ticket', 'error'); return; }
if (isIpadVerify()) {
if (!codeOrKey) { log('请填写 iPad 登录验证码Code', 'error'); return; }
btnVerify.disabled = true;
try {
log('正在提交 iPad 验证码...');
var res = await fetch((API_BASE || '') + '/api/verify-code?key=' + encodeURIComponent(accountKey), {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ code: codeOrKey, data62: data62, ticket: ticket })
});
var data = await res.json().catch(function() { return { text: await res.text() }; });
if (res.ok) {
log('验证码验证结果: ' + JSON.stringify(data));
updateLoginState('验证码已提交,请检测扫码状态', 'pending');
} else {
var errMsg = data.detail != null ? (typeof data.detail === 'object' ? JSON.stringify(data.detail) : data.detail) : (data.text || data.error || res.status);
log('验证码验证失败: ' + errMsg, 'error');
}
} catch (err) {
log('验证码请求失败: ' + (err && err.message ? err.message : err), 'error');
}
btnVerify.disabled = false;
} else {
if (!codeOrKey) { log('请填写 Key (7765 服务方)', 'error'); return; }
btnVerify.disabled = true;
try {
log('正在提交滑块验证...');
var res = await fetch((API_BASE || '') + '/api/slider-verify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ key: codeOrKey, data62: data62, original_ticket: ticket })
});
var data = await res.json().catch(function() { return {}; });
log('滑块验证结果: ' + JSON.stringify(data));
if (res.ok && (data.ret === 0 || data.ok)) updateLoginState('滑块已提交,请检测扫码状态', 'pending');
} catch (err) {
log('滑块验证请求失败: ' + (err && err.message ? err.message : err), 'error');
}
btnVerify.disabled = false;
}
});
}
toggleVerifyBtn();
if (!ipad && !state.sliderScriptLoaded) {
if (!state.sliderScriptLoaded) {
state.sliderScriptLoaded = true;
var script = document.createElement('script');
script.type = 'module';
@@ -1324,9 +1254,6 @@
$('btn-show-slider') && $('btn-show-slider').addEventListener('click', function() {
if (state.sliderParams) showSliderAreaAndFill(state.sliderParams);
});
$('device') && $('device').addEventListener('change', function() {
if ($('slider-area') && $('slider-area').style.display !== 'none') updateSliderUIForDevice();
});
$('btn-check-scan').addEventListener('click', (e) => {
e.preventDefault();
onCheckScanStatus(false);