Files
shiroko-monitor/public/status.json
T
tamakyi a7408e2bb5 feat(theme): 全局装饰遮罩 + 尺寸统一;全局审阅修复对比度/暗色/平板布局
用户反馈的两点:
1. 遮罩看不出效果 → 人物与单车统一全局半透明 settings.decoOpacity(默认 .78)
   (此前 0.92/0.80 不一致且几乎无感),各自保留边缘渐隐
2. 切视图时人物比例变化 → 删掉卡片视图专用的 300px 高度,两种视图尺寸一致
3. 保留原始素材 → 原图归档 assets-src/,处理流程固化为 scripts/prepare-artwork.py

全局审阅发现并修复:
- 无障碍对比度:两套主题的状态色当文字用时远低于 AA(最低 2.56:1)→ 双色体系
  (填充色 ≥3:1 保持鲜亮 / 文字色 ≥4.5:1 同色系加深),暗色模式同步
- 暗色模式主题失效:顶栏/卡片/表头/分组行是硬编码白色 → 改为随模式切换的变量
- 平板竖屏 768px 表格需内部横滚 242px → 自动切卡片阈值 700 → 1024
- Cloudflare Worker 快照补齐 dataUpdatedAt/updateIntervalSec/dataFilter
- 清理失效 CSS(.logo .halo)

测试脚本修掉两个自身 bug(均为误报):color(srgb/…) 与半透明底的解析、
渐变背景被误判为透明。verify-views 新增对比度断言 8 条,四套合计 89 项全通过。
2026-10-13 21:55:44 +08:00

