feat(theme): 砂狼白子主题 —— 真实立绘/头像 + 自绘装饰
素材(第三方,仅个人自用): - 立绘/头像来自 SchaleDB(schaledb.com),学生 Id 10010 = 砂狼白子 - 版权归 NEXON Games / Yostar(蔚蓝档案),来源与公开部署提示见 README「主题」章节 自绘装饰(SVG/CSS,按公开设定还原): - 天蓝围巾飘带(顶栏底边)、公路车(左下角 + 加载车轮) - 光环水印:倾斜椭圆环 + 四方位带圆头短杆(对齐官方造型,此前误画为正圆+三角) - 倒十字发饰分组标识、迷你光环状态点 其他:主题切换(settings.theme / ?theme= / 顶栏按钮)、立绘位 settings.artwork 修复:dataFilter=uptimerobot 时平均延迟恒为「–」(改为纯外部来源时以其为唯一口径)
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
- *接入*:把 UptimeRobot 已有的监控结果当数据源拉进来,与自建探测并列展示(异地视角),状态、延迟、90 天可用率、心率图全部映射自 UR 官方数据;UR 读取失败时保留上次数据,绝不把服务误判为离线
|
||||
- *输出*:提供 `/api/v2/getMonitors`,字段与状态码编码对齐 UptimeRobot v2,既有脚本/看板可直接消费
|
||||
- **滥用防护与信息泄露控制**:刷新接口仅内网/回环可触发、按来源冷却(429 + Retry-After)、可整体关闭;支持 `hideTargets` / `redactDetails` 与 `local.monitors.json` 私有配置分层,公开配置里可以只有服务名 —— 详见 [docs/SECURITY.md](docs/SECURITY.md)
|
||||
- **主题:砂狼白子**(默认启用,可一键切回默认主题):她的官方立绘与头像、青色光环(含"外圈先亮、内圈后亮"的呼吸动画)、天蓝围巾飘带顶栏、倒十字发饰、公路车轮加载态。素材来源与版权说明见 [主题](#主题砂狼白子)
|
||||
- **三种数据源自动解析**:边缘 API(实时)→ 静态快照 → 浏览器直连,也可用 `?source=` 强制指定
|
||||
|
||||
## 快速开始(本地)
|
||||
@@ -60,9 +61,15 @@ shiroko-monitor/
|
||||
│ ├── monitors.json # ★ 监控目标配置(改这里)
|
||||
│ ├── status.json # 探针输出的状态快照(面板读取)
|
||||
│ └── assets/
|
||||
│ ├── style.css # 浅色主题 + 暗色自适应
|
||||
│ ├── app.js # 数据源解析 / 渲染 / 浏览器直连探测
|
||||
│ └── favicon.svg
|
||||
│ ├── style.css # 基础样式(浅色 + 暗色自适应)
|
||||
│ ├── theme-shiroko.css # 砂狼白子主题(仅在 body[data-theme=shiroko] 下生效)
|
||||
│ ├── shiroko-portrait.webp # 立绘(SchaleDB 素材,见「主题」章节的版权说明)
|
||||
│ ├── shiroko-icon.webp # 方形头像(同上)
|
||||
│ ├── favicon-shiroko.png # 白子主题图标(由头像生成)
|
||||
│ ├── deco-scarf.svg # 自绘:天蓝围巾飘带
|
||||
│ ├── deco-bicycle.svg # 自绘:公路车
|
||||
│ ├── app.js # 数据源解析 / 渲染 / 浏览器直连探测 / 主题切换
|
||||
│ └── favicon.svg # 默认主题图标
|
||||
├── prober/node/ # Node 探针(本地 / CI 用)
|
||||
│ ├── index.js # 巡检循环 + 静态服务器 + /api/* + /api/v2/getMonitors + --once/--demo/--out/--config
|
||||
│ └── lib/
|
||||
@@ -98,6 +105,8 @@ shiroko-monitor/
|
||||
"title": "Shiroko Monitor", // 面板标题
|
||||
"description": "轻量级服务监控面板",
|
||||
"view": "table", // 默认视图:table | cards
|
||||
"theme": "shiroko", // shiroko(砂狼白子)| default
|
||||
"artwork": "", // 可选:立绘图片路径(相对 public/),如 assets/character.png
|
||||
"dataFilter": "both", // both | config | uptimerobot(详见「面板形态与数据源」)
|
||||
"refreshInterval": 30, // 面板检查数据的最大间隔(秒,最小 5);实际对齐服务端更新节奏
|
||||
"dataSource": "auto", // auto | api | static | browser
|
||||
@@ -284,6 +293,45 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
|
||||
|
||||
效果:无论你什么时候打开页面,倒计时都显示「距服务端下一次更新还有多久」——刚更新完打开是 300s,过了 4 分钟打开就只剩 60s。静态快照与浏览器直连模式没有可对齐的服务端节奏,仍按 `refreshInterval` 轮询。
|
||||
|
||||
## 主题(砂狼白子)
|
||||
|
||||
面板名称叫 shiroko-monitor,主题自然取了《蔚蓝档案》的**砂狼白子**:她的光环、围巾、狼耳与配色都被做进了界面。
|
||||
|
||||
### 主题里的元素
|
||||
|
||||
| 位置 | 元素 | 取自设定 |
|
||||
| --- | --- | --- |
|
||||
| 左上 logo / 浏览器图标 | **她的头像**(真实素材)+ 青色光环环(呼吸式外扩动画) | 头像为白子的官方方形头像素材 |
|
||||
| 右下角 | **她的官方立绘**(透明底,约 56vh,顶部渐隐;宽屏下表格会自动让位,不遮挡数据) | 白子原版(阿拜多斯校服)立绘 |
|
||||
| 顶栏底边 | **天蓝色围巾飘带**:波浪形状 + 5 处褶皱纹路(自绘) | 天蓝色围巾是星野送给她的信物 |
|
||||
| 背景 | 天蓝渐变 + 斜向细排线 + 右下**光环水印**(自绘:倾斜椭圆环 + 四方位带圆头的短杆) | 白子的光环是倾斜的椭圆环,四个方位各有一条带圆头的短杆,整体形似全息瞄准镜准星 |
|
||||
| 状态点 | **迷你光环**(外圈 + 中心点,在线时缓慢脉冲外扩) | 光环是基沃托斯学生的标志 |
|
||||
| 分组标题 | **青色倒十字发饰**(旋转 45°,自绘) | 她左侧刘海上别的青色十字发夹 |
|
||||
| 刷新按钮加载态 | **公路车轮**(轮圈 + 辐条 + 花鼓)旋转 | 她最爱的公路车(Bianchi ARIA 原型) |
|
||||
| 左下角 | 公路车侧影(自绘) | 同上 |
|
||||
| 配色 | 天蓝 / 青 + 藏蓝 + 灰白;「正常」色改为青绿(`#12b0a2`) | 阿拜多斯藏蓝校服 + 天蓝围巾 + 灰白发色 |
|
||||
|
||||
### 素材来源与版权
|
||||
|
||||
| 类别 | 内容 | 来源 |
|
||||
| --- | --- | --- |
|
||||
| **第三方素材**(真实立绘/头像) | `public/assets/shiroko-portrait.webp`(540×1024 原图缩至 460 宽)、`shiroko-icon.webp`(120×120)、`favicon-shiroko.png`(64×64) | [SchaleDB](https://schaledb.com)(社区数据库):`images/student/portrait/10010.webp`、`images/student/icon/10010.webp`;学生 Id `10010` = 砂狼白子(校服原版) |
|
||||
| 设定资料(光环形状、发饰、围巾、配色、车型) | 设计依据 | [萌娘百科 · 砂狼白子](https://mzh.moegirl.org.cn/%E7%A0%82%E7%8B%BC%E7%99%BD%E5%AD%90)、[Blue Archive Wiki](https://bluearchive.fandom.com/zh/wiki/%E7%A0%82%E7%8B%BC%E7%99%BD%E5%AD%90)、[百度百科](https://baike.baidu.com/item/%E7%A0%82%E7%8B%BC%E7%99%BD%E5%AD%90/62839164) |
|
||||
| 自绘装饰(SVG/CSS) | 围巾飘带 `deco-scarf.svg`、公路车 `deco-bicycle.svg`、光环水印、迷你光环状态点、倒十字图标、车轮加载图标 | 本仓库原创,按上述公开设定还原 |
|
||||
|
||||
> ⚠️ **版权提示**:立绘与头像素材版权归 **NEXON Games / Yostar(《蔚蓝档案》)** 所有,此处仅作个人自用面板的风格美化。如果要把本仓库或 GitHub Pages **公开发布**,建议删除 `public/assets/shiroko-portrait.webp`、`shiroko-icon.webp`、`favicon-shiroko.png` 并在配置里清空 `artwork`,或替换为你自己的图片(其余装饰均为自绘,可保留)。
|
||||
|
||||
### 切换与配置
|
||||
|
||||
```jsonc
|
||||
"theme": "shiroko", // shiroko | default(默认主题);也可用地址栏 ?theme=default 临时覆盖
|
||||
"artwork": "assets/shiroko-portrait.webp" // 立绘图片路径(相对 public/),留空则不显示
|
||||
```
|
||||
|
||||
优先级:`?theme=` → 浏览器上次选择(localStorage)→ `settings.theme`。顶栏右侧的光环图标按钮可一键切换。切回默认主题后,立绘、光环、斜纹、围巾飘带、公路车全部消失,回到最初的简洁样式。
|
||||
|
||||
**换成你自己的图**:把图片放进 `public/assets/`,再把 `artwork` 指向它即可(透明底 PNG/WebP 效果最好)。文件不存在时静默不显示,不会出现破图。
|
||||
|
||||
## 90 天可用率
|
||||
|
||||
探针每完成一次探测,就把它计入「当日分桶」:`monitors.<id>.daily["YYYY-MM-DD"] = { total, up }`,只保留最近 90 天(超出自动淘汰)。面板据此渲染 90 格色条与百分比。
|
||||
@@ -388,6 +436,13 @@ UptimeRobot 的探测来自其多个节点,适合作为**异地视角**与自
|
||||
- [x] 页脚改为展示「数据更新于 … + 下次检查 Ns」,tooltip 内含服务端更新节奏与快照生成时间
|
||||
- [x] `scripts/verify.cjs` 适配纯外部数据源部署(自动跳过不适用的探测类断言),并新增「倒计时对齐服务端」断言
|
||||
|
||||
### v0.7.0 已实现
|
||||
|
||||
- [x] **砂狼白子主题**(默认启用):官方立绘(右下角,宽屏自动为它让位)+ 头像 logo/favicon(光环环呼吸动画)+ 天蓝围巾飘带顶栏 + 倒十字发饰分组标识 + 公路车轮加载态 + 按官方造型还原的倾斜椭圆光环水印;配套青绿主色调
|
||||
- [x] 主题切换:`settings.theme` / `?theme=` / 顶栏光环按钮(localStorage 记忆),默认主题完整保留
|
||||
- [x] `settings.artwork` 立绘位,默认指向内置立绘;未配置或文件缺失时静默不显示
|
||||
- [x] 修复:`dataFilter=uptimerobot`(只展示外部数据源)时「平均延迟」恒为「–」——原规则一律排除 UR 延迟,改为「混合来源时排除、纯外部来源时以其为唯一口径」,服务端与面板同步调整
|
||||
|
||||
### 路线图(后续迭代)
|
||||
|
||||
- [ ] 通知渠道:Webhook / Server 酱 / Telegram / Bark / 邮件
|
||||
@@ -423,13 +478,15 @@ UPTIMEROBOT_API_KEY=ur... node scripts/verify-uptimerobot.cjs # UR 映
|
||||
|
||||
## 界面截图
|
||||
|
||||
| 表格(默认视图) | 卡片视图 |
|
||||
| 砂狼白子主题(默认,表格视图) | 默认主题 |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
UptimeRobot 数据源(`?filter=uptimerobot`,截图中含真实监控名与域名,公开发布前可自行删除):`docs/screenshot-uptimerobot.png`
|
||||
| 卡片视图(白子主题) | 移动端 |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
演示数据(90 天满档)与移动端:`docs/screenshot-demo.png`、`docs/screenshot-mobile.png`
|
||||
UptimeRobot 数据源(`?filter=uptimerobot`,截图中含真实监控名与域名,公开发布前可自行删除):`docs/screenshot-uptimerobot.png`;演示数据 90 天满档:`docs/screenshot-demo.png`
|
||||
|
||||
## 致谢与定位
|
||||
|
||||
|
||||
Reference in New Issue
Block a user