fix(theme): 补抠封闭白区(光环/车架/轮圈内),人物与单车加渐隐遮罩

问题(用户发现):
1. 光环环内是白块 —— 此前只用「边界洪泛」抠底,被图形围起来的封闭白色
   区域(光环内圈、单车车架三角、轮圈内扇形)与边界不连通,没被处理
2. 人物与单车直接贴在页面上显得突兀

修复:
- 对三张图再补一次「封闭白色区域」清理(按面积阈值):
  人物抠 3675px(含光环 2665)、单车抠 19657px、图标抠 308px;并同步重生成 favicon
  已验证脸部 / 袜子 / 衣服等服装白未被误抠(保留 34px 噪点级)
- 立绘 opacity .92 + 上下渐隐遮罩;单车 opacity .8 + 两端渐隐 + saturate(.92)

验证:四套脚本 81 项全通过;1440 宽 0 横向溢出;局部放大确认光环内圈可透出背景
This commit is contained in:
tamakyi
2026-10-13 21:06:29 +08:00
parent fa7c708878
commit 6f9a2d33ce
18 changed files with 242 additions and 229 deletions
+7 -2
View File
@@ -304,13 +304,13 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
| 位置 | 元素 | 取自设定 | | 位置 | 元素 | 取自设定 |
| --- | --- | --- | | --- | --- | --- |
| 左上 logo / 浏览器图标 | **简约风半身头像**(光环 + 狼耳 + 围巾)+ 青色光环环(呼吸式外扩动画) | 生成插画的半身裁切 | | 左上 logo / 浏览器图标 | **简约风半身头像**(光环 + 狼耳 + 围巾)+ 青色光环环(呼吸式外扩动画) | 生成插画的半身裁切 |
| 右下角 | **简约风全身立绘**(透明底,约 44vh,窄身设计:实测 1280 / 1440 / 1920 下都不遮挡表格,页面也无横向滚动) | 生成插画 | | 右下角 | **简约风全身立绘**(透明底,约 44vh,窄身设计:实测 1280 / 1440 / 1920 下都不遮挡表格,页面也无横向滚动);半透明 + 上下渐隐,融入背景 | 生成插画 |
| 顶栏底边 | **天蓝色围巾飘带**:波浪形状 + 5 处褶皱纹路(自绘) | 天蓝色围巾是星野送给她的信物 | | 顶栏底边 | **天蓝色围巾飘带**:波浪形状 + 5 处褶皱纹路(自绘) | 天蓝色围巾是星野送给她的信物 |
| 页脚下方 | **光环水印**(自绘:倾斜椭圆环 + 四方位带圆头的短杆) | 白子的光环是倾斜的椭圆环,四个方位各有一条带圆头的短杆,整体形似全息瞄准镜准星 | | 页脚下方 | **光环水印**(自绘:倾斜椭圆环 + 四方位带圆头的短杆) | 白子的光环是倾斜的椭圆环,四个方位各有一条带圆头的短杆,整体形似全息瞄准镜准星 |
| 状态点 | **迷你光环**(外圈 + 中心点,在线时缓慢脉冲外扩) | 光环是基沃托斯学生的标志 | | 状态点 | **迷你光环**(外圈 + 中心点,在线时缓慢脉冲外扩) | 光环是基沃托斯学生的标志 |
| 分组标题 | **青色倒十字发饰**(旋转 45°,自绘) | 她左侧刘海上别的青色十字发夹 | | 分组标题 | **青色倒十字发饰**(旋转 45°,自绘) | 她左侧刘海上别的青色十字发夹 |
| 刷新按钮加载态 | **公路车轮**(轮圈 + 辐条 + 花鼓)旋转 | 她最爱的公路车(Bianchi ARIA 原型) | | 刷新按钮加载态 | **公路车轮**(轮圈 + 辐条 + 花鼓)旋转 | 她最爱的公路车(Bianchi ARIA 原型) |
| 左下角 | 公路车插画(简约扁平风,与人物同一套视觉语言) | 她最爱的公路车(Bianchi ARIA 原型) | | 左下角 | 公路车插画(简约扁平风,与人物同一套视觉语言;半透明 + 两端渐隐) | 她最爱的公路车(Bianchi ARIA 原型) |
| 配色 | 天蓝 / 青 + 藏蓝 + 灰白;「正常」色改为青绿(`#12b0a2`) | 阿拜多斯藏蓝校服 + 天蓝围巾 + 灰白发色 | | 配色 | 天蓝 / 青 + 藏蓝 + 灰白;「正常」色改为青绿(`#12b0a2`) | 阿拜多斯藏蓝校服 + 天蓝围巾 + 灰白发色 |
左下公路车、页脚光环、右下立绘构成页脚下方的一条装饰带,三者互不遮挡。 左下公路车、页脚光环、右下立绘构成页脚下方的一条装饰带,三者互不遮挡。
@@ -441,6 +441,11 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
- [x] 页脚改为展示「数据更新于 … + 下次检查 Ns」,tooltip 内含服务端更新节奏与快照生成时间 - [x] 页脚改为展示「数据更新于 … + 下次检查 Ns」,tooltip 内含服务端更新节奏与快照生成时间
- [x] `scripts/verify.cjs` 适配纯外部数据源部署(自动跳过不适用的探测类断言),并新增「倒计时对齐服务端」断言 - [x] `scripts/verify.cjs` 适配纯外部数据源部署(自动跳过不适用的探测类断言),并新增「倒计时对齐服务端」断言
### v0.8.3 已实现
- [x] **修复抠图漏区**:此前只用「边界洪泛」抠底,光环**环内**、单车**车架三角区与轮圈内扇形**这些被围起来的封闭白色区域没被处理,会留成白块。改为再补一次「封闭白色区域」按面积清理(人物/单车/图标三张图都处理了;脸部、袜子等服装白已确认保留)
- [x] **人物与单车加半透明 + 渐隐遮罩**:立绘 `opacity .92` + 上下渐隐,单车 `opacity .8` + 两端渐隐 + 轻微降饱和,不再像贴上去的贴纸
### v0.8.2 已实现 ### v0.8.2 已实现
- [x] 左下角公路车换成**简约扁平风插画**(AI 生成 + 抠底,与人物同一套视觉语言),替换掉此前自绘的线稿 SVG;页脚下方装饰带(公路车 / 光环 / 人物)风格统一 - [x] 左下角公路车换成**简约扁平风插画**(AI 生成 + 抠底,与人物同一套视觉语言),替换掉此前自绘的线稿 SVG;页脚下方装饰带(公路车 / 光环 / 人物)风格统一
Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 KiB

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 KiB

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 224 KiB

