update 2026-10-01 14:34

This commit is contained in:
iptv-bot committed 2026-10-01 14:34:09 -04:00
1 parent f3440317d1
commit 2a04952857
6 files changed
+71 -56

No files matched your search

+34 -19
View File
@@ -83,7 +83,7 @@
</div>
<div class="section">
<h2>GitHub / 码云探针</h2>
<h2>GitHub / 阿里云探针</h2>
<div id="probe-list" class="probe-grid"></div>
</div>
@@ -165,32 +165,47 @@
return items.join('');
}
function batchTag(state) {
if (state === 'consumed') return '<span class="tag ok">已消费</span>';
if (state === 'submitted') return '<span class="tag running">已提交</span>';
if (state === 'rejected') return '<span class="tag err">已拒绝</span>';
if (state === 'expired') return '<span class="tag err">已过期</span>';
return '<span class="tag wait">待处理</span>';
}
function renderBatchRows(batches) {
if (!batches || !batches.length) return '<div class="muted" style="margin-top:6px">暂无批次记录</div>';
return batches.map(b => `
<div class="muted" style="margin-top:6px">
${batchTag(b.state)} ${(b.batch_id || '-').slice(-12)} · 提交于 ${b.created_at || '-'}${b.consumed_at ? ' · 回传于 ' + b.consumed_at : ''}${b.last_state_reason ? ' · ' + b.last_state_reason : ''}
</div>
`).join('');
}
function renderProbe(data) {
const summary = data.probe_summary || {};
const details = data.probe_details || {};
const as = details.aliyun_speed || {};
const items = [];
items.push({
name: '码云探针',
value: data.pending_probe ? (data.pending_probe.batch_id || '已提交') : '无待处理',
extra: data.pending_probe ? '过期: ' + (data.pending_probe.expires_at || '-') : '等待新批次',
name: '阿里云国内测速',
value: data.pending_probe ? (data.pending_probe.batch_id || '已提交') : '无待处理批次',
extra: data.pending_probe ? '过期: ' + (data.pending_probe.expires_at || '-') : '等待下一批次',
state: data.pending_probe ? 'running' : 'wait',
meta: `累计 ${summary.gitee_total || 0} 批 · 已提交 ${summary.gitee_submitted || 0} · 已消费 ${summary.gitee_consumed || 0}`
meta: `累计 ${summary.aliyun_total || 0} 批 · 已消费 ${summary.aliyun_consumed || 0} · 国内测速成功 ${as.ok || 0}/${as.total || 0}`
});
items.push({
name: 'GitHub 探针',
value: data.pending_github ? (data.pending_github.batch_id || '已提交') : '无待处理',
extra: data.pending_github ? '过期: ' + (data.pending_github.expires_at || '-') : '等待新批次',
name: 'GitHub deep 探针',
value: data.pending_github ? (data.pending_github.batch_id || '已提交') : '无待处理批次',
extra: data.pending_github ? '过期: ' + (data.pending_github.expires_at || '-') : '等待下一批次',
state: data.pending_github ? 'running' : 'wait',
meta: `累计 ${summary.github_total || 0} 批 · 已提交 ${summary.github_submitted || 0} · 已消费 ${summary.github_consumed || 0}`
meta: `累计 ${summary.github_total || 0} 批 · 已消费 ${summary.github_consumed || 0}`
});
const details = (data.probe_details || []).map(item => {
const candidate = item.candidate || {};
const result = item.result || {};
const resultText = result.count == null ? '暂无回传' : `${result.count} 条结果 · ${result.status || '未知'}`;
const progress = item.progress || {};
const progressText = progress.total ? `处理中 ${progress.processed}/${progress.total},剩余 ${progress.remaining},${progress.status}` : '暂无处理中进度';
return `<div class="muted" style="margin-top:6px">${item.label}: ${progressText}<br>候选 ${candidate.count || 0} 条 · ${resultText}<br>候选批次 ${candidate.batch_id || '-'} · 回传批次 ${result.batch_id || '-'}<br>结果更新时间 ${result.mtime || '暂无'} · 进度更新时间 ${progress.updated_at || '暂无'}</div>`;
}).join('');
return items.map(item => `
const rows = [
'<div class="muted" style="margin-top:8px; font-weight:600">最近批次</div>' + renderBatchRows(details.aliyun_batches),
'<div class="muted" style="margin-top:10px; font-weight:600">最近批次</div>' + renderBatchRows(details.github_batches)
];
return items.map((item, i) => `
<div class="probe-item">
<div class="probe-head">
<div class="probe-name">${item.name}</div>
@@ -198,7 +213,7 @@
</div>
<div class="muted" style="margin-top:8px">${item.value}</div>
<div class="muted">${item.extra}</div>
<div class="muted" style="margin-top:6px; color:#2d6cdf; font-weight:600">${item.meta}</div>${details}
<div class="muted" style="margin-top:6px; color:#2d6cdf; font-weight:600">${item.meta}</div>${rows[i]}
</div>
`).join('');
}