feat: 排行榜改为单表(延迟/下载/上传同列),点击列头动态排序,测速后自动高亮我的成绩(含真实名次)
This commit is contained in:
@@ -13,8 +13,9 @@
|
||||
- ⬇️ **下载测试**: 固定测速 10 秒——负载根据实测速率自适应(每轮约 2 秒),
|
||||
快速连接自动加大负载填满 10 秒,慢速连接用小负载同样 10 秒内完成
|
||||
- ⬆️ **上传测试**: 同样的固定 10 秒自适应策略
|
||||
- 🏆 **排行榜**: 下载 / 上传 / 延迟 三个榜单各取 Top 10,公网 IP 打码(保留前 3 段);
|
||||
内网来源 IP(NAT 场景)完整标注,方便站长调试区分同一出口下的不同设备
|
||||
- 🏆 **排行榜**: 单表同时展示延迟 / 下载 / 上传,**点击列头动态排序**(再点切换升降序,
|
||||
延迟默认升序、速度默认降序);测速完成后**自动高亮"我的成绩"**(含真实名次,
|
||||
localStorage 持久化,刷新页面仍高亮);公网 IP 打码,内网来源 IP 完整标注方便调试
|
||||
- 🌐 **公网 IP 识别**: 服务器直接识别客户端真实 IP(Caddy `X-Real-IP`),
|
||||
不依赖任何外部 IP 查询服务;路由器单向伪装/公网直连时即为真实公网 IP
|
||||
- 🔒 **Unix socket 监听**: 由 Caddy 反代对外提供 HTTPS,不暴露 TCP 端口
|
||||
@@ -110,7 +111,7 @@ speedtest.lmve.net {
|
||||
| GET | `/api/download?size=N` | 下载测速,流式返回 N 字节随机数据(默认 10MB,上限 512MB) |
|
||||
| POST | `/api/upload` | 上传测速,接收请求体并返回 `received/elapsed_s/mbps` |
|
||||
| POST | `/api/result` | 提交结果 `{latency_ms, jitter_ms, download_mbps, upload_mbps, client_ip?, server_ip?}` |
|
||||
| GET | `/api/rankings` | 排行榜(`download/upload/latency` 三榜 + `total`,含 `is_private_ip` 与来源 `server_ip`) |
|
||||
| GET | `/api/rankings?sort=&order=&include_id=` | 排行榜单表:`sort` ∈ download/upload/latency,`order` ∈ asc/desc,`include_id` 附加指定记录(真实名次 + `is_mine`) |
|
||||
|
||||
客户端 IP 由服务器直接识别(Caddy 注入的 `X-Real-IP`),前端不调用任何外部 IP 服务;
|
||||
`client_ip` / `server_ip` 字段为 API 兼容保留(可选)。公网 IP 打码保护隐私;
|
||||
|
||||
Reference in New Issue
Block a user