+1 -1
View File
@@ -11,7 +11,7 @@
import { connect } from 'cloudflare:sockets'; import { connect } from 'cloudflare:sockets';
const VERSION = '0.8.2'; const VERSION = '0.8.3';
const HISTORY_LIMIT = 48; const HISTORY_LIMIT = 48;
const UPTIME_DAYS = 90; const UPTIME_DAYS = 90;
const USER_AGENT = 'shiroko-monitor/0.3 (lightweight uptime panel)'; const USER_AGENT = 'shiroko-monitor/0.3 (lightweight uptime panel)';
+1 -1
View File
@@ -35,7 +35,7 @@ const CONCURRENCY = 8;
const WRITE_DEBOUNCE_MS = 300; const WRITE_DEBOUNCE_MS = 300;
const DEFAULT_INTERVAL_SEC = 60; const DEFAULT_INTERVAL_SEC = 60;
const PORT = Number(process.env.PORT || 8787); const PORT = Number(process.env.PORT || 8787);
const VERSION = '0.8.2'; const VERSION = '0.8.3';
const UR_DEFAULT_POLL_SEC = 300; const UR_DEFAULT_POLL_SEC = 300;
const UR_MIN_REFRESH_GAP_MS = 60000; const UR_MIN_REFRESH_GAP_MS = 60000;
+1 -1
View File
@@ -1,4 +1,4 @@
const VERSION = '0.8.2'; const VERSION = '0.8.3';
const HB_LIMIT = 48; const HB_LIMIT = 48;
const UPTIME_DAYS = 90; const UPTIME_DAYS = 90;
const BROWSER_CONCURRENCY = 6; const BROWSER_CONCURRENCY = 6;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

