10 Commits

Author SHA1 Message Date
云端客
a754bd8d7f 活动期限/周本通知器 0.1.1 (#3002)
* refactor(utils): 重构工具模块导入导出结构并优化功能实现

- 将各个工具模块改为ES6模块化导入导出方式
- 新增通用文本识别点击工具函数findTextAndClick
- 优化campaignArea模块中的征讨领域识别逻辑
- 统一uid识别和通知发送的调用方式
- 移除eval动态加载改用静态导入
- 更新版本号至0.1.1

* config(ActivitySwitchNotice): 更新默认显示天数设置

- 移除周一到周五的默认显示配置
- 保留周日和周六作为默认显示选项

* feat(ActivitySwitchNotice): 更新版本历史记录

- 周本提醒日升为多选功能实现
- 适配新秘境征讨UI界面调整
2026-03-16 14:20:53 +08:00
云端客
ecc2de529a feat(ActivitySwitchNotice): 添加新活动通知功能 (#2831)
* feat(ActivitySwitchNotice): 添加新活动通知功能

- 新增配置文件路径定义用于存储活动数据
- 在activityMain函数中添加newActivityNotice参数控制新活动通知
- 读取历史活动配置文件并转换为Set进行对比
- 创建activityNameSet记录当前页面活动名称
- 修复OCR键值获取中的参数传递格式问题
- 实现新活动检测逻辑并与历史数据进行比较
- 添加新活动通知发送功能包括UID识别
- 更新版本号从0.0.8到0.1.0并在README中记录变更
- 在设置界面添加新活动通知的启用开关选项

* feat(ActivitySwitchNotice): 更新活动主函数调用以支持新活动通知设置

- 修改 activityMain 函数调用,传入 settings.newActivityNotice 参数
- 实现新活动通知功能的配置支持

* feat(ActivitySwitchNotice): 优化活动通知逻辑并修复数据处理问题

- 在遍历活动列表时同步更新 activityNameSet 集合
- 注释掉冗余的数组合并操作避免重复数据处理
- 重构新增活动检测逻辑提高代码可读性
- 优化通知发送后的配置文件更新时机确保数据一致性
- 改进错误处理机制并添加调试日志
- 修复当无新增活动时不执行通知发送的逻辑分支

* feat(ActivitySwitchNotice): 实现基于UID的个性化活动数据管理

- 添加UID识别功能,通过uidUtil.ocrUID()获取用户唯一标识
- 修改活动数据结构,将全局活动集合改为按UID分类存储
- 实现用户特定活动过滤,只处理当前UID相关的活动数据
- 更新活动配置文件写入逻辑,支持多用户数据分离存储
- 优化新增活动检测机制,基于用户历史活动进行精确匹配
- 重构活动数据序列化处理,确保数据格式兼容性和持久化
2026-02-02 07:27:12 +08:00
云端客
7809496731 活动期限/周本通知器 0.0.8 (#2763)
* feat(ActivitySwitchNotice): 添加地图任务识别功能

- 新增 mapMission 工具模块用于OCR地图任务识别
- 在初始化工具列表中加入 mapMission 模块
- 修改 main 函数增加异常处理和开关控制逻辑
- 优化代码格式和缩进一致性
- 添加地图任务OCR识别区域配置参数

* feat(ActivitySwitchNotice): 添加地图任务识别功能并优化配置管理

- 实现地图任务识别功能,支持伴月纪闻任务和每日委托奖励识别
- 新增initSettings函数用于统一管理配置文件读取和初始化
- 在settings.json中添加地图任务相关的多选框配置选项
- 更新manifest.json版本至0.0.8并添加最低BGI版本要求
- 重构ocrMapMission函数以支持多任务名称匹配
- 添加openMap和mapMission工具函数用于地图操作和任务识别
- 优化通知系统,移除不必要的参数并完善错误处理
- 调整设置界面布局,添加分隔符提升用户体验

* feat(map): 添加地图任务识别功能

- 实现多复选框配置映射表获取功能
- 添加根据复选框名称获取对应值的方法
- 重构OCR地图任务识别函数,优化参数和错误处理
- 集成UID识别并在通知中显示
- 更新地图任务识别流程和结果显示格式
- 添加地图任务识别数量统计日志
- 在README中更新版本历史记录

* feat(map): 添加地图任务识别功能

- 实现多复选框配置映射表获取功能
- 添加根据复选框名称获取对应值的方法
- 重构OCR地图任务识别函数,优化参数和错误处理
- 集成UID识别并在通知中显示
- 更新地图任务识别流程和结果显示格式
- 添加地图任务识别数量统计日志
- 在README中更新版本历史记录

* feat(ActivitySwitchNotice): 添加新的活动任务选项并设置默认值

- 添加探索派遣奖励选项
- 添加豪斗旅纪奖励选项
- 设置伴月纪闻任务为默认选项之一
- 设置探索派遣奖励为默认选项之一
- 设置每日委托奖励为默认选项之一
- 更新配置结构以支持多选默认值
2026-01-23 00:01:53 +08:00
云端客
e6ae771a8e 活动期限/周本通知器 0.0.7 (#2736)
* feat(campaignArea): 添加每日委托OCR识别和提醒功能

- 新增每日委托识别区域坐标配置
- 实现ocrDailyCommission函数进行OCR识别处理
- 添加dailyCommissionMain主函数控制委托提醒流程
- 修改campaignAreaMain函数支持开关热键功能
- 更新main函数调用顺序和参数传递
- 增加版本号至0.0.7并更新README文档

* docs(ActivitySwitchNotice): 更新文档添加核心思维导图

- 添加整体架构流程图展示程序入口和初始化流程
- 添加活动扫描核心流程的详细状态转换图
- 添加征讨领域提醒流程的状态转换图
- 添加通知发送机制的流程图
- 添加配置解析流程的状态转换图
- 添加核心组件依赖关系的架构图
- 将原有的逻辑流程部分后移并保留基础描述
2026-01-19 17:47:48 +08:00
云端客
55e3bdd672 feat(ActivitySwitchNotice): 新增UID识别功能并优化通知内容 (#2632) 2026-01-07 13:28:42 +08:00
云端客
37ff6a6e5b 【0.0.5】活动期限/周本通知器 (#2618)
* feat(ActivitySwitchNotice): 支持解析包含分钟的时间文本

- 添加对分钟单位的解析支持,使用正则表达式匹配"分钟"
- 将天数、小时数、分钟数都改为浮点数解析以支持小数
- 添加数值非负验证,确保解析结果不为负数
- 将分钟转换为小时进行统一计算
- 对结果进行四舍五入取整
- 修复OCR识别结果不完整的问题,自动补全"小时"和"分钟"单位

* feat(activity): 添加活动黑名单条件过滤功能

- 新增 parseWhiteActivity 和 parseBlackActivity 函数,支持解析黑白名单格式
- 实现黑名单条件匹配机制,支持活动名-条件1,条件2的语法格式
- 添加 getMapByKey 函数支持反向匹配功能
- 更新配置初始化流程,添加 init 函数处理黑名单配置
- 改进活动过滤逻辑,支持条件匹配检查
- 更新 README.md 文档说明新的黑名单条件语法
- 修改设置项名称从 blackActivityNameList 到 blackActivity
- 优化配置项标签说明,添加条件语法使用说明
- 添加版本历史记录 0.0.5 版本更新内容

* refactor: 重构黑名单过滤机制,新增条件匹配功能

* feat(ActivitySwitchNotice): 添加manifest.json读取和版本日志功能

- 添加manifest.json文件读取功能
- 将初始化日志从info级别调整为debug级别
- 在启动时输出版本信息日志
- 初始化manifest变量以存储应用清单数据

* chore(docs): 更新版本发布日期

- 修正版本 0.0.5 的发布日期从 2026-01-03 为 2026-01-04

* chore(ActivitySwitchNotice): 更新版本号并清理manifest配置

- 将版本号从 0.0.4 更新到 0.0.5
- 移除了 http_allowed_urls 中多余的逗号,修复了JSON格式
- 保持了原有的依赖配置和URL访问权限设置

* fix(ActivitySwitchNotice): 修复OCR键函数调用参数缺失问题

- 修复OcrKey函数调用时缺少activityName参数的问题
- 确保黑名单条件检查时传递正确的活动名称参数
- 解决因参数缺失可能导致的条件匹配错误

* docs(ActivitySwitchNotice): 更新README文档添加逻辑流程图

- 添加了详细的逻辑流程说明
- 使用mermaid图表展示组件间交互流程
- 补充了配置初始化到活动过滤的完整流程
- 说明了黑名单匹配和OCR校验的具体逻辑
- 更新了用户使用指南章节结构

* docs(ActivitySwitchNotice): 更新活动过滤器流程图文档

- 修正了活动过滤器流程图中的条件判断逻辑描述
- 更新了黑名单匹配条件的处理流程说明
2026-01-04 11:04:59 +08:00
云端客
a3de5b65d6 [0.0.4迭代]活动期限/周本通知器 (#2604)
* feat(notice): 添加WebSocket独立通知功能并重构通知系统

- 实现WebSocket通知功能,支持私聊和群聊模式
- 添加通知类型配置选项,支持BGI通知、独立通知或两者同时使用
- 新增WebSocket相关配置项包括代理URL、连接地址和认证令牌
- 重构通知发送逻辑,支持多种通知类型的消息格式
- 添加@用户功能和多种消息类型支持
- 更新manifest.json添加网络请求权限配置
- 优化代码结构,使用异步初始化加载工具模块

* feat(ActivitySwitchNotice): 添加独立通知功能支持WebSocket推送

- 新增独立通知配置功能,支持通过WebSocket发送通知
- 新增ws.js模块实现WebSocket通知功能
- 新增noticeType配置选项用于选择通知模式
- 新增ws_proxy_url、ws_url、ws_token配置选项
- 新增action、send_id、at_list配置选项用于发送设置
- 更新README文档添加独立通知配置说明和使用要求
- 修复OCR识别函数名称从OcrRemainingTime改为OcrKey

* fix(ActivitySwitchNotice): 修复设置选项数组格式

- 修复了通知模式选项数组中缺少逗号的问题
- 确保JSON格式正确性以避免解析错误

* refactor(notice): 重构通知工具类并修复配置引用问题

- 将 noticeUtil.send 方法重命名为 sendText 以明确功能
- 修复配置对象引用问题,将 config 重命名为 configNotice 避免冲突
- 为 sendNotice 函数添加默认参数和调试日志
- 更新条件判断逻辑,使用 map.size 检查空值
- 修复 ws 模块中的配置对象引用,将 config 重命名为 configWs
- 重构 ws 模块初始化逻辑,确保配置正确加载
- 修复变量命名冲突,将 token 参数重命名为 wsToken
- 更新模块初始化顺序,调整 activity 工具的加载位置

* docs(ActivitySwitchNotice): 更新文档说明独立通知配置和WsProxy部署

- 更新独立通知功能说明,添加WsProxy依赖提示
- 简化settings.json文件路径引用
- 移除多余的配置示例分隔符
- 添加WsProxy部署指南和Docker镜像使用说明
- 整理文档结构,优化内容排版

* docs(ActivitySwitchNotice): 更新 README 文档完善功能说明和配置选项

- 添加了独立通知功能的详细配置说明
- 更新了设置表格格式和内容描述
- 增加了 WsProxy 部署指南和 Docker 配置示例
- 完善了核心模块和配置选项文档
- 修正了文档格式和链接引用问题

* docs(ActivitySwitchNotice): 更新 README 文档中的链接和函数名

- 修复 settings.json 链接格式
- 将 send 函数名更正为 sendText

* chore(ActivitySwitchNotice): 更新版本号

- 将版本号从 0.0.3 更新到 0.4
- 保持其他配置项不变

* docs(ActivitySwitchNotice): 更新版本历史文档

- 将版本 0.0.4 的发布状态更新为具体发布日期 2026-01-01
- 保持独立通知配置功能说明
- 保留 WebSocket 通知功能描述
- 维护版本历史记录的准确性
2026-01-01 20:20:44 +08:00
云端客
32b950d6a9 [0.0.3版本迭代]--活动期限/周本通知器 (#2591)
* feat(activity): 优化活动筛选逻辑并添加白名单功能

- 新增 relationship 配置项,控制剩余时间与白名单的逻辑关系
- 将 activityNameList 重命名为 whiteActivityNameList 作为白名单功能
- 实现白名单与黑名单的互斥过滤机制
- 更新活动筛选逻辑,支持按剩余时间或白名单条件过滤
- 修改通知标题构建逻辑,显示剩余时间与白名单配置信息
- 更新 README 文档说明白名单与逻辑关系配置使用方法

* chore(ActivitySwitchNotice): 更新版本号

- 将版本号从 0.0.2 更新到 0.0.3

* fix(ActivitySwitchNotice): 修正活动识别日志消息

- 修正了未识别到活动时的日志消息文案,从"未识别到任何活动"改为"不存在符合条件的活动"

* refactor: 优化秘境征讨提醒逻辑代码结构

* fix(activity): 修复活动白名单过滤逻辑

- 修复了当配置了关系条件时活动白名单过滤的问题
- 添加了对 config.relationship 的检查以决定是否跳过活动处理
- 确保在没有关系配置的情况下仍然按照白名单过滤活动

* fix(ActivitySwitchNotice): 修复活动白名单逻辑判断错误

- 修正了白名单活动匹配时的关系判断逻辑
- 将 !config.relationship 条件改为 config.relationship
- 确保只有在关系配置正确时才跳过非白名单活动

* refactor(ActivitySwitchNotice): 优化OCR识别函数命名

- 将OcrRemainingTime函数重命名为OcrKey以提高通用性
- 更新函数调用以使用新的函数名称
- 保持原有功能逻辑不变,仅优化函数命名规范

* fix(activity): 修复OCR识别和活动过滤逻辑

- 修复OCR识别时资源释放位置,添加try-finally确保截图资源正确释放
- 修改OCR识别逻辑,支持返回多个匹配结果并用'<-->'连接
- 修复活动名称过滤条件中的逻辑运算符空格问题
- 优化代码结构,提高OCR识别的稳定性和准确性

* fix(ActivitySwitchNotice): 修复活动识别结果处理逻辑

- 将 Set 数据结构改为数组并使用 push 方法添加元素
- 保持原有的文本识别和日志记录功能
- 确保返回识别到的文本结果

* feat(ActivitySwitchNotice): 添加根据键名部分内容获取Map值的工具函数

- 新增getMapByKey函数,支持通过键名部分匹配获取Map中的值
- 更新needOcrOtherMap配置,为"飒勇争锋"和"幽境危战"活动添加OCR识别项
- 修改代码逻辑,使用getMapByKey函数替代原有的精确匹配方式
- 优化活动OCR处理流程,提升键名匹配的灵活性

* refactor(ActivitySwitchNotice): 优化OCR识别功能

- 移除"飒勇争锋"活动的OCR配置项
- 修复getMapByKey函数参数格式问题
- 添加函数间空白行以改善代码可读性
- 增强OCR识别日志记录功能,添加命中标识
- 修复变量赋值和参数传递的格式问题

* feat(ActivitySwitchNotice): 添加通用关键词OCR识别功能

- 新增commonList常量定义通用关键词列表
- 实现通用关键词的OCR识别逻辑
- 将识别结果添加到剩余时间文本中
- 支持对已完成等通用状态的自动识别

* feat(ActivitySwitchNotice): 添加通用关键词显示功能

- 在activity.js中添加common变量存储通用关键词
- 将通用关键词信息保存到activityMap中
- 在notice.js中读取并显示通用关键词信息
- 修复通知文本中的格式问题
- 优化条件判断中的空格格式

* docs(ActivitySwitchNotice): 更新README文档添加剩余时间与白名单关系配置说明

- 新增:支持剩余时间和白名单的"与"关系和"或"关系配置说明
- 完善了配置参数文档,增加了`relationship`参数的详细说明
- 更新了版本发布信息和变更日志格式

* feat(ActivitySwitchNotice): 添加剩余时间与白名单关系配置和完成状态显示

- 支持剩余时间和白名单的"与"关系和"或"关系配置
- 添加标记界面显示 `已完成` 的活动功能
- 修复活动过滤逻辑问题,将`activityNameList`更改为`whiteActivityNameList`
- 新增黑名单与白名单的互斥过滤机制,黑名单中剔除白名单
- 在配置中增加`relationship`参数,用于控制剩余时间与白名单活动的逻辑关系

* fix(ActivitySwitchNotice): 修复活动切换通知中的逻辑错误和显示问题

- 修复剩余时间白名单关系逻辑,默认从`与`改为`或`关系
- 移除过早的返回语句,确保列表处理逻辑完整执行
- 调整注释格式以保持代码一致性

* fix(ActivitySwitchNotice): 修复活动通用键处理逻辑

- 将common变量初始化为数组而非undefined
- 使用push方法将OCR识别文本添加到数组中
- 将数组内容通过逗号连接成字符串存储
- 当数组为空时保持undefined值以维持原有行为

* refactor(Notice): 重构活动通知黑名单文本拼接逻辑

* refactor(ActivitySwitchNotice): 重命名活动学期转换函数并添加文档注释

- 将 getDATE_ENUM 函数重命名为 getActivityTermConversion 以提高语义清晰度
- 为函数添加 JSDoc 注释说明参数和返回值类型
- 在函数内部添加代码注释解释逻辑流程
- 更新函数调用处的函数名称引用

* refactor(ActivitySwitchNotice): 移除废弃的滚动到顶部功能

- 删除了 scrollPagesByActivityToTop 函数的完整实现
- 移除了相关的OCR检测和鼠标滚动逻辑
- 清理了游戏区域截图和资源释放代码
- 保留了优化版的滚动到顶部功能注释

* fix(ActivitySwitchNotice): 修复截图资源释放问题

- 添加 try-finally 块确保 captureRegion 资源正确释放
- 防止截图资源未释放导致的内存泄漏问题
- 保持截图识别和滚动逻辑不变
- 修复黑名单文本格式中的多余空格问题

* refactor(ActivitySwitchNotice): 优化活动列表扫描逻辑的资源管理

- 添加 try-finally 块确保 captureRegion 资源正确释放
- 修复资源泄露问题,避免未调用 dispose() 方法
- 保持原有的活动识别和滚动扫描功能不变
- 优化代码结构提高可读性和维护性

* fix(ocr): 修复OCR文本提取时的空值问题

- 添加了对OCR提取结果的空值检查
- 避免将空值推入common数组中
- 确保只有有效的文本内容才会被添加到数组中
2025-12-30 18:57:38 +08:00
云端客
cac08d4f15 [活动期限/周本通知器] 迭代 0.0.2 版本 (#2552)
* feat(ActivitySwitchNotice): 添加异步通知发送功能

- 新增异步发送通知函数 send,支持标题和内容拼接
- 添加通知发送前的日志记录和条件判断
- 导出新的 send 函数供外部调用
- 保留原有 sendNotice 函数兼容性

* feat(activity): 新增征讨领域次数识别与通知功能

- 实现征讨领域 OCR 识别逻辑,用于获取每周剩余次数
- 添加秘境与征讨领域的点击坐标配置
- 集成通知工具,发送剩余次数提醒
- 支持自动按键进入活动界面并执行点击操作
- 增加星期判断逻辑,跳过周日执行
- 提供字符串与整数解析工具函数,增强配置容错性

* fix(campaignArea): 修复周日不执行秘境征讨提醒的问题

- 将判断条件从等于0修改为不等于0,确保周日可以执行提醒逻辑
- 添加日志记录,便于追踪执行情况和调试
- 保留原有的延迟和按键操作逻辑

* feat(activity): 添加活动切换通知功能

- 引入 campaignArea.js 工具模块
- 在主流程中调用 toMainUi 函数
- 执行活动区域主逻辑处理
- 整合活动切换与通知机制
- 增强主界面判断逻辑
- 优化异步流程控制

* feat(activity): 实现秘境征讨剩余次数提醒功能

- 添加了每周日自动检查秘境征讨剩余次数的功能
- 实现了通过OCR识别剩余次数的逻辑
- 集成了日志记录和通知发送机制
- 添加了完整的操作延迟和点击坐标配置
- 实现了热键触发和界面点击的自动化流程
- 增加了详细的函数注释和执行日志

* feat(campaignArea): 更新征讨领域坐标并优化OCR识别逻辑

- 调整征讨领域点击坐标为{x: 493, y: 537}
- 新增ocrWeeklyCount函数用于OCR识别周计数信息
- 增强OCR识别后的文本处理与日志记录
- 修复周日判断逻辑,确保仅在周日执行特定操作
- 调整主流程顺序,先执行征讨领域再返回主界面

* refactor(campaignArea): 优化星期名称获取逻辑

- 提取星期名称到独立变量以提高可读性
- 更新日志记录以使用新的变量名
- 确保返回对象中的星期名称正确引用新变量

* feat(ActivitySwitchNotice): 新增征讨领域每周提醒功能

- 在 README 中新增“每周日自动提醒征讨领域剩余次数”特性说明
- 更新 settings.json 配置项表格,增加 toTopCount、scrollPageCount 和 campaignAreaKey 参数
- 新增 campaignArea.js 模块,实现 OCR 识别与周日提醒逻辑
- 调整目录结构说明,加入 campaignArea.js 文件介绍
- 修改工作原理部分,补充征讨领域提醒的执行流程
- 统一 README 中代码引用格式为反引号包裹

* docs(ActivitySwitchNotice): 更新 README 版本历史记录

- 新增 0.0.2 版本的征讨领域周次数提醒功能
- 新增 campaignArea.js 模块及相关配置选项
- 改进 滚动到顶部功能的稳定性并新增相关配置
- 新增 0.1 版本的活动检测、OCR识别及通知功能
- 新增 多种智能解析与防重复检测机制
- 新增 异常处理和错误恢复机制

* fix(ActivitySwitchNotice): 调整日志级别与周日判断逻辑

- 将 info 级别日志调整为 debug 级别
- 修正周日判断条件,确保仅周日执行提醒
- 增强周日判断日志描述
- 更新剩余次数提示文案,明确显示“本周剩余消耗减半次数”
- 在通知消息前添加 Markdown 格式符号 `>` 以突出显示

* refactor(campaignArea): 将日志级别从 info 调整为 debug

- 修改日志记录方式,将 info 级别调整为 debug
- 减少生产环境中的日志噪音
- 提高调试信息的可读性与准确性

* feat(ActivitySwitchNotice): 新增征讨领域模块和配置选项

- 新增 campaignArea.js 模块,包含征讨领域相关功能
- 新增 campaignAreaKey 配置选项,用于自定义征讨领域页面快捷键
- 改进增强滚动到顶部功能的稳定性
- 新增 toTopCount 和 scrollPageCount 配置选项,提供更多滚动控制参数
- 新增活动期限检测与通知功能
- 新增 OCR 识别活动列表和剩余时间功能

* docs: 更新活动通知器功能说明

* feat(ActivitySwitchNotice): 支持征讨领域周次数提醒功能

- 更新插件名称以明确支持活动期限与周本提醒
- 提升版本号至 0.0.2
- 新增 campaignAreaKey 配置项用于自定义征讨领域页面快捷键
- 在 README 中更新 campaignAreaKey 的使用状态为启用
- 更新版本历史记录日期及新增功能说明
- 新增 campaignArea.js 模块实现相关功能逻辑

* feat(ActivitySwitchNotice): 支持自定义征讨领域提醒日

- 新增配置项 campaignAreaReminderDay,用于设置提醒日期
- 修改判断逻辑,使用配置的提醒日替代固定周日判断
- 添加相关注释说明配置用途

* feat(settings): 添加周本提醒日设置选项

- 在设置中新增周本提醒日选择器
- 支持设置提醒日为周日至周六任意一天
- 默认值设为周日
- 保留原有冒险之证按键设置功能

* docs: 更新文档,新增征讨领域提醒日配置选项说明

* fix: 修改周本提醒日配置值为字符串格式

* feat(activity): 添加活动描述字段支持

- 在活动映射中新增 desc 字段,默认值为 null
- 更新通知文本生成逻辑,支持显示活动描述信息
- 优化剩余时间文本格式,增强可读性
- 保持现有功能兼容性,不影响无描述场景显示

* feat(activity): 增加活动时间转换和OCR功能

- 添加日期枚举类型DATE_ENUM及反向映射方法
- 新增活动周期转换映射表activityTermConversionMap
- 新增特定活动OCR内容映射表needOcrOtherMap
- 实现根据活动名称获取日期枚举值的函数getDATE_ENUM
- 添加将总小时数转换为周/天/小时格式的函数convertHoursToWeeksDaysHours
- 在活动时间处理中增加对不同时间单位的支持
- 增加对特定活动额外OCR识别内容的支持
- 修复数组遍历时的缩进问题

* feat(activity): 更新活动时间显示逻辑

- 修改"砺行修远"活动的时间枚举为周
- 调整剩余时间文本的显示格式
- 优化通知文本的排版和分隔符
- 增强日期枚举获取函数的返回值结构
- 添加调试日志用于追踪活动时间和枚举值
- 改进OCR识别时间的显示方式

* feat(ActivitySwitchNotice): 添加黑名单活动名称过滤功能

- 在配置中新增 blackActivityNameList 字段,支持通过 | 分割多个活动名称
- 实现活动黑名单过滤逻辑,排除黑名单中的活动名称
- 更新设置界面,增加黑名单活动名称输入框
- 完善活动筛选流程,优先过滤黑名单活动再判断剩余时间阈值

* feat(ActivitySwitchNotice): 新增活动黑名单过滤功能

- 在 settings.json 中新增 blackActivityNameList 配置项
- 支持通过黑名单排除不关心的活动提醒
- 更新文档说明,添加黑名单使用示例
- 增强活动过滤逻辑,提高匹配准确性
- 在核心扫描流程中集成黑名单过滤机制
- 优化通知显示格式,增加活动描述信息
- 修复若干已知问题,提升脚本稳定性

* fix(activity): 修复活动过滤逻辑

- 修改黑名单活动名称过滤方式,从完全匹配改为包含匹配
- 确保活动名称中包含黑名单关键词时能被正确过滤
- 保持小时数阈值过滤逻辑不变
- 维持扫描完成后统一发送通知的机制

* fix(activity): 修复活动黑名单过滤逻辑及通知文本

- 修正黑名单关键词过滤条件判断
- 优化通知消息文本格式,增加黑名单提示信息

* feat(activity): 支持多个OCR识别键值

- 修改needOcrOtherMap结构以支持数组形式的键值
- 更新OCR识别逻辑以遍历多个键值并拼接结果
- 为"砺行修远"活动添加"完成进度"作为新的OCR识别目标

* fix(activity): 修复OCR时间和活动过滤逻辑

- 修复OCR剩余时间函数调用参数错误,从keys改为key
- 优化活动黑名单过滤逻辑,提高过滤准确性
- 增强活动名称关键字匹配的判断条件
- 修复过滤器提前返回导致的逻辑中断问题

* fix(ActivitySwitchNotice): 优化活动黑名单过滤和日期枚举匹配逻辑

- 黑名单活动名称过滤时增加去除空字符串逻辑
- 日期枚举匹配改为模糊包含匹配,提升识别准确率
- 修复黑名单提示条件判断错误导致的消息格式问题

* docs: 更新活动模块文档,添加配置项说明

* feat(activity): 添加黑名单活动名称过滤功能

- 在活动点击前增加黑名单关键词匹配逻辑
- 跳过匹配黑名单的活动,避免无效点击
- 移除原有冗余的活动过滤逻辑
- 优化活动重复点击判断流程

* style(docs): 格式化 README.md 中的表格样式

- 调整表格列对齐方式,使用冒号对齐格式
- 统一表格分隔符的格式和间距
- 修复表格列宽和对齐问题
- 优化表格的视觉呈现效果
2025-12-23 18:23:58 +08:00
云端客
f01750b034 活动期限通知器 (#2535)
* feat(js): 初始化活动期限通知器插件

- 创建主执行文件 main.js
- 添加插件配置文件 manifest.json
- 编写基础设置界面 settings.json
- 建立项目说明文档 README.md
- 实现异步主函数结构
- 配置插件元数据和依赖项
- 定义用户可配置选项
- 设置默认启用状态和快捷键
- 添加作者信息和联系方式
- 描述核心功能和使用注意事项

* feat(activity): 添加活动切换通知功能

- 新增活动配置读取逻辑,支持指定活动名称列表和活动键
- 实现活动主函数,根据配置决定通知所有或指定活动
- 添加通知工具模块,支持异步发送包含标题和内容的通知
- 在主文件中引入活动和通知工具模块,完善执行流程

* feat(activity): 新增OCR点击活动功能

- 实现OcrClickActivity函数,支持OCR识别并点击活动
- 添加活动名称匹配与切换计数逻辑
- 记录活动坐标及剩余时间信息
- 更新activityMain函数以配合新活动切换流程
- 优化活动页面打开与关闭的键盘操作逻辑

* feat(activity): 增加活动OCR识别与剩余时间获取功能

- 新增ocrRegionConfig配置对象,定义活动及剩余时间识别区域
- 修改OcrClickActivity函数,支持默认OCR区域配置和活动识别逻辑优化
- 增加activityOk状态标识,用于判断是否完成所有活动识别
- 实现OcrRemainingTime函数,用于识别并返回指定活动的剩余时间
- 重构activityMain主流程,支持循环识别多个活动及其剩余时间
- 集成通知模块,发送活动名称和对应剩余时间的通知消息
- 引入外部脚本执行机制,通过eval动态加载notice.js配置文件

* chore(activity): 添加待办注释以优化活动切换逻辑

- 在活动切换循环前添加 '//todo:拉到顶部' 注释
- 为后续优化活动切换时的滚动行为做准备

* feat(activity): 增加活动切换尝试次数限制

- 添加 index 和 maxIndex 变量控制循环次数
- 设置最大尝试次数为10次
- 超出最大尝试次数时记录警告日志并退出循环
- 避免无限循环导致脚本卡死

* chore(activity): 添加待办注释和空行优化代码结构

- 在循环开始前添加了两个新的待办注释
- 在条件判断后添加了滑动一页的待办注释
- 为代码逻辑段落间增加了空行以提高可读性

* chore(activity): 更新活动切换注释

- 将注释中的“滑动一页”修改为“向下滑动一页”以提高可读性

* feat(activity): 实现活动自动化处理主函数

- 添加活动主函数 activityMain 用于自动化处理活动流程
- 集成打开活动页面、OCR识别与点击功能
- 引入活动Map记录已识别活动避免重复处理
- 实现循环处理机制并支持指定活动列表过滤
- 增加页面滑动到底判断逻辑防止无限循环
- 添加最大尝试次数限制及对应日志警告
- 完善注释说明提升代码可读性与维护性

* fix(ActivitySwitchNotice): 调整OCR识别区域坐标配置

- 更新活动识别区域坐标为(197, 220, 292, 701)
- 更新剩余时间识别区域坐标为(497, 202, 1417, 670)
- 优化识别精度以提高切换检测准确性

* refactor(activity): 重构活动切换通知逻辑

- 移除冗余的notice.js文件引用
- 引入activity.js工具文件
- 更新主函数调用activityUtil.activityMain方法
- 确保异步执行上下文正确处理

* feat(activity): 添加页面滚动功能

- 新增 scrollPage 异步函数用于控制页面滚动
- 支持设置滚动方向、距离和速度参数
- 实现鼠标按键控制和步进式滚动逻辑
- 添加详细的函数文档注释
- 集成延时控制和步长配置选项

* feat(activity): 添加活动切换通知功能

- 新增xyConfig配置对象定义top和bottom坐标
- 在activity.js中引入notice.js脚本
- 优化代码格式调整maxIndex变量声明空格
- 修复条件判断语句中的语法错误
- 完善活动切换逻辑注释说明

* feat(activity): 新增活动页面滚动功能

- 添加genshinJson配置对象定义画布尺寸
- 实现scrollPagesByActivity函数支持页面滚动
- 支持向上或向下滚动操作
- 集成坐标移动与页面滚动逻辑
- 设置默认滚动参数适配画布高度
- 保留原有OCR点击活动功能

* refactor(activity): 优化活动点击处理函数参数和映射逻辑

* refactor(activity): 优化活动切换通知的滚动逻辑

- 移除eval执行外部脚本的方式,提高安全性
- 更新scrollPagesByActivity函数实现更稳定的滚动操作
- 增加循环次数与调整滚动参数以提升准确性
- 导出新增的工具方法和配置对象供其他模块使用

* feat(activity): 优化活动切换与滚动逻辑

- 修改鼠标移动注释,明确移动到指定坐标位置
- 为OcrClickActivity函数新增defaultActivityCount参数,支持传入初始活动计数
- 在活动识别主循环中提前声明switchToActivityCount变量,便于复用
- 调整OcrClickActivity调用方式,传递已有的switchToActivityCount值

* feat(activity): 新增滑动到顶功能并优化滑动逻辑

- 新增 scrollPagesByActivityToTop 方法实现自动滚动至顶部
- 增加 toTopCount 和 scrollPageCount 配置项用于控制滑动行为
- 修改 scrollPagesByActivity 方法支持可配置的滑动次数
- 调整 OCR 活动点击函数参数格式以提高可读性

* feat(activity): 实现活动页面滚动功能

- 添加滚动到顶部功能,调用scrollPagesByActivityToTop方法
- 实现向下滑动一页功能,调用scrollPagesByActivity方法
- 移除待办注释,完成页面滚动逻辑
- 整合滚动功能到主循环中,优化用户体验

* feat(ActivitySwitchNotice): 增加返回主界面逻辑并优化设置提示

- 新增 isInMainUI 函数用于判断当前是否处于主界面
- 实现 toMainUi 异步函数确保脚本运行前回到主界面
- 更新设置项标签,明确活动名称可选填且默认推送所有有剩余时间的活动
- 调整代码结构以支持新增功能模块
- 修复部分语法问题以提高代码健壮性

* 图

* feat(ActivitySwitchNotice): 添加控制是否先返回主界面的设置选项

- 修改设置项名称从 enable 为 toMainUi
- 根据设置值控制是否执行返回主界面逻辑
- 更新设置标签描述信息
- 默认启用该功能以保持向后兼容性

* chore(activity): 调整活动工具函数导出并优化主入口执行逻辑

- 注释掉 activityUtil 中的 OcrRemainingTime 导出项
- 在 main.js 中添加异步立即执行函数以支持 toMainUi 切换逻辑
- 为主入口逻辑增加 settings.toMainUi 条件判断

* feat(ActivitySwitchNotice): 添加默认按键设置选项

- 在设置中为活动页面按键添加默认值"F5"
- 更新配置以支持自定义按键绑定
- 优化用户体验,减少手动输入需求

* feat(ActivitySwitchNotice): 添加活动配置并触发按键事件

- 在 activityUtil 中暴露 config 配置对象
- 在主流程中添加按键事件调用逻辑
- 使用 activityKey 配置触发键盘操作

* fix(ActivitySwitchNotice): 优化活动切换逻辑并移除冗余配置

- 将活动快捷键模拟从 keyDown/keyUp 改为 keyPress
- 移除多余的按键释放操作
- 注释掉未使用的 config 导出
- 移除主函数中重复的按键触发逻辑

* refactor(activity): 替换等待函数提升代码可读性

- 将 wait() 函数调用替换为 sleep(ms)
- 统一使用 sleep 函数处理异步等待逻辑
- 提高代码一致性和维护性

* fix(activity): 修复回到顶部逻辑判断条件

- 修改循环跳出条件判断逻辑,避免无限循环
- 确保超过最大尝试次数时能正确抛出错误
- 提高页面滚动到顶部功能的稳定性

* fix(activity): 更新OCR识别区域配置

- 将OCR识别区域从ocrRegion变量更改为config.activity配置
- 确保OCR识别使用正确的活动区域参数
- 保持原有的注释和逻辑结构不变

* feat(activity): 支持自定义OCR识别区域配置

- 修改scrollPagesByActivityTop函数签名,新增ocrRegion参数支持传入自定义OCR区域配置
- 默认使用ocrRegionConfig.activity作为OCR识别区域配置
- 更新OCR对象创建逻辑,使用传入的ocrRegion参数替代原有的config.activity配置
- 保持原有功能不变,增强函数灵活性和可配置性

* fix(activity): 调整活动识别区域坐标和尺寸

- 修改activity识别区域的x、y坐标及宽高参数
- 更新width从292到226,height从701到616
- 调整x坐标从197到267,y坐标从220到197

* fix(activity): 修复活动地图更新逻辑

- 修正 activityMap 初始化赋值错误
- 更新活动地图遍历方式,使用 keys() 方法
- 修复活动地图新增逻辑,避免重复设置相同键值
- 确保只添加新发现的活动到 activityMap 中

* fix(ActivitySwitchNotice): 修复通知文本中键值对顺序错误

- 调整forEach回调函数参数顺序,确保键值对正确显示
- 保持代码逻辑一致性,避免数据展示混乱

* feat(activity): 增加活动切换次数记录功能

- 在OcrClickActivity函数中新增lastName参数用于记录上一个活动名称
- 新增resObject对象统一管理活动切换状态和坐标信息
- 优化活动识别逻辑,避免重复识别相同活动
- 更新函数调用方式以传递LastActivityName参数
- 修复活动切换计数可能不准确的问题
- 完善活动地图更新机制,确保数据一致性

* feat(activity): 添加鼠标移动操作以优化活动切换逻辑

- 在回到顶部逻辑前添加鼠标移动至坐标(0,20)的操作
- 在OCR点击活动逻辑前添加鼠标移动至坐标(0,20)的操作
- 提升活动切换准确性与稳定性

* fix(ActivitySwitchNotice): 调整通知文本格式

- 修改键值对分隔符为单个空格
- 移除键值之间的冒号符号
- 保持每行末尾换行符一致

* fix(ActivitySwitchNotice): 修复活动切换工具中的OCR识别逻辑

- 统一鼠标移动函数调用的代码风格,增加参数间的空格
- 在成功返回顶部时添加日志信息输出
- 增强OCR识别结果判断条件,避免访问空数组导致异常

* fix(ActivitySwitchNotice): 优化活动切换逻辑和OCR识别流程

- 修改OcrClickActivity函数参数默认值,将lastName默认值设为null
- 增强活动识别结束条件判断,避免无限循环
- 添加活动识别过程中的日志记录以便调试
- 引入双变量记录上一个活动名称以提高准确性
- 重构主循环逻辑,确保能正确识别所有活动
- 修复在特定条件下无法退出循环的问题
- 完善活动切换次数统计和活动映射更新机制

* feat(activity): 优化活动页面滚动与OCR识别逻辑

- 新增 scrollPagesByActivityToTop 函数,通过连续检测顶部活动名称相同来确认已到顶
- 修改 scrollPagesByActivity 支持自定义滚动参数(total, waitCount, stepDistance)
- 重构 activityMain 函数,改为逐页扫描活动并统一发送通知
- 调整 OCR 日志级别从 info 改为 debug
- 注释掉旧版 OcrClickActivity 和 activityMain 实现
- 在 main.js 中增加一次 toMainUi 调用以确保界面状态稳定

* refactor(activity): 移除废弃的活动处理函数并优化日志输出

- 删除了已注释的 OcrClickActivity 函数实现
- 移除了已注释的 activityMain 主函数代码
- 优化了活动剩余时间识别的日志格式
- 清理了无用的活动处理逻辑和冗余注释
- 简化了活动识别与点击的核心流程
- 提升了代码可读性和维护性

* fix(notice): 修复通知文本格式化问题

- 修复了模板字符串中变量未正确插入的问题
- 确保键值对在通知中正确显示
- 保持换行符一致以维持原有格式

* fix(ActivitySwitchNotice): 修复通知文本格式化问题

- 将字符串拼接方式从双引号改为模板字符串
- 修复了键值对显示异常的问题
- 确保通知文本正确换行显示

* fix(notice): 移除多余的通知文本包装

- 删除了发送通知时多余的反引号包裹
- 确保通知文本格式正确显示
- 避免了因格式错误导致的通知发送失败问题

* feat(activity): 新增活动剩余时间解析与排序通知功能

- 添加解析原神活动剩余时间字符串为总小时数的函数
- 支持多种时间格式如"22天14小时"、"5小时"等
- 实现按剩余小时数升序排列活动通知内容
- 更新活动时间存储结构以包含原始文本和计算后的小时数
- 优化通知消息展示格式,突出剩余时间信息

* fix(activity): 修复活动时间记录日志格式

- 在日志信息中明确添加“小时”单位以提高可读性
- 保持原有变量替换逻辑不变
- 确保日志输出的一致性和准确性

* feat(activity): 增强活动页面底部检测逻辑

- 新增基于活动名称集合的重复页判断机制
- 计算当前页与上一页活动名称重合率,防止无效滚动
- 设置重合率阈值为70%,超过则判定已到底部
- 每页新增活动计数器,若为零且非首页则停止扫描
- 保留原有底部判断方式,形成双重保险机制
- 优化日志输出,增强调试与运行状态可视化

* feat(activity): 新增活动去重逻辑

- 引入previousPageActivities集合用于记录已识别活动
- 防止同一页活动被重复处理
- 提升活动切换提醒准确性

* feat(activity): 增强活动扫描与通知功能

- 新增 settingsParseInt 函数用于安全解析配置数值
- 添加 notifyHoursThreshold 配置项,支持自定义通知时间阈值
- 优化滚动逻辑中的参数格式和日志输出
- 增加活动即将结束标识(剩余时间≤24小时)
- 过滤掉超出时间阈值的活动,仅通知符合条件的活动
- 更新通知文案,显示时间筛选条件
- 修复多处代码格式和空格问题,提升可读性

* docs(ActivitySwitchNotice): 更新README文档内容

- 补充项目概述与功能特性说明
- 添加用户使用指南与快速开始步骤
- 详细描述配置选项与高级设置
- 增加文件结构与核心模块介绍
- 完善注意事项与工作原理说明
- 提供输出示例与使用环境要求
- 整理文档结构,提升可读性与实用性

* docs(ActivitySwitchNotice): 更新 README 配置说明

- 修正 settings.json 文件链接格式
- 统一文档中文件引用的展示方式
- 提高配置说明的可读性

* fix(ActivitySwitchNotice): 修复设置项默认值语法错误

- 修正 settings.json 中 notifyHoursThreshold 字段的默认值语法
- 添加缺失的冒号以符合 JSON 格式要求

* fix(ActivitySwitchNotice): 修复活动通知筛选逻辑并优化排序

- 调整活动筛选条件,确保仅包含剩余时间小于阈值的活动
- 对筛选后的活动按剩余时间进行升序排序
- 更新通知发送逻辑以使用排序后的活动列表
- 修正日志记录中的活动数量显示问题
- 移除无用的代码注释和空行

* feat(activity): 优化活动通知逻辑以提高性能

- 使用 Map 过滤活动数据而不是数组排序
- 减少不必要的数据转换操作
- 提升活动扫描和通知发送的效率
- 保持原有通知阈值和日志功能不变

* fix(activity): 修复活动名称列表分割方法

- 将 splice 方法更正为 split 方法以正确分割活动名称
- 更新 README 中的默认通知阈值描述
2025-12-21 16:22:52 +08:00