1121 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"prober": "shiroko-monitor-node/0.7.0",
"demo": false,
"generatedAt": "2026-10-13T13:55:30.243Z",
"dataUpdatedAt": "2026-10-13T13:54:57.645Z",
"updateIntervalSec": 300,
"dataFilter": "uptimerobot",
"stats": {
"total": 6,
"up": 5,
"down": 1,
"pending": 0,
"avgLatency": 1110,
"avgUptime90": 83.3,
"memory": {
"rssMB": 78.9,
"heapUsedMB": 10.2,
"heapTotalMB": 16
}
},
"sources": {
"uptimerobot": {
"enabled": true,
"ok": true,
"error": null,
"lastSyncAt": "2026-10-13T13:52:32.984Z",
"count": 6,
"syncing": false,
"lastSyncMs": 1791899551553
}
},
"monitors": {
"ur-792059439": {
"status": "up",
"latency": 247,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T13:48:00.000Z",
"history": [
{
"t": "2026-10-12T15:00:00.000Z",
"ok": true,
"ms": 312
},
{
"t": "2026-10-12T15:40:00.000Z",
"ok": true,
"ms": 336
},
{
"t": "2026-10-12T16:20:00.000Z",
"ok": true,
"ms": 275
},
{
"t": "2026-10-12T17:00:00.000Z",
"ok": true,
"ms": 255
},
{
"t": "2026-10-12T17:40:00.000Z",
"ok": true,
"ms": 304
},
{
"t": "2026-10-12T18:20:00.000Z",
"ok": true,
"ms": 323
},
{
"t": "2026-10-12T19:00:00.000Z",
"ok": true,
"ms": 328
},
{
"t": "2026-10-12T19:40:00.000Z",
"ok": true,
"ms": 304
},
{
"t": "2026-10-12T20:20:00.000Z",
"ok": true,
"ms": 265
},
{
"t": "2026-10-12T21:00:00.000Z",
"ok": true,
"ms": 294
},
{
"t": "2026-10-12T21:40:00.000Z",
"ok": true,
"ms": 379
},
{
"t": "2026-10-12T22:20:00.000Z",
"ok": true,
"ms": 176
},
{
"t": "2026-10-12T23:05:00.000Z",
"ok": true,
"ms": 286
},
{
"t": "2026-10-12T23:45:00.000Z",
"ok": true,
"ms": 219
},
{
"t": "2026-10-13T00:25:00.000Z",
"ok": true,
"ms": 207
},
{
"t": "2026-10-13T01:05:00.000Z",
"ok": true,
"ms": 162
},
{
"t": "2026-10-13T01:45:00.000Z",
"ok": true,
"ms": 160
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 199
},
{
"t": "2026-10-13T03:05:00.000Z",
"ok": true,
"ms": 188
},
{
"t": "2026-10-13T03:45:00.000Z",
"ok": true,
"ms": 130
},
{
"t": "2026-10-13T04:25:00.000Z",
"ok": true,
"ms": 494
},
{
"t": "2026-10-13T05:05:00.000Z",
"ok": true,
"ms": 310
},
{
"t": "2026-10-13T05:45:00.000Z",
"ok": true,
"ms": 354
},
{
"t": "2026-10-13T06:25:00.000Z",
"ok": true,
"ms": 275
},
{
"t": "2026-10-13T07:05:00.000Z",
"ok": true,
"ms": 231
},
{
"t": "2026-10-13T07:45:00.000Z",
"ok": true,
"ms": 237
},
{
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 467
},
{
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 409
},
{
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 424
},
{
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 171
},
{
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 377
},
{
"t": "2026-10-13T11:45:00.000Z",
"ok": true,
"ms": 304
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 426
},
{
"t": "2026-10-13T13:08:00.000Z",
"ok": true,
"ms": 250
},
{
"t": "2026-10-13T13:48:00.000Z",
"ok": true,
"ms": 247
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 35
}
},
"meta": {
"name": "狼的公告板",
"group": "UptimeRobot",
"type": "ur",
"url": "https://blog.tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 100,
"7": 100,
"30": 100,
"90": 100
},
"downSeconds": {
"1": 0,
"7": 0,
"30": 0,
"90": 0
}
},
"ur-795497022": {
"status": "up",
"latency": 1131,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T13:50:00.000Z",
"history": [
{
"t": "2026-10-12T14:35:00.000Z",
"ok": true,
"ms": 814
},
{
"t": "2026-10-12T15:15:00.000Z",
"ok": true,
"ms": 710
},
{
"t": "2026-10-12T15:55:00.000Z",
"ok": true,
"ms": 792
},
{
"t": "2026-10-12T16:35:00.000Z",
"ok": true,
"ms": 700
},
{
"t": "2026-10-12T17:15:00.000Z",
"ok": true,
"ms": 689
},
{
"t": "2026-10-12T17:55:00.000Z",
"ok": true,
"ms": 725
},
{
"t": "2026-10-12T18:35:00.000Z",
"ok": true,
"ms": 744
},
{
"t": "2026-10-12T19:15:00.000Z",
"ok": true,
"ms": 723
},
{
"t": "2026-10-12T19:55:00.000Z",
"ok": true,
"ms": 698
},
{
"t": "2026-10-12T20:35:00.000Z",
"ok": true,
"ms": 768
},
{
"t": "2026-10-12T21:15:00.000Z",
"ok": true,
"ms": 616
},
{
"t": "2026-10-12T21:55:00.000Z",
"ok": true,
"ms": 626
},
{
"t": "2026-10-12T22:35:00.000Z",
"ok": true,
"ms": 674
},
{
"t": "2026-10-12T23:15:00.000Z",
"ok": true,
"ms": 624
},
{
"t": "2026-10-12T23:55:00.000Z",
"ok": true,
"ms": 640
},
{
"t": "2026-10-13T00:35:00.000Z",
"ok": true,
"ms": 673
},
{
"t": "2026-10-13T01:15:00.000Z",
"ok": true,
"ms": 609
},
{
"t": "2026-10-13T01:55:00.000Z",
"ok": true,
"ms": 759
},
{
"t": "2026-10-13T02:35:00.000Z",
"ok": true,
"ms": 581
},
{
"t": "2026-10-13T03:15:00.000Z",
"ok": true,
"ms": 666
},
{
"t": "2026-10-13T03:55:00.000Z",
"ok": true,
"ms": 662
},
{
"t": "2026-10-13T04:35:00.000Z",
"ok": true,
"ms": 685
},
{
"t": "2026-10-13T05:15:00.000Z",
"ok": true,
"ms": 647
},
{
"t": "2026-10-13T05:55:00.000Z",
"ok": true,
"ms": 588
},
{
"t": "2026-10-13T06:40:00.000Z",
"ok": true,
"ms": 625
},
{
"t": "2026-10-13T07:20:00.000Z",
"ok": true,
"ms": 673
},
{
"t": "2026-10-13T08:00:00.000Z",
"ok": true,
"ms": 758
},
{
"t": "2026-10-13T08:40:00.000Z",
"ok": true,
"ms": 826
},
{
"t": "2026-10-13T09:20:00.000Z",
"ok": true,
"ms": 749
},
{
"t": "2026-10-13T10:00:00.000Z",
"ok": true,
"ms": 791
},
{
"t": "2026-10-13T10:40:00.000Z",
"ok": true,
"ms": 678
},
{
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 740
},
{
"t": "2026-10-13T12:40:00.000Z",
"ok": true,
"ms": 771
},
{
"t": "2026-10-13T13:13:00.000Z",
"ok": true,
"ms": 772
},
{
"t": "2026-10-13T13:50:00.000Z",
"ok": true,
"ms": 1131
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 35
}
},
"meta": {
"name": "狼的共享盘",
"group": "UptimeRobot",
"type": "ur",
"url": "https://share.tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 100,
"7": 99.789,
"30": 99.951,
"90": 99.93
},
"downSeconds": {
"1": 0,
"7": 1276,
"30": 1276,
"90": 5432
}
},
"ur-795556828": {
"status": "up",
"latency": 224,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T13:49:00.000Z",
"history": [
{
"t": "2026-10-12T14:55:00.000Z",
"ok": true,
"ms": 225
},
{
"t": "2026-10-12T15:35:00.000Z",
"ok": true,
"ms": 275
},
{
"t": "2026-10-12T16:15:00.000Z",
"ok": true,
"ms": 450
},
{
"t": "2026-10-12T16:55:00.000Z",
"ok": true,
"ms": 281
},
{
"t": "2026-10-12T17:40:00.000Z",
"ok": true,
"ms": 320
},
{
"t": "2026-10-12T18:20:00.000Z",
"ok": true,
"ms": 287
},
{
"t": "2026-10-12T19:00:00.000Z",
"ok": true,
"ms": 283
},
{
"t": "2026-10-12T19:40:00.000Z",
"ok": true,
"ms": 464
},
{
"t": "2026-10-12T20:20:00.000Z",
"ok": true,
"ms": 187
},
{
"t": "2026-10-12T21:00:00.000Z",
"ok": true,
"ms": 233
},
{
"t": "2026-10-12T21:40:00.000Z",
"ok": true,
"ms": 213
},
{
"t": "2026-10-12T22:20:00.000Z",
"ok": true,
"ms": 235
},
{
"t": "2026-10-12T23:05:00.000Z",
"ok": true,
"ms": 241
},
{
"t": "2026-10-12T23:45:00.000Z",
"ok": true,
"ms": 230
},
{
"t": "2026-10-13T00:25:00.000Z",
"ok": true,
"ms": 244
},
{
"t": "2026-10-13T01:05:00.000Z",
"ok": true,
"ms": 133
},
{
"t": "2026-10-13T01:45:00.000Z",
"ok": true,
"ms": 127
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 182
},
{
"t": "2026-10-13T03:05:00.000Z",
"ok": true,
"ms": 413
},
{
"t": "2026-10-13T03:45:00.000Z",
"ok": true,
"ms": 229
},
{
"t": "2026-10-13T04:25:00.000Z",
"ok": true,
"ms": 255
},
{
"t": "2026-10-13T05:05:00.000Z",
"ok": true,
"ms": 150
},
{
"t": "2026-10-13T05:45:00.000Z",
"ok": true,
"ms": 201
},
{
"t": "2026-10-13T06:25:00.000Z",
"ok": true,
"ms": 232
},
{
"t": "2026-10-13T07:05:00.000Z",
"ok": true,
"ms": 247
},
{
"t": "2026-10-13T07:45:00.000Z",
"ok": true,
"ms": 559
},
{
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 219
},
{
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 230
},
{
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 432
},
{
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 341
},
{
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 233
},
{
"t": "2026-10-13T11:45:00.000Z",
"ok": true,
"ms": 396
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 308
},
{
"t": "2026-10-13T13:13:00.000Z",
"ok": true,
"ms": 347
},
{
"t": "2026-10-13T13:49:00.000Z",
"ok": true,
"ms": 224
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 35
}
},
"meta": {
"name": "狼的导航页",
"group": "UptimeRobot",
"type": "ur",
"url": "https://tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 100,
"7": 100,
"30": 100,
"90": 100
},
"downSeconds": {
"1": 0,
"7": 0,
"30": 0,
"90": 0
}
},
"ur-792059414": {
"status": "up",
"latency": 3462,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T13:50:00.000Z",
"history": [
{
"t": "2026-10-12T14:55:00.000Z",
"ok": true,
"ms": 3489
},
{
"t": "2026-10-12T15:40:00.000Z",
"ok": true,
"ms": 2901
},
{
"t": "2026-10-12T16:25:00.000Z",
"ok": true,
"ms": 2402
},
{
"t": "2026-10-12T17:10:00.000Z",
"ok": true,
"ms": 2816
},
{
"t": "2026-10-12T17:55:00.000Z",
"ok": true,
"ms": 2291
},
{
"t": "2026-10-12T18:40:00.000Z",
"ok": true,
"ms": 2251
},
{
"t": "2026-10-12T19:25:00.000Z",
"ok": true,
"ms": 2178
},
{
"t": "2026-10-12T20:10:00.000Z",
"ok": true,
"ms": 2123
},
{
"t": "2026-10-12T20:55:00.000Z",
"ok": true,
"ms": 2087
},
{
"t": "2026-10-12T21:40:00.000Z",
"ok": true,
"ms": 1870
},
{
"t": "2026-10-12T22:20:00.000Z",
"ok": true,
"ms": 1662
},
{
"t": "2026-10-12T23:00:00.000Z",
"ok": true,
"ms": 1859
},
{
"t": "2026-10-12T23:40:00.000Z",
"ok": true,
"ms": 3138
},
{
"t": "2026-10-13T00:20:00.000Z",
"ok": true,
"ms": 1681
},
{
"t": "2026-10-13T01:00:00.000Z",
"ok": true,
"ms": 2312
},
{
"t": "2026-10-13T01:40:00.000Z",
"ok": true,
"ms": 2200
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 1924
},
{
"t": "2026-10-13T03:10:00.000Z",
"ok": true,
"ms": 1144
},
{
"t": "2026-10-13T03:55:00.000Z",
"ok": true,
"ms": 2124
},
{
"t": "2026-10-13T04:40:00.000Z",
"ok": true,
"ms": 2623
},
{
"t": "2026-10-13T05:25:00.000Z",
"ok": true,
"ms": 2562
},
{
"t": "2026-10-13T06:10:00.000Z",
"ok": true,
"ms": 2625
},
{
"t": "2026-10-13T06:55:00.000Z",
"ok": true,
"ms": 2226
},
{
"t": "2026-10-13T07:40:00.000Z",
"ok": true,
"ms": 1715
},
{
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 1861
},
{
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 2001
},
{
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 1652
},
{
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 2264
},
{
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 2105
},
{
"t": "2026-10-13T11:45:00.000Z",
"ok": true,
"ms": 1562
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 2773
},
{
"t": "2026-10-13T13:10:00.000Z",
"ok": true,
"ms": 2536
},
{
"t": "2026-10-13T13:50:00.000Z",
"ok": true,
"ms": 3462
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 35
}
},
"meta": {
"name": "狼的提问箱",
"group": "UptimeRobot",
"type": "ur",
"url": "https://box.tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 100,
"7": 99.787,
"30": 99.927,
"90": 99.902
},
"downSeconds": {
"1": 0,
"7": 1288,
"30": 1899,
"90": 7593
}
},
"ur-798788113": {
"status": "up",
"latency": 488,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T13:50:00.000Z",
"history": [
{
"t": "2026-10-12T15:05:00.000Z",
"ok": true,
"ms": 439
},
{
"t": "2026-10-12T15:45:00.000Z",
"ok": true,
"ms": 462
},
{
"t": "2026-10-12T16:25:00.000Z",
"ok": true,
"ms": 288
},
{
"t": "2026-10-12T17:05:00.000Z",
"ok": true,
"ms": 409
},
{
"t": "2026-10-12T17:45:00.000Z",
"ok": true,
"ms": 334
},
{
"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,
"ms": 274
},
{
"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,
"ms": 244
},
{
"t": "2026-10-13T01:05:00.000Z",
"ok": true,
"ms": 302
},
{
"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,
"ms": 320
},
{
"t": "2026-10-13T05:05:00.000Z",
"ok": true,
"ms": 532
},
{
"t": "2026-10-13T05:45:00.000Z",
"ok": true,
"ms": 334
},
{
"t": "2026-10-13T06:25:00.000Z",
"ok": true,
"ms": 425
},
{
"t": "2026-10-13T07:05:00.000Z",
"ok": true,
"ms": 346
},
{
"t": "2026-10-13T07:45:00.000Z",
"ok": true,
"ms": 278
},
{
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 368
},
{
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 381
},
{
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 576
},
{
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 513
},
{
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 381
},
{
"t": "2026-10-13T11:45:00.000Z",
"ok": true,
"ms": 1028
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 601
},
{
"t": "2026-10-13T13:14:00.000Z",
"ok": true,
"ms": 428
},
{
"t": "2026-10-13T13:50:00.000Z",
"ok": true,
"ms": 488
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 35
}
},
"meta": {
"name": "狼的聊天室",
"group": "UptimeRobot",
"type": "ur",
"url": "https://chat.tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 100,
"7": 100,
"30": 100,
"90": 100
},
"downSeconds": {
"1": 0,
"7": 0,
"30": 0,
"90": 0
}
},
"ur-796219015": {
"status": "down",
"latency": 123,
"code": 403,
"detail": "UptimeRobot:403 Forbidden",
"lastCheck": "2026-05-07T07:54:09.000Z",
"history": [
{
"t": "2026-05-07T07:54:09.000Z",
"ok": false,
"ms": 0
}
],
"daily": {
"2026-10-13": {
"total": 35,
"up": 0
}
},
"meta": {
"name": "狼的评论系统",
"group": "UptimeRobot",
"type": "ur",
"url": "https://artalk.tama.guru",
"source": "uptimerobot",
"sourceLabel": "HTTP",
"interval": 300
},
"uptimeRatios": {
"1": 0,
"7": 0,
"30": 0,
"90": 0
},
"downSeconds": {
"1": 86400,
"7": 604800,
"30": 2592000,
"90": 7776000
}
}
}
}