diff --git a/repo/js/日志分析工具/README 的 README.md b/repo/js/日志分析工具/README 的 README.md new file mode 100644 index 000000000..c9800f5a1 --- /dev/null +++ b/repo/js/日志分析工具/README 的 README.md @@ -0,0 +1,340 @@ +# BetterGI 日志分析工具 + +一个用于分析 Better Genshin Impact 自动化工具日志的网页工具,支持拖放操作、多种显示模式和丰富的快捷键功能。 + +**在线地址**: https://this-fish.github.io/Read_BetterGI_Log/index.html + +## 🌟 核心功能 + +### 日志解析 +- 📁 **拖放分析** - 直接拖拽日志文件到页面即可分析 +- 📱 **移动端支持** - 手机/平板设备专用上传界面 +- 🔄 **多文件合并** - 自动按时间顺序合并多个日志文件 +- ⏰ **智能时间解析** - 自动处理跨日日志和时间推算 + +### 数据可视化 +- 📊 **详细统计** - 复活次数、重试次数、卡死点坐标等完整数据 +- 🎯 **坐标追踪** - 查看死亡前最近的X/Y轴坐标 +- ⚡ **实时高亮** - 鼠标悬停行高亮,清晰指示当前查看行 +- 🌓 **主题切换** - 自动/手动切换亮色/暗色主题(00:00~06:30时自动暗色主题) + +### 交互功能 +- ⌨️ **丰富快捷键** - 20+个快捷键覆盖所有操作 +- 🔍 **智能筛选** - 按任务名称关键字筛选显示 +- 📈 **数据聚焦** - 隐藏零统计任务,专注问题分析 +- 📤 **导出分享** - 静态模式方便截图和分享分析结果 + +## 🚀 快速开始 + +### 基本使用 +1. **打开工具** - 访问上述在线地址 +2. **上传日志** - 拖放BetterGI日志文件(文件名以`better-genshin-impact`开头) +3. **查看分析** - 工具自动解析并显示统计信息 + +### 移动设备使用 +1. 点击"选择日志文件"按钮 +2. 选择日志文件后自动解析 +3. 使用底部功能按钮控制显示选项 + +## ⌨️ 快捷键大全 + +### 显示控制 +| 快捷键 | 功能说明 | 状态指示 | +|--------|----------|----------| +| `T` | 切换时间列显示/隐藏 | 右下角提示 | +| `Y` | 切换统计列显示/隐藏 | 右下角提示 | +| `U` | 切换表格格式(新版/旧版) | 右下角提示 | +| `I` | 切换拾取物列显示/隐藏 | 右下角提示 | +| `J` | 隐藏/显示零统计任务 | 右下角提示 | +| `H` | 任务名称关键字筛选 | 左上角提示 | +| `P` | 进入/退出导出模式 | 左上角提示 | + +### 视图操作 +| 快捷键 | 功能说明 | +|--------|----------| +| `~` | 切换亮色/暗色主题 | +| `R` | 重置所有弹窗位置 | +| `W` | 页面上滚 | +| `S` | 页面下滚 | +| `Alt + F` | 切换全屏模式 | +| `.` | 新标签页打开工具 | +| `Alt + L` | 显示/隐藏功能按钮区 | + +### 实用计算工具 +| 快捷键 | 功能说明 | +|--------|----------| +| `6` | 计算原神下次60体力时间 | +| `7` | 计算原神下次40体力时间 | +| `8` | 计算遊戲體力体力下次到指定体力时间輸入(現在体力,目標体力,体力cd) | +| `9` | 计算时间距离现在多久 | +| `右2` | 计算日期+3天 | +| `右3` | 计算两个时间点间隔 | +| `右5` | 计算N天后的日期 | +| `右7` | 计算原神下次120体力时间 | +| `右8` | 计算HH.MM后的时间 | +| `右9` | 计算时间+46小时后 | + +## 📊 数据列说明 + +### 基本信息 +- **任务名称** - 地图追踪任务或脚本名称 +- **开始时间** - 任务开始执行的时间 +- **结束时间** - 任务完成或中断的时间 +- **耗时** - 任务执行总时长 + +### 统计指标 +- **复活次数** - 前往七天神像复活的次数(红色≥2次)。 + - **小数-0.9表示**:当前角色血量过低、返回七天神像回血 +- **重试次数** - 路线重试次数(红色≥2次) + - **注意**:当只有重试次数而无卡死或复活时,任务名称会变为红色 +- **疑似卡死** - 卡死脱离尝试次数(可查看坐标) +- **过远跳过** - 距离过远跳过的路径点(红色≥2次) +- **战斗超时** - 战斗超时次数(红色≥1次) +- **传送失败** - 传送失败重试次数(红色≥3次) + +### 交互功能 +- **悬停查看** - 鼠标悬停统计数字显示详细信息 +- **双击重置** - 双击单元格重置弹窗位置 +- **点击固定** - 点击单元格固定/取消固定弹窗 + +## 🎯 高级功能 + +### H键 - 任务筛选模式 +``` +输入格式:关键词1,关键词2,关键词3 +示例:蒙德,璃月,稻妻 +``` +- 多关键字逗号分隔 +- 支持部分匹配(不区分大小写) +- 筛选时自动隐藏所有拾取物行 +- 左上角显示当前筛选状态 + +### J键 - 零统计任务隐藏 +- 自动隐藏所有異常统计值为零的任务 +- 帮助聚焦有问题任务 +- 与筛选模式协同工作 + +### P键 - 导出静态模式 +- 所有弹窗内容内联显示 +- 方便截图和保存分享 +- 使用浏览器"另存为"功能导出 + +## 🎨 界面说明 + +### 表格格式 +**旧版格式**(默认) +- 单行显示完整任务信息 +- 适合详细数据分析 + +**新版格式(BGI現版格式)**(按U切换) +- 任务信息分两行显示 +- 适合快速浏览 + +### 特殊事件检测 +工具自动检测并标记以下种特殊事件,按错误类型分类: + +| 事件类型 | 颜色标记 | 事件说明 | +|----------|----------|----------| +| **自动恢复事件** | | | +| 自动吃药恢复 | 🟢 绿色 | 自动处理红血状态 | +| 自动领取派遣任务 | 🟠 橙色 | 正常功能执行 | +| **暂停与中断事件** | | | +| 快捷键暂停 | 🟣 粉色 | 用户手动暂停 | +| 窗口焦点异常 | 🟣 粉色 | 游戏窗口失去焦点 | +| 切换区域失败 | 🟣 粉色 | 游戏区域切换失败 | +| **用户配置错误** | 🔧 | | +| 路径文件丢失 | 🔴 红色 | 配置文件缺失 | +| 未匹配战斗脚本 | 🔴 红色 | 战斗脚本配置错误 | +| 战斗策略错误 | 🔴 红色 | 策略脚本语法错误 | +| 缺少元素采集角色 | 🔴 红色 | 队伍缺少对应元素角色 | +| 缺少纳西妲角色 | 🔴 红色 | 队伍缺少纳西妲角色 | +| **BGI运行时错误** | 🐛 | | +| 队伍角色识别失败 | 🔴 红色 | 角色识别功能异常 | +| 未能返回主界面 | 🔴 红色 | 界面导航失败 | +| 切换队伍失败 | 🔴 红色 | 队伍切换功能异常 | +| 自动重启bgi | 🔴 红色 | 调度器任务出现未预期的异常,自动重启bgi | +| **网络与地图问题** | 🌐 | | +| 打开地图失败 | 🔴 红色 | 地图功能异常 | +| 传送点不存在 | 🔴 红色 | 传送点识别问题 | +| 识别大地图失败 | 🔴 红色 | 地图定位失败 | +| **用户主动操作** | 👤 | | +| 脚本异常结束 | 🔴 红色 | 任务被异常中断 | + +**计数显示**:同一事件多次发生时会显示次数,如"快捷键暂停 (3)" + +## 📱 移动端适配 + +### 专用界面 +- 触摸友好的大按钮设计 +- 自适应屏幕尺寸的布局 +- 简化的操作流程 + +### 功能按钮区 +6个核心功能按钮: +1. 🌓 主题切换 +2. ⏰ 时间列控制 +3. 📊 统计列控制 +4. 📦 拾取物控制 +5. 📤 导出模式 +6. 🔍 异常任务筛选 + +## 🔧 技术规格 + +### 支持格式 +- **日志版本**: BetterGI 0.51.0+ +- **文件命名**: `better-genshin-impact` 开头 +- **日期识别**: 自动从文件名解析日期 +- **编码支持**: UTF-8 文本格式 + +### 性能特性 +- 💾 客户端本地处理,无数据上传 +- 📈 虚拟滚动支持大数据量 +- 🔄 实时响应式布局 + +## ❓ 常见问题 + +### 数据解析问题 +**Q: 为什么有些任务显示"进行中"?** +A: 日志中任务没有正常结束记录,可能是脚本被中断。 + +**Q: 坐标信息为什么有时缺失?** +A: 只有在卡死或复活前有坐标记录时才会显示。 + +**Q: 时间显示异常怎么办?** +A: 工具会自动处理跨日情况,如仍有问题请检查日志完整性。 + +### 功能使用问题 +**Q: 如何分享分析结果?** +A: 使用P键进入导出模式,然后用浏览器"另存为"保存HTML文件。或截图分享 + +**Q: 筛选模式如何退出?** +A: 再次按下H键即可退出筛选模式。 + +**Q: 弹窗位置乱了怎么办?** +A: 按R键重置所有弹窗位置,或双击单元格重置单个弹窗。 + +### 移动端问题 +**Q: 手机上传文件失败?** +A: 确保文件命名格式是`better-genshin-impact日期.log`。 + +**Q: 移动端按钮显示不全?** +A: 横屏模式可获得更好体验。 + +## 📋 更新日志 + +### 20251003 +- ❌ 新增错误检测 + - 调度器任务出现未预期的异常,自动重启bgi + - 錯誤過多導至 bgi 自动重启 +### 20251001 +- 修正 筛选模式配置组名匹配時,沒有隱藏 整組都是0異常的配置組 +- 修正 筛选模式配置组名匹配時,舊版UI沒有隱藏0異常任務行的的拾取物 +- 條正 筛选模式時+只显示異常任務行,切換表格格式後沒有只显示 筛选關鍵字匹配的異常任務行 + +### 20250930 +- 优化配置组摺叠功能 + - 在配置组資訊固定在頂部時,點擊摺疊配置組,會自動將該配置組滾動到頂部位置 + - 确保在点击配置组标题时,被折叠的配置组始终滚动到页面最顶部位置。 +- 改善性能 + - 节流和防抖:对滚动和调整大小事件使用节流和防抖 + - 批量DOM操作:减少重排重绘 + - 缓存DOM查询:避免重复查询 + - 使用requestAnimationFrame:优化动画性能 + - 减少事件监听器:优化事件处理 + - 错误处理:添加try-catch防止崩溃 +- 筛选功能修改 + - 配置组名匹配 → 显示整个配置组 + - 配置组名不匹配但有任务匹配 → 显示配置组+匹配的任务 + - 配置组名和任务都不匹配 → 隐藏整个配置组 + +### 20250929 +- 增加快捷鍵 + - 快捷鍵6,計算下次60體力恢復時間 + - 快捷鍵8,計算下次指定體力恢復時間 +- 队伍角色行增加顯示行走位、生存位資訊 + - 行走位、生存位資訊(僅供參考) +- 調整部份UI + - 配置組資訊始終顯示在頂部 + +### 2025-09-27 +- 🎨 UI优化调整 + - 表头悬浮位置更贴近顶部 + - 功能按钮区域增加边距 + - 修复折叠展开箭头显示问题 +- 👥 配置组增加队伍角色显示 + - 显示该组运行时识别到的队伍角色组合 + +### 2025-09-25 +- 🔍 新增任务筛选功能(H键) + - 按任务名称关键字筛选显示 + - 多关键词逗号分隔 + - 筛选模式隐藏拾取物行 +- 🔄 状态持久化优化 + - 第二次读档保留各功能状态 +- ❌ 新增错误检测 + - "未能返回主界面"错误识别 + +### 2025-09-23 +- ❌ 新增错误检测 + - 选项列表不存在传送点重试 + - 识别大地图位置失败 + - 切换区域失败 + +### 2025-09-21 +- ❌ 新增错误检测 + - 窗口焦点异常恢复 + - 队伍角色识别失败 + - 打开大地图失败 +- 🔢 多次异常显示次数 + - 如:快捷键暂停 (2) + +### 2025-09-06 +- ❌ 新增错误检测 + - 切换队伍失败提示 + +### 2025-09-05 +- ❌ 新增错误检测 + - 未匹配到任何战斗脚本 + +### 2025-08-31 +- 🎨 彩色事件标记系统 + - 战斗策略错误检测 + - 缺少元素角色提示 + - 路径文件丢失警告 + - 自动吃药事件标记 + +### 2025-08-30 +- 📍 坐标捕获增强 + - 补充精确接近目标点坐标 +- 🎨 暗色模式优化 + - 修复任务名称红色显示条件 + +### 2025-08-23 +- 📱 移动端功能增强 + - 专用功能按钮区 + - Alt+L显示控制快捷键 +- ✅ 导出模式确认操作 + - Enter确认,ESC取消 + +### 2025-08-21 +- 🔍 J键零统计任务隐藏 +- 📱 移动设备完整支持 +- 🎯 行高亮交互优化 + +### 2025-08-20 +- 📍 死亡坐标追踪功能 +- 🪟 弹窗交互体验优化 + +*更早版本包含基础日志解析和显示功能* + +## 📞 技术支持 + +### 注意事项 +- 🔒 工具完全在浏览器本地运行,无数据上传 +- 📝 仅支持BetterGI官方格式日志文件 +- ⚠️ 分析结果仅供参考,不保证100%准确 + +--- + +*最后更新: 2025-09-27* +*适配 BetterGI 0.51.0+ 版本* \ No newline at end of file diff --git a/repo/js/日志分析工具/README.md b/repo/js/日志分析工具/README.md new file mode 100644 index 000000000..fb2a6358b --- /dev/null +++ b/repo/js/日志分析工具/README.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/repo/js/日志分析工具/index.html b/repo/js/日志分析工具/index.html new file mode 100644 index 000000000..a4ac6ef9d --- /dev/null +++ b/repo/js/日志分析工具/index.html @@ -0,0 +1,5560 @@ + + + + + + + 日志分析工具 + + + + + +
+ 正在篩選: + +
按 H 鍵退出篩選 +
+
静态模式
请 另存新档 或 截圖 分享页面
+ +
+
将日志文件拖放到此处
+ +
+ +
+ + +
+ + +
+ + + + + + + +
+
+
+ + +
+
+