+10 -2
View File
@@ -89,7 +89,11 @@ body[data-theme="shiroko"]::before {
height: 93px; height: 93px;
pointer-events: none; pointer-events: none;
z-index: 0; z-index: 0;
opacity: 0.85; /* 半透明 + 两端渐隐,弱化「一块贴图」的突兀感 */
opacity: 0.8;
filter: saturate(0.92);
mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
background: url("shiroko-bike.webp") no-repeat center / contain; background: url("shiroko-bike.webp") no-repeat center / contain;
} }
@@ -213,7 +217,11 @@ body[data-theme="shiroko"] .artwork {
z-index: 0; z-index: 0;
pointer-events: none; pointer-events: none;
user-select: none; user-select: none;
filter: drop-shadow(0 6px 18px rgb(23 60 100 / 15%)); /* 半透明 + 上下渐隐遮罩:让它像背景插画而不是贴上去的贴纸 */
opacity: 0.92;
filter: drop-shadow(0 6px 18px rgb(23 60 100 / 12%));
mask-image: linear-gradient(180deg, transparent 0, #000 5%, #000 90%, rgb(0 0 0 / 40%) 100%);
-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 5%, #000 90%, rgb(0 0 0 / 40%) 100%);
} }
/* 窄屏:立绘与固定装饰全部撤掉,避免压住内容或溢出(手机只保留配色与围巾飘带) */ /* 窄屏:立绘与固定装饰全部撤掉,避免压住内容或溢出(手机只保留配色与围巾飘带) */
@media (max-width: 820px) { @media (max-width: 820px) {
+1 -1
View File
@@ -56,7 +56,7 @@
<span id="ur-chip" class="footer-item warn-chip" hidden>UptimeRobot 同步异常</span> <span id="ur-chip" class="footer-item warn-chip" hidden>UptimeRobot 同步异常</span>
<span id="updated-at" class="footer-item">–</span> <span id="updated-at" class="footer-item">–</span>
<span id="countdown" class="footer-item">–</span> <span id="countdown" class="footer-item">–</span>
<span class="footer-item version">shiroko-monitor v0.8.2</span> <span class="footer-item version">shiroko-monitor v0.8.3</span>
</footer> </footer>
<script type="module" src="assets/app.js"></script> <script type="module" src="assets/app.js"></script>
+221 -221
View File
@@ -1,8 +1,8 @@
{ {
"prober": "shiroko-monitor-node/0.7.0", "prober": "shiroko-monitor-node/0.7.0",
"demo": false, "demo": false,
"generatedAt": "2026-10-13T12:51:06.452Z", "generatedAt": "2026-10-13T13:06:27.328Z",
"dataUpdatedAt": "2026-10-13T12:50:44.858Z", "dataUpdatedAt": "2026-10-13T13:05:50.691Z",
"updateIntervalSec": 300, "updateIntervalSec": 300,
"dataFilter": "uptimerobot", "dataFilter": "uptimerobot",
"stats": { "stats": {
@@ -10,12 +10,12 @@
"up": 5, "up": 5,
"down": 1, "down": 1,
"pending": 0, "pending": 0,
"avgLatency": 1030, "avgLatency": 991,
"avgUptime90": 83.3, "avgUptime90": 83.3,
"memory": { "memory": {
"rssMB": 67.9, "rssMB": 77.5,
"heapUsedMB": 10.6, "heapUsedMB": 10.7,
"heapTotalMB": 16.2 "heapTotalMB": 16
} }
}, },
"sources": { "sources": {
@@ -23,19 +23,19 @@
"enabled": true, "enabled": true,
"ok": true, "ok": true,
"error": null, "error": null,
"lastSyncAt": "2026-10-13T12:46:17.954Z", "lastSyncAt": "2026-10-13T13:03:02.502Z",
"count": 6, "count": 6,
"syncing": false, "syncing": false,
"lastSyncMs": 1791895576434 "lastSyncMs": 1791896580947
} }
}, },
"monitors": { "monitors": {
"ur-792059439": { "ur-792059439": {
"status": "up", "status": "up",
"latency": 415, "latency": 277,
"code": null, "code": null,
"detail": "UptimeRobot:运行正常", "detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z", "lastCheck": "2026-10-13T12:58:00.000Z",
"history": [ "history": [
{ {
"t": "2026-10-12T13:50:00.000Z", "t": "2026-10-12T13:50:00.000Z",
@@ -203,20 +203,20 @@
"ms": 395 "ms": 395
}, },
{ {
"t": "2026-10-13T12:02:00.000Z", "t": "2026-10-13T12:22:00.000Z",
"ok": true, "ok": true,
"ms": 342 "ms": 302
}, },
{ {
"t": "2026-10-13T12:42:00.000Z", "t": "2026-10-13T12:58:00.000Z",
"ok": true, "ok": true,
"ms": 415 "ms": 277
} }
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 19 "up": 23
} }
}, },
"meta": { "meta": {
@@ -243,191 +243,191 @@
}, },
"ur-795497022": { "ur-795497022": {
"status": "up", "status": "up",
"latency": 732, "latency": 749,
"code": null, "code": null,
"detail": "UptimeRobot:运行正常", "detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:46:00.000Z", "lastCheck": "2026-10-13T13:02:00.000Z",
"history": [ "history": [
{ {
"t": "2026-10-12T13:40:00.000Z", "t": "2026-10-12T13:55:00.000Z",
"ok": true, "ok": true,
"ms": 935 "ms": 1017
}, },
{ {
"t": "2026-10-12T14:20:00.000Z", "t": "2026-10-12T14:35:00.000Z",
"ok": true, "ok": true,
"ms": 802 "ms": 814
}, },
{ {
"t": "2026-10-12T15:00:00.000Z", "t": "2026-10-12T15:15:00.000Z",
"ok": true, "ok": true,
"ms": 720 "ms": 710
}, },
{ {
"t": "2026-10-12T15:40:00.000Z", "t": "2026-10-12T15:55:00.000Z",
"ok": true, "ok": true,
"ms": 798 "ms": 792
}, },
{ {
"t": "2026-10-12T16:20:00.000Z", "t": "2026-10-12T16:35:00.000Z",
"ok": true,
"ms": 685
},
{
"t": "2026-10-12T17:00:00.000Z",
"ok": true, "ok": true,
"ms": 700 "ms": 700
}, },
{ {
"t": "2026-10-12T17:40:00.000Z", "t": "2026-10-12T17:15:00.000Z",
"ok": true, "ok": true,
"ms": 694 "ms": 689
}, },
{ {
"t": "2026-10-12T18:20:00.000Z", "t": "2026-10-12T17:55:00.000Z",
"ok": true, "ok": true,
"ms": 703 "ms": 725
}, },
{ {
"t": "2026-10-12T19:00:00.000Z", "t": "2026-10-12T18:35:00.000Z",
"ok": true, "ok": true,
"ms": 729 "ms": 744
}, },
{ {
"t": "2026-10-12T19:40:00.000Z", "t": "2026-10-12T19:15:00.000Z",
"ok": true, "ok": true,
"ms": 713 "ms": 723
}, },
{ {
"t": "2026-10-12T20:20:00.000Z", "t": "2026-10-12T19:55:00.000Z",
"ok": true, "ok": true,
"ms": 784 "ms": 698
}, },
{ {
"t": "2026-10-12T21:00:00.000Z", "t": "2026-10-12T20:35:00.000Z",
"ok": true, "ok": true,
"ms": 628 "ms": 768
}, },
{ {
"t": "2026-10-12T21:40:00.000Z", "t": "2026-10-12T21:15:00.000Z",
"ok": true, "ok": true,
"ms": 629 "ms": 616
}, },
{ {
"t": "2026-10-12T22:20:00.000Z", "t": "2026-10-12T21:55:00.000Z",
"ok": true, "ok": true,
"ms": 751 "ms": 626
}, },
{ {
"t": "2026-10-12T23:00:00.000Z", "t": "2026-10-12T22:35:00.000Z",
"ok": true,
"ms": 674
},
{
"t": "2026-10-12T23:15:00.000Z",
"ok": true, "ok": true,
"ms": 624 "ms": 624
}, },
{ {
"t": "2026-10-12T23:40:00.000Z", "t": "2026-10-12T23:55:00.000Z",
"ok": true, "ok": true,
"ms": 715 "ms": 640
}, },
{ {
"t": "2026-10-13T00:20:00.000Z", "t": "2026-10-13T00:35:00.000Z",
"ok": true, "ok": true,
"ms": 683 "ms": 673
}, },
{ {
"t": "2026-10-13T01:00:00.000Z", "t": "2026-10-13T01:15:00.000Z",
"ok": true,
"ms": 643
},
{
"t": "2026-10-13T01:40:00.000Z",
"ok": true,
"ms": 641
},
{
"t": "2026-10-13T02:20:00.000Z",
"ok": true, "ok": true,
"ms": 609 "ms": 609
}, },
{ {
"t": "2026-10-13T03:00:00.000Z", "t": "2026-10-13T01:55:00.000Z",
"ok": true, "ok": true,
"ms": 606 "ms": 759
}, },
{ {
"t": "2026-10-13T03:40:00.000Z", "t": "2026-10-13T02:35:00.000Z",
"ok": true, "ok": true,
"ms": 720 "ms": 581
}, },
{ {
"t": "2026-10-13T04:20:00.000Z", "t": "2026-10-13T03:15:00.000Z",
"ok": true, "ok": true,
"ms": 711 "ms": 666
}, },
{ {
"t": "2026-10-13T05:00:00.000Z", "t": "2026-10-13T03:55:00.000Z",
"ok": true, "ok": true,
"ms": 598 "ms": 662
}, },
{ {
"t": "2026-10-13T05:40:00.000Z", "t": "2026-10-13T04:35:00.000Z",
"ok": true, "ok": true,
"ms": 729 "ms": 685
}, },
{ {
"t": "2026-10-13T06:20:00.000Z", "t": "2026-10-13T05:15:00.000Z",
"ok": true, "ok": true,
"ms": 676 "ms": 647
}, },
{ {
"t": "2026-10-13T07:00:00.000Z", "t": "2026-10-13T05:55:00.000Z",
"ok": true, "ok": true,
"ms": 691 "ms": 588
}, },
{ {
"t": "2026-10-13T07:40:00.000Z", "t": "2026-10-13T06:40:00.000Z",
"ok": true, "ok": true,
"ms": 696 "ms": 625
}, },
{ {
"t": "2026-10-13T08:20:00.000Z", "t": "2026-10-13T07:20:00.000Z",
"ok": true, "ok": true,
"ms": 677 "ms": 673
}, },
{ {
"t": "2026-10-13T09:00:00.000Z", "t": "2026-10-13T08:00:00.000Z",
"ok": true, "ok": true,
"ms": 969 "ms": 758
}, },
{ {
"t": "2026-10-13T09:40:00.000Z", "t": "2026-10-13T08:40:00.000Z",
"ok": true, "ok": true,
"ms": 669 "ms": 826
}, },
{ {
"t": "2026-10-13T10:20:00.000Z", "t": "2026-10-13T09:20:00.000Z",
"ok": true, "ok": true,
"ms": 840 "ms": 749
}, },
{ {
"t": "2026-10-13T11:31:00.000Z", "t": "2026-10-13T10:00:00.000Z",
"ok": true, "ok": true,
"ms": 630 "ms": 791
}, },
{ {
"t": "2026-10-13T12:09:00.000Z", "t": "2026-10-13T10:40:00.000Z",
"ok": true, "ok": true,
"ms": 841 "ms": 678
}, },
{ {
"t": "2026-10-13T12:46:00.000Z", "t": "2026-10-13T11:20:00.000Z",
"ok": true, "ok": true,
"ms": 732 "ms": 740
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 819
},
{
"t": "2026-10-13T13:02:00.000Z",
"ok": true,
"ms": 749
} }
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 19 "up": 23
} }
}, },
"meta": { "meta": {
@@ -454,10 +454,10 @@
}, },
"ur-795556828": { "ur-795556828": {
"status": "up", "status": "up",
"latency": 235, "latency": 414,
"code": null, "code": null,
"detail": "UptimeRobot:运行正常", "detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:43:00.000Z", "lastCheck": "2026-10-13T12:58:00.000Z",
"history": [ "history": [
{ {
"t": "2026-10-12T13:50:00.000Z", "t": "2026-10-12T13:50:00.000Z",
@@ -625,20 +625,20 @@
"ms": 334 "ms": 334
}, },
{ {
"t": "2026-10-13T12:07:00.000Z", "t": "2026-10-13T12:22:00.000Z",
"ok": true, "ok": true,
"ms": 212 "ms": 393
}, },
{ {
"t": "2026-10-13T12:43:00.000Z", "t": "2026-10-13T12:58:00.000Z",
"ok": true, "ok": true,
"ms": 235 "ms": 414
} }
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 19 "up": 23
} }
}, },
"meta": { "meta": {
@@ -665,16 +665,11 @@
}, },
"ur-792059414": { "ur-792059414": {
"status": "up", "status": "up",
"latency": 3287, "latency": 3103,
"code": null, "code": null,
"detail": "UptimeRobot:运行正常", "detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z", "lastCheck": "2026-10-13T12:59:00.000Z",
"history": [ "history": [
{
"t": "2026-10-12T13:25:00.000Z",
"ok": true,
"ms": 3598
},
{ {
"t": "2026-10-12T14:10:00.000Z", "t": "2026-10-12T14:10:00.000Z",
"ok": true, "ok": true,
@@ -826,20 +821,20 @@
"ms": 1960 "ms": 1960
}, },
{ {
"t": "2026-10-13T12:02:00.000Z", "t": "2026-10-13T12:19:00.000Z",
"ok": true, "ok": true,
"ms": 2676 "ms": 2258
}, },
{ {
"t": "2026-10-13T12:42:00.000Z", "t": "2026-10-13T12:59:00.000Z",
"ok": true, "ok": true,
"ms": 3287 "ms": 3103
} }
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 19 "up": 23
} }
}, },
"meta": { "meta": {
@@ -866,191 +861,196 @@
}, },
"ur-798788113": { "ur-798788113": {
"status": "up", "status": "up",
"latency": 483, "latency": 410,
"code": null, "code": null,
"detail": "UptimeRobot:运行正常", "detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:44:00.000Z", "lastCheck": "2026-10-13T12:59:00.000Z",
"history": [ "history": [
{ {
"t": "2026-10-12T14:00:00.000Z", "t": "2026-10-12T13:45:00.000Z",
"ok": true, "ok": true,
"ms": 434 "ms": 361
}, },
{ {
"t": "2026-10-12T14:40:00.000Z", "t": "2026-10-12T14:25:00.000Z",
"ok": true,
"ms": 298
},
{
"t": "2026-10-12T15:20:00.000Z",
"ok": true,
"ms": 410
},
{
"t": "2026-10-12T16:00:00.000Z",
"ok": true,
"ms": 481
},
{
"t": "2026-10-12T16:40:00.000Z",
"ok": true,
"ms": 368
},
{
"t": "2026-10-12T17:20:00.000Z",
"ok": true,
"ms": 373
},
{
"t": "2026-10-12T18:00:00.000Z",
"ok": true,
"ms": 290
},
{
"t": "2026-10-12T18:40:00.000Z",
"ok": true,
"ms": 401
},
{
"t": "2026-10-12T19:20:00.000Z",
"ok": true,
"ms": 458
},
{
"t": "2026-10-12T20:00:00.000Z",
"ok": true, "ok": true,
"ms": 346 "ms": 346
}, },
{ {
"t": "2026-10-12T20:40:00.000Z", "t": "2026-10-12T15:05:00.000Z",
"ok": true, "ok": true,
"ms": 417 "ms": 439
}, },
{ {
"t": "2026-10-12T21:20:00.000Z", "t": "2026-10-12T15:45:00.000Z",
"ok": true, "ok": true,
"ms": 415 "ms": 462
}, },
{ {
"t": "2026-10-12T22:00:00.000Z", "t": "2026-10-12T16:25:00.000Z",
"ok": true, "ok": true,
"ms": 366 "ms": 288
}, },
{ {
"t": "2026-10-12T22:40:00.000Z", "t": "2026-10-12T17:05:00.000Z",
"ok": true, "ok": true,
"ms": 258 "ms": 409
}, },
{ {
"t": "2026-10-12T23:20:00.000Z", "t": "2026-10-12T17:45:00.000Z",
"ok": true, "ok": true,
"ms": 252 "ms": 334
}, },
{ {
"t": "2026-10-13T00:00:00.000Z", "t": "2026-10-12T18:25:00.000Z",
"ok": true,
"ms": 472
},
{
"t": "2026-10-12T19:05:00.000Z",
"ok": true,
"ms": 370
},
{
"t": "2026-10-12T19:45:00.000Z",
"ok": true,
"ms": 353
},
{
"t": "2026-10-12T20:25:00.000Z",
"ok": true, "ok": true,
"ms": 274 "ms": 274
}, },
{ {
"t": "2026-10-13T00:40:00.000Z", "t": "2026-10-12T21:05:00.000Z",
"ok": true,
"ms": 535
},
{
"t": "2026-10-12T21:45:00.000Z",
"ok": true,
"ms": 340
},
{
"t": "2026-10-12T22:25:00.000Z",
"ok": true,
"ms": 470
},
{
"t": "2026-10-12T23:05:00.000Z",
"ok": true,
"ms": 245
},
{
"t": "2026-10-12T23:45:00.000Z",
"ok": true,
"ms": 270
},
{
"t": "2026-10-13T00:25:00.000Z",
"ok": true, "ok": true,
"ms": 244 "ms": 244
}, },
{ {
"t": "2026-10-13T01:20:00.000Z", "t": "2026-10-13T01:05:00.000Z",
"ok": true, "ok": true,
"ms": 394 "ms": 302
}, },
{ {
"t": "2026-10-13T02:00:00.000Z", "t": "2026-10-13T01:45:00.000Z",
"ok": true,
"ms": 277
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 463
},
{
"t": "2026-10-13T03:05:00.000Z",
"ok": true,
"ms": 437
},
{
"t": "2026-10-13T03:45:00.000Z",
"ok": true,
"ms": 335
},
{
"t": "2026-10-13T04:25:00.000Z",
"ok": true, "ok": true,
"ms": 320 "ms": 320
}, },
{ {
"t": "2026-10-13T02:40:00.000Z", "t": "2026-10-13T05:05:00.000Z",
"ok": true, "ok": true,
"ms": 364 "ms": 532
}, },
{ {
"t": "2026-10-13T03:20:00.000Z", "t": "2026-10-13T05:45:00.000Z",
"ok": true, "ok": true,
"ms": 430 "ms": 334
}, },
{ {
"t": "2026-10-13T04:00:00.000Z", "t": "2026-10-13T06:25:00.000Z",
"ok": true, "ok": true,
"ms": 400 "ms": 425
}, },
{ {
"t": "2026-10-13T04:40:00.000Z", "t": "2026-10-13T07:05:00.000Z",
"ok": true, "ok": true,
"ms": 357 "ms": 346
}, },
{ {
"t": "2026-10-13T05:20:00.000Z", "t": "2026-10-13T07:45:00.000Z",
"ok": true, "ok": true,
"ms": 372 "ms": 278
}, },
{ {
"t": "2026-10-13T06:00:00.000Z", "t": "2026-10-13T08:25:00.000Z",
"ok": true, "ok": true,
"ms": 426 "ms": 368
}, },
{ {
"t": "2026-10-13T06:40:00.000Z", "t": "2026-10-13T09:05:00.000Z",
"ok": true, "ok": true,
"ms": 314 "ms": 381
}, },
{ {
"t": "2026-10-13T07:20:00.000Z", "t": "2026-10-13T09:45:00.000Z",
"ok": true, "ok": true,
"ms": 449 "ms": 576
}, },
{ {
"t": "2026-10-13T08:00:00.000Z", "t": "2026-10-13T10:25:00.000Z",
"ok": true, "ok": true,
"ms": 279 "ms": 513
}, },
{ {
"t": "2026-10-13T08:40:00.000Z", "t": "2026-10-13T11:05:00.000Z",
"ok": true, "ok": true,
"ms": 407 "ms": 381
}, },
{ {
"t": "2026-10-13T09:20:00.000Z", "t": "2026-10-13T11:43:00.000Z",
"ok": true, "ok": true,
"ms": 317 "ms": 1257
}, },
{ {
"t": "2026-10-13T10:00:00.000Z", "t": "2026-10-13T12:23:00.000Z",
"ok": true, "ok": true,
"ms": 627 "ms": 471
}, },
{ {
"t": "2026-10-13T10:40:00.000Z", "t": "2026-10-13T12:59:00.000Z",
"ok": true, "ok": true,
"ms": 505 "ms": 410
},
{
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 424
},
{
"t": "2026-10-13T12:08:00.000Z",
"ok": true,
"ms": 1116
},
{
"t": "2026-10-13T12:44:00.000Z",
"ok": true,
"ms": 483
} }
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 19 "up": 23
} }
}, },
"meta": { "meta": {
@@ -1090,7 +1090,7 @@
], ],
"daily": { "daily": {
"2026-10-13": { "2026-10-13": {
"total": 19, "total": 23,
"up": 0 "up": 0
} }
}, },