[v1.2.5] openbmclapi-api

1.Breaking Changes (破坏性变更)
- API 路径重构:废弃 `/api/:id` 与 `/api/:id/stats`,统一合并为 `GET /api/nodes/:id`。前端需同步更新调用路径与响应解析逻辑
- 响应格式统一:所有 `/api/*` 接口均返回 `{code: 200, ...}` 包裹结构。单节点详情固定返回 `{code, id, name, daily, stats}`,不再返回裸数组或裸对象
- 字段重命名:`daily` 数组项中的 `clusterId` 更改为 `cluster_id`,以对齐 MySQL 数据库字段规范

2.Features (新特性)
- 单节点聚合接口:新增 `GET /api/nodes/:id`,支持通过 `?year=` 参数控制返回的年度汇总数据,一次请求即可获取节点全部核心数据
- 空数据兜底:节点存在但无数据时,`daily` 返回 `[]`,`stats` 返回全 0 对象,保障前端渲染结构稳定
- 安全增强:请求不在 `config.yaml` 中的节点 `id` 时,统一返回 `404 Node not found`,防止任意 ID 探测打满下游数据源

3.Bug Fixes (问题修复)
- **日期格式不一致:修复 Redis 透传上游 ISO 串与 MySQL 返回 `YYYY-MM-DD` 格式不一致的问题。新增 `normalizeDate` 工具,统一三个数据源的出口日期格式
- 时区依赖问题:`calcStatsFromList` 的月份/年份提取改为基于 UTC 字符串切片,解耦服务器本地时区,确保与 MySQL 聚合结果一致
- 旧版接口行为异常:移除旧版 stats 接口在“MySQL 未启用且无数据”时返回 404 的不一致行为

4.Documentation (文档)
- API 文档重写:`API.md` 新增单节点详情接口章节,全面更新节点列表、错误响应及使用示例
- `/api/nodes` 节点列表的 `api` 字段更新为 `/api/nodes/{id}`,并移除冗余的 `stats` 字段

5.其他变更
- 原openbmclapi-bd-node-api,变更为openbmclapi-api(20260809-16:52)

圈主 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索