修复DANMU_OUTPUT_FORMAT默认设置为xml的场景下弹幕测试页获取弹幕提示json解析错误的问题 (#227)

This commit is contained in:
huangxd- authored and GitHub committed 2026-03-11 23:40:51 +08:00
1 parent 8b2e708ebc
commit 77879719cb
4 files changed
+17 -6

No files matched your search

+1 -1
View File
@@ -84,7 +84,7 @@ LogVar 弹幕 API 服务器
- **UI界面-后台配置管理系统**:支持通过UI执行一些操作(详细见 [UI 系统使用说明](https://github.com/huangxd-/danmu_api/tree/main/danmu_api/ui/README.md) ),包括:
- 配置预览
- 日志查看
- 接口调试
- 接口调试/弹幕测试
- 推送弹幕
- 请求记录
- 系统管理
+1 -1
View File
@@ -13,7 +13,7 @@ export const Globals = {
accessedEnvVars: {},
// 静态常量
VERSION: '1.16.0',
VERSION: '1.16.1',
MAX_LOGS: 1000, // 日志存储,最多保存 1000 行
MAX_ANIMES: 100,
MAX_RECORDS: 100, // 请求记录最大数量
+14 -3
View File
@@ -6,7 +6,7 @@
- [功能详解](#功能详解)
- [1. 配置预览](#1-配置预览)
- [2. 日志查看](#2-日志查看)
- [3. 接口调试](#3-接口调试)
- [3. 接口调试/弹幕测试](#3-接口调试弹幕测试)
- [4. 推送弹幕](#4-推送弹幕)
- [5. 请求记录](#5-请求记录)
- [6. 系统配置](#6-系统配置)
@@ -32,7 +32,7 @@ UI 系统提供了以下主要功能模块:
1. **配置预览** - 查看当前生效的环境变量配置
2. **日志查看** - 实时查看系统运行日志
3. **接口调试** - 测试和调试 API 接口
3. **接口调试/弹幕测试** - 测试和调试弹幕 API 接口
4. **推送弹幕** - 向播放器推送弹幕
5. **请求记录** - 查看最近的 API 请求记录
6. **系统配置** - 环境变量配置和系统管理
@@ -62,7 +62,7 @@ UI 系统需要通过在 URL 中添加 TOKEN 来访问,以确保安全性:
- 刷新日志功能
- 清空日志功能(需要 ADMIN_TOKEN)
### 3. 接口调试
### 3. 接口调试/弹幕测试
接口调试功能允许您:
@@ -76,6 +76,17 @@ UI 系统需要通过在 URL 中添加 TOKEN 来访问,以确保安全性:
- 获取番剧详情 - `/api/v2/bangumi/:animeId`
- 获取弹幕 - `/api/v2/comment/:commentId`
弹幕测试功能允许您:
- 自动匹配测试:输入文件名自动匹配并获取弹幕,模拟播放器自动加载流程
- 手动匹配测试:搜索动漫 → 选择番剧 → 选择剧集 → 获取弹幕
- 弹幕统计:弹幕数、时长、高能时刻、平均密度、匹配时长、类型分布
- 弹幕热力图:按时间段可视化弹幕密度分布
- 弹幕列表:支持全部/滚动/顶部/底部过滤,显示颜色和类型标签,懒加载每次100条
- 导出功能:支持导出JSON和XML格式弹幕文件
- 异常时间处理:使用P99分位数剔除异常时间点
- 视图导航优化:搜索结果/剧集详情/弹幕详情逐级切换,带返回按钮和加载动画
### 4. 推送弹幕
推送弹幕功能支持:
+1 -1
View File
@@ -625,7 +625,7 @@ async function fetchDanmuForTest(episodeId, title, source) {
const startTime = performance.now();
try {
const resp = await fetch(buildApiUrl('/api/v2/comment/' + episodeId));
const resp = await fetch(buildApiUrl('/api/v2/comment/' + episodeId + "?format=json"));
if (!resp.ok) throw new Error('HTTP ' + resp.status);
const data = await resp.json();
const elapsed = ((performance.now() - startTime) / 1000).toFixed(2);