Commit Graph

622 Commits

Author SHA1 Message Date
zhousenyu
6b9ac1b5d0 fix: 任务启动阶段无法通过快捷键正常终止,启动阶段强制关闭游戏时启动按钮无法复位 (#3036) 2026-05-02 19:24:51 +08:00
kaedelcb
dc1c25ee00 优化添加一条龙任务添加的弹窗UI (#3068) 2026-05-02 18:57:06 +08:00
辉鸭蛋
e5aa33c577 原神HDR自动关闭 2026-05-02 18:23:13 +08:00
ddaodan
1fd45c42b1 提醒快捷键与游戏键位冲突 (#3083) 2026-04-27 19:40:38 +08:00
Jamis
8956c306c2 增加支持新地图空之神殿 (#3041) 2026-04-12 21:52:53 +08:00
辉鸭蛋
c8d10614c5 翻译排除了一些动态文本的场景 2026-04-06 16:02:56 +08:00
ddaodan
907fe5b3c2 优化通知事件选择界面 (#3001) 2026-04-06 13:08:28 +08:00
ToXz
8a6194f374 feat : Hoyolab map provider with 3 language selector (#2987) 2026-04-05 19:45:57 +08:00
DarkFlameMaster
c8be442943 docs: 给文档链接增加 www 前缀 (#2996) 2026-04-05 01:35:15 +08:00
ShadowLemoon
c5f7a68e79 feat: 通知设置添加超链接查看事件id (#2976) 2026-03-29 21:45:36 +08:00
辉鸭蛋
aef3fa913b 自动烹饪修改成独立任务 (#2949) 2026-03-23 02:31:14 +08:00
辉鸭蛋
a0d8133558 删除多余的启动游戏逻辑 #2943 #2942 2026-03-22 14:14:49 +08:00
Tristan
713589734b feat: 自动地脉花支持领奖后扫描掉落物 (#2928) 2026-03-21 16:37:29 +08:00
辉鸭蛋
cf344b2d39 修复User目录清空后,无法自动创建目录的问题 2026-03-14 16:15:56 +08:00
Shadow-Lemon
5dcbd9b577 fix: 修复命令行启动时自动更新阻塞导致 StartGameTask 跳过等待主界面的问题 (#2902)
Co-authored-by: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com>
2026-03-11 09:56:01 +08:00
云端客
65b5032e6e [开放JS 调用 API]自动幽境危战 (#2882) 2026-03-08 21:13:18 +08:00
DarkFlameMaster
b9e1c37b67 删除一条龙配置的弹窗主题与主窗口保持一致 (#2887) 2026-03-08 18:01:11 +08:00
辉鸭蛋
95e0f01753 新增小地图遮罩,在小地图上展示资源点位 (#2830) 2026-02-24 15:34:50 +08:00
云端客
cac0dfc754 开放自动地脉花 JS调用 (#2789)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2026-02-24 11:12:16 +08:00
辉鸭蛋
f86abe3ceb 支持任意文件名的启动 (#2819) 2026-02-23 13:18:18 +08:00
DarkFlameMaster
d632bdd9fc fix:自动拾取黑名单配置文本框复制剪切时UI短暂无响应 (#2818) 2026-02-22 19:37:47 +08:00
ShadowLemoon
f7976b0bbd feat: 根据文件夹名字和内容重合度区分仓库;启动时自动更新仓库和订阅 (#2767)
* feat: 实现启动时自动更新已订阅脚本及多仓库分离存储

- ScriptConfig: 新增 AutoUpdateSubscribedScripts 配置项
- ScriptRepoUpdater: 动态 CenterRepoPath, 按仓库URL分离存储
  - 内容重合度检测(Jaccard系数)判断仓库异同
  - URL→文件夹名持久化映射(repo_folder_mapping.json)
  - repo_updated.json 存放于各自仓库文件夹内
  - AutoUpdateSubscribedScripts 启动时自动更新订阅脚本
  - 静默同步仓库、渠道URL解析、检出更新脚本
- RepoWebBridge: 使用动态路径, 辅助方法改为 internal
- MainWindowViewModel: 启动时调用自动更新

* feat: 基于内容重合度的导入zip仓库

* perf: 合并默认仓库url映射

* perf: 清理兼容字段

* perf: 添加线程锁以避免并发调用

* fix: 缓存FolderMapping、修复重合度异常返回值、目录扫描异常隔离、移除未使用变量

* perf: 优化更新流程

* perf: 内存缓存添加锁

* fix: 修复更新状态逻辑,确保克隆失败时不标记为已更新

* perf: 文件夹映射先写磁盘再写缓存

* refactor: 简化生成唯一文件夹名称的方法,移除不必要的参数

* fix: ResetRepo加写锁并清理URL映射条目

* perf: 优化重合度算法

* docs: 更新注释

* fix: 仅重置实际更新成功的脚本的 hasUpdate 标记

* feat: 手动一键更新按钮

* feat: 订阅路径迁移至独立文件存储并简化更新逻辑

- 订阅数据从 config.json 迁移到 User/subscriptions/{repo}.json 独立文件
- 添加 ReaderWriterLockSlim 保护订阅文件并发读写
- 使用 System.Text.Json + ConfigService.JsonOptions 序列化
- 新增 RepoWebBridge.GetSubscribedScriptPaths() 桥接方法
- 启动时自动从旧 config.json 迁移订阅数据到独立文件
- 合并手动/自动更新为 UpdateAllSubscribedScriptsCore 共用核心
- 移除 hasUpdate 检查,直接全量更新所有订阅脚本
- 移除冗余 logPrefix 参数

* refactor: 简化启动时自动更新调用

- 移除 Task.Run + try-catch 包装,异常处理已内置于方法中
- 直接使用 fire-and-forget 异步调用

* fix: 订阅目录命名改为 PascalCase (Subscriptions)

* refactor: 移除死代码和冗余中间层方法

* fix: ReadSubscriptionFile 异常时记录日志避免订阅数据静默丢失

* fix: 进度条改为Indeterminate模式、异常日志补全、订阅去重、迁移批量写入、锁注释

* refactor: 提取 ReadFolderMappingFromDisk 消除映射方法嵌套 try

* fix: 补全静态方法异常日志、WriteSubscriptionFile异常保护、ManualUpdate注释

* fix: ManualUpdateSubscribedScripts 加 try-catch 兜底并提示用户重置仓库

* fix: Dialog打开时检测后台自动更新状态,自动禁用按钮并显示进度提示

- ScriptRepoUpdater 新增 IsAutoUpdating 标志和 AutoUpdateStateChanged 事件
- ScriptRepoWindow 订阅事件,自动更新期间显示进度条、禁用所有操作按钮并 Toast 提示
- 更新仓库/重置仓库按钮也加上 IsEnabled 绑定 IsUpdating

* fix: 将自动更新调用包裹在 Task.Run 中避免 UI 线程阻塞

AutoUpdateSubscribedScripts 的 await 后续会被 WPF SynchronizationContext
调度回 UI 线程,导致大量 Git checkout 和文件 IO 操作阻塞界面。
用 Task.Run 确保整个流程在线程池执行。

* fix: 进度条分离 IsProgressIndeterminate 属性,按操作类型正确切换确定/不确定模式

* refactor: 消除 pathing 展开重复逻辑、用布尔字段替换字符串比较追踪状态来源、补全锁注释、统一日志方式

* fix: ExpandTopLevelPaths 泛化展开所有 PathMapper 顶层 key 防止误删用户目录,迁移移入锁内

* fix: 命令行启动配置组/一条龙前先等待自动更新订阅脚本完成

* feat: 添加命令行启动时是否先自动更新选项

* fix: 修复按钮位置
2026-02-20 15:09:17 +08:00
辉鸭蛋
0797f20f26 补充地脉花教程url 2026-02-18 20:54:13 +08:00
辉鸭蛋
9f67726781 I18n v2 (#2709)
* feat(i18n): 添加界面与日志的国际化支持

- 新增 ITranslationService 接口及 JsonTranslationService 实现,提供基于 JSON 的翻译服务
- 添加 TrConverter 转换器,支持通过绑定动态翻译界面文本
- 引入 AutoTranslateInterceptor 行为,自动扫描并翻译界面中的静态文本
- 集成 TranslatingSerilogLoggerProvider,实现日志输出的实时翻译
- 在 App.xaml 中注册全局样式,为 Window、UserControl 和 Page 启用自动翻译

* refactor(AutoTranslateInterceptor): 优化自动翻译拦截器的加载与应用机制

- 移除 HomePage 中冗余的 EnableAutoTranslate 属性设置,改为继承属性
- 通过类构造函数注册全局 Loaded 事件处理器,替代在每个元素上单独添加
- 引入请求队列机制,批量处理待应用翻译的元素,避免重复调度
- 扩展属性类型检查,支持 object 类型以处理更多动态内容场景

* fix: 移除全局自动翻译拦截器以避免冲突

移除在 App.xaml 中为 Window、UserControl 和 Page 全局设置的 AutoTranslateInterceptor,
改为仅在 PickerWindow 中显式启用。这解决了全局样式可能导致的意外行为或冲突。

* feat(ui): 为多个窗口启用自动翻译拦截器

为 MapLabelSearchWindow、ArtifactOcrDialog、PromptDialog 等 14 个窗口添加了 AutoTranslateInterceptor.EnableAutoTranslate 属性,以启用自动翻译拦截功能。

* feat(i18n): 添加国际化目录支持并优化异常处理

* feat(ui): 添加软件UI语言设置并改进翻译服务

- 在通用设置页面新增UI语言选择控件,支持动态切换界面语言
- 修改游戏语言标签为“原神游戏语言”以明确区分
- 改进JsonTranslationService,支持UI语言切换时的实时翻译更新
- 优化AutoTranslateInterceptor,缓存原始文本值并在语言切换时恢复
- 添加属性变更监听机制,确保UI元素在语言切换后正确刷新

* feat(自动翻译): 添加排除自动翻译的依赖属性

在 AutoTranslateInterceptor 中新增 ExcludeAutoTranslate 附加属性,允许对特定依赖对象禁用自动翻译功能。当遍历元素进行翻译时,会检查此属性并跳过已标记排除的元素。

* feat(translation): 为缺失文本翻译添加详细上下文信息

扩展翻译服务以收集缺失文本的详细上下文,包括视图路径、元素类型、属性名等。
重构 `ITranslationService` 接口,引入 `TranslationSourceInfo` 类封装上下文信息。
修改 `AutoTranslateInterceptor` 自动收集 UI 元素信息,`JsonTranslationService` 合并多来源上下文。

* Revert "feat(自动翻译): 添加排除自动翻译的依赖属性"

This reverts commit a1c2334951.

* fix: 跳过 GridViewRowPresenter 中的文本翻译

添加 IsInGridViewRowPresenter 检查,避免在 GridViewRowPresenter 控件内进行自动翻译,防止潜在的界面显示问题。

* fix: 修复自动翻译拦截器在组合框上下文中的误触发

在自动翻译拦截器中添加了 IsInComboBoxContext 方法,用于检测依赖对象是否处于 ComboBox 或其相关弹出菜单的上下文中。当检测到对象位于组合框上下文时,跳过自动翻译逻辑,避免对下拉选项等界面元素进行不必要的翻译操作,从而解决潜在的界面干扰问题。

* feat(translation): 添加缺失翻译上报至 Supabase 的功能

- 新增 IMissingTranslationReporter 接口及 SupabaseMissingTranslationReporter 实现
- 在 JsonTranslationService 中集成缺失翻译上报逻辑
- 添加缺失翻译收集的配置设置(MissingTranslationCollectionSettings)
- 优化缺失翻译文件的序列化格式,将 Source 字段改为紧凑的数字表示
- 移除 ScriptRepoUpdater 中未使用的 using 语句
- 在 App.xaml.cs 中注册 SupabaseMissingTranslationReporter 服务

* fix: 修复自动翻译功能中原始值恢复和重复报告问题

- 移除未使用的法语翻译支持以简化语言选项
- 修复 Supabase 报告序列化时移除冗余字段
- 添加已缺失翻译键的缓存以避免重复报告
- 重构自动翻译拦截器,将原始值存储移至依赖属性
- 修复原始值恢复逻辑,确保正确遍历所有子元素

* feat(ui): 添加更新UI语言文件功能

- 在 ITranslationService 接口中添加 Reload 方法
- 在 JsonTranslationService 中实现 Reload 方法,支持重新加载语言文件并发送变更通知
- 在通用设置页面添加“更新”按钮,点击后从远程仓库下载最新语言文件
- 实现 OnUpdateUiLanguageAsync 命令,支持从 GitHub 和镜像源下载语言文件
- 下载后自动替换本地文件并重新加载翻译服务
2026-02-15 19:03:33 +08:00
ddaodan
c24329eca6 新增:自动地脉花独立任务 (#2583)
* 新增自动地脉花任务代码

* 新增自动地脉花任务资源

* 优化自动地脉花界面文案

* 删除地脉花旧脚本与无用资源

* 完善自动地脉花说明与任务日志

* 完善一条龙地脉花配置与教程入口

* feat: Enhance AutoLeyLineOutcrop functionality and add new pathing data

- Refactored combat text detection logic to improve accuracy.
- Added new regions and positions for "挪德卡莱" in LeyLineOutcropData.json.
- Introduced new pathing files for "挪德卡莱4-望崖营垒" and "挪德卡莱5-厄布拉神柱".
- Updated config.json with new strategies and coordinates for enhanced navigation.
- Improved error handling during party switch operations.
- Removed outdated README.md file from pathing assets.

* 修复一些日志打印

* 移动所有assets文件

* feat: clear drawn content in VisionContext before activating mask window

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2026-02-14 16:35:17 +08:00
躁动的氨气
292dc8fb4f feat: 显示后台角色技能cd (#2754)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2026-02-13 23:19:32 +08:00
躁动的氨气
908294e2fe feat: 优化地图遮罩UI,添加快捷键 (#2775) 2026-02-13 21:20:28 +08:00
辉鸭蛋
a651bbfbe5 优化更新界面UI与交互 2026-02-03 00:59:58 +08:00
辉鸭蛋
62481baba9 地图遮罩功能(把米游社大地图搬到原神内) (#2655) 2026-01-26 02:58:23 +08:00
DarkFlameMaster
1d3e44c113 独立出自动剧情的自定义选项,JS调用时允许忽略内置选项条件 (#2639) 2026-01-19 21:15:50 +08:00
DarkFlameMaster
2d5c7f6e1f 新增一条龙配置的重命名与删除 (#2658) 2026-01-19 15:36:03 +08:00
Jamis
cbef23b7ba Use nullable types for genshin-map coordinates (#2650) 2026-01-18 21:56:50 +08:00
Jamis
d4b8b09210 更新tp.json (#2640) 2026-01-18 15:52:05 +08:00
辉鸭蛋
4e24701b1d feat(界面): 实现遮罩窗口布局的相对比例定位
添加相对比例定位功能,将遮罩窗口中的状态列表和日志文本框从绝对坐标改为基于窗口宽高的比例坐标
新增OverlayRelativeOrAbsoluteConverter转换器处理坐标转换
修改相关视图模型和配置以支持比例定位
2026-01-17 22:07:27 +08:00
辉鸭蛋
7333020e3a feat(界面): 添加覆盖布局编辑模式退出功能及提示
添加右键退出覆盖布局编辑模式的功能,并在编辑模式下显示操作提示
使用 SetCurrentValue 替代直接属性赋值以提高代码质量
2026-01-17 17:34:24 +08:00
辉鸭蛋
5f4185b7f0 添加动态修改log窗口位置的功能 2026-01-17 16:07:34 +08:00
辉鸭蛋
b32da6f902 更新时不覆盖一键宏 #2521 2026-01-16 00:58:30 +08:00
辉鸭蛋
e0c495fae3 冒险家协会加入挪德卡莱 2026-01-15 02:03:02 +08:00
KongDemian
71e64fe2a0 feat: 添加对Wine平台的兼容 (#2572)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2026-01-01 14:10:26 +08:00
Jamis
cf7eab0939 update misc map data (#2570) 2025-12-20 00:27:06 +08:00
辉鸭蛋
3d526c2314 为画中画窗口新增了60帧的模式 2025-12-14 15:39:34 +08:00
辉鸭蛋
59cf8316b0 修复首页修改背景图无法连续更换的问题, fixed #2527 2025-12-14 11:00:09 +08:00
Jamis
2c32dafd44 支持旧日之海地图 (#2546)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-14 10:52:37 +08:00
辉鸭蛋
b2995e7402 补充部分日志 2025-12-12 01:16:28 +08:00
DarkFlameMaster
c4df2324b5 自动剧情支持自定义关键词 #2435 (#2497) 2025-11-30 21:47:18 +08:00
ShadowLemoon
f8ec331a65 fix: 修复推理设备的更多弹窗大小 (#2502) 2025-11-30 19:36:04 +08:00
躁动的氨气
18efc69d0d 配置弹窗UI优化,更新截取物品图标导航地址 (#2499) 2025-11-30 19:35:46 +08:00
ShadowLemoon
75835566d9 fix: 修复配置组设置无法调整高度 (#2468) 2025-11-16 00:55:51 +08:00
ShadowLemoon
6f657aa1fe refactor: 优化自动分解圣遗物的测试流程 (#2467) 2025-11-16 00:55:33 +08:00
ShadowLemoon
e659fec281 fix: 修复独立窗口的样式 (#2465) 2025-11-15 12:08:55 +08:00