之前有了一键搜片,现在有了一键测速。
即资源站线路速度测试,测试包括延迟、分两次下载ts片段、计算均速、给出实时最快线路和依据历史数据优选线路top3。可开启自动切换优选线路,告别盲目试错。打开视频详情页时,系统将自动切换到最快资源站标签,畅享丝滑。

动作比较大,列一下核心的逻辑,备忘。
核心功能
- 白名单测速:仅对
speed_targets.php
配置的线路执行测速、写库、绘图与推荐。 - 一周历史推荐:基于最近 7 天、当前时间段 ± 宽窗的历史数据,计算并输出 TOP3 与 最佳线路。
- 可视化:展示最近 24 小时均速曲线;表格展示每条线路的延迟、分段速率、均速与状态。
前端交互
- 弹窗即出推荐:打开弹窗立即请求历史推荐并渲染 TOP3(不等待本轮测速)。
- 表格并发测速:显示占位行→并发测速→动态更新表格,并将结果写入后端。
- 图表过滤与默认显隐:只绘制白名单;默认仅显示“表格中出现的线路”,“超清”默认隐藏(图例可点开)。
- Tooltip 排序:同一时间点按均速从高到低显示“颜色点 + 线路名 + 均速”。
- 状态与标签:
- 成功:
可用
(浅绿);最快叠加最快
(深绿)。 - 失败:
测速失败
(深红),若采到延迟则保留延迟值,不暴露错误细节。 - 优/缺点:支持
pros/cons
标签(中绿/柔红),按“优点在前、缺点在后、为空不显示”。
- 成功:
- TOP3 可点击:推荐项以“胶囊标签”展示,点击可直接切换线路。
- 移动端优化:表格在小屏卡片化展示,状态列靠右对齐,交互与可读性适配良好。
- 图例记忆:图例显隐状态持久化(localStorage)。
后端与数据
- 接口:
line_probe.php
单条测速;speed_write.php
写入测速日志;speed_api.php
返回 24 小时历史曲线;speed_recommend.php
返回当前时段的best
与top3
;speed_targets.php
维护白名单与pros/cons
。
- 数据清理:
speed_cron.php
定期清理超过 7 天的记录,并清除不在白名单的线路数据。 - 存储兼容:
speed_store.php
兼容不同列名(avg_mbps/avg
、latency_ms/latency
、无ok
兜底),支持 SQLite/MySQL。
推荐逻辑(摘要)
- 只在 白名单 ∩ 当前表格线路 集合内,基于一周历史,按“当前时间槽 ± N 个槽(15 分钟粒度)”统计;
- 稳健聚合(中位/剪枝)得出每条线路的代表均速,结合可用率、延迟进行排序,产出 TOP3。
主题与样式
- 明暗主题:提供正常/暗黑两套风格;暗黑下“测速中…”与 TOP3 胶囊降亮不刺眼;正常主题 TOP3 与“最快”同系风格。
- 颜色语义清晰:可用/最快/失败与 pros/cons 的配色分明且一致。
性能与加载
- 按需加载:Chart.js 与弹窗专属 CSS 在需要时加载;弹窗未开不引重资源。
- 本地优先 + CDN 兜底:前端库支持本地路径与 CDN 回退。
- 模板注入精简:一次 include 注入
SPEED_TARGET_META
;前端从中派生白名单,减少重复数据与 I/O。
前端效果展示