确认操作

+

您确定要执行此操作吗?

+
+ + +
+
+ + +
+ +
+ +
+ +
+ +
+ +
按 0 键查看说明
+ + + + + \ No newline at end of file diff --git a/repo/js/日志分析工具/main.js b/repo/js/日志分析工具/main.js new file mode 100644 index 000000000..2fd71b469 --- /dev/null +++ b/repo/js/日志分析工具/main.js @@ -0,0 +1,3 @@ +(async function () { + log.error("你不应该这样运行这个脚本。请阅读 README.md 以了解如何正确使用它。"); +})(); diff --git a/repo/js/日志分析工具/manifest.json b/repo/js/日志分析工具/manifest.json new file mode 100644 index 000000000..14a27d9be --- /dev/null +++ b/repo/js/日志分析工具/manifest.json @@ -0,0 +1,14 @@ +{ + "manifest_version": 1, + "name": "日志分析工具", + "version": "0.20251006", + "bgi_version": "0.51.0", + "description": "日志分析工具(建议在目录直接点开这个html使用)\n1.打開BetterGI\\log目錄\n2.拖入單個或多個log檔案進入頁面即可顥示分析結果\n3.網頁中按 0 键查看更多说明", + "authors": [ + { + "name": "蜜柑魚" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} \ No newline at end of file