mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-04-29 23:19:59 +08:00
* refactor(ActivitySwitchNotice): 优化通知配置构建逻辑 - 将 configNotice 变量改为 let 声明以支持动态更新 - 新增 async 函数 buildConfigNotice 用于构建通知配置 - 在 sendNotice 函数中调用 buildConfigNotice 确保配置最新 - 在 sendText 函数中添加 buildConfigNotice 调用保证配置同步 * refactor(utils): 导出工具函数并移除全局挂载 - 将 activity.js 中的 activityMain 函数改为导出函数 - 将 campaignArea.js 中的 ocrDailyCommission、ocrWeeklyCount、campaignAreaMain、dailyCommissionMain 函数改为导出函数 - 将 mapMission.js 中的 ocrMapMission、openMap、mapMission 函数改为导出函数 - 将 tool.js 中的 findTextAndClick、getDayOfWeek 函数改为导出函数 - 将 uid.js 中的 saveOnlyNumber、ocrUID、compareUid、checkUid、check 函数改为导出函数 - 将 ws.js 中的 send、sendText 函数改为导出函数 - 移除所有 utils 文件中对 this 对象的挂载操作 - 在 main.js 中导入新的工具函数并移除重复定义的函数 * fix(ActivitySwitchNotice): 修复圣遗物空间检查功能中的显示和逻辑问题 - 修正圣遗物空间不足提醒消息中的标点符号格式 - 修复圣遗物空间阈值错误日志中的数字格式 - 移除不必要的延时操作以优化执行效率 - 调整代码结构以提高运行性能 fix(ActivitySwitchNotice): 修复圣遗物空间检查功能中的显示和逻辑问题 - 修正圣遗物空间不足提醒消息中的标点符号格式 - 修复圣遗物空间阈值错误日志中的数字格式 - 移除不必要的延时操作以优化执行效率 - 调整代码结构以提高运行性能 refactor(ActivitySwitchNotice): 优化圣遗物检查功能中的延迟配置 - 将硬编码的延迟时间替换为可配置的常量 - 统一延迟时间管理,提高代码可维护性 - 保持原有功能逻辑不变的情况下提升代码质量 feat(ActivitySwitchNotice): 更新版本并新增圣遗物空间检测提醒功能 - 将插件版本从 0.1.3 更新至 0.1.5 - 新增圣遗物剩余空间检测提醒功能 - 在版本历史中添加 0.1.5 版本记录 fix(ActivitySwitchNotice): 修复圣遗物剩余空间阈值解析错误 - 添加 try-catch 块处理 parseInt 异常情况 - 当阈值格式错误时默认使用 400 的阈值 - 添加警告日志记录格式错误的阈值设置 - 确保程序在无效配置下仍能正常运行 feat(bag): 添加圣遗物背包空间检查功能 - 新增 HolyRelics.js 工具模块实现圣遗物数量检查逻辑 - 集成 OCR 识别功能用于获取圣遗物数量信息 - 添加背包空间不足提醒功能,可自定义阈值 - 在 main.js 中集成圣遗物检查流程 - 添加新的配置选项包括打开背包按键和圣遗物阈值设置 - 扩展工具类增加 findText、findImg 和 OcrFind 等通用识别方法 - 实现自动打开背包并处理过期物品弹窗功能 * fix(HolyRelics): 修复圣遗物背包空间检测功能 - 添加了进入圣遗物背包的点击状态验证,避免无法进入时继续执行 - 增强了OCR文本解析逻辑,添加了字符串分割长度验证和数值解析校验 - 优化了阈值参数解析,在main.js中添加了更安全的数值转换和错误处理 - 修复了工具函数中资源释放问题,在isInMainUI函数中使用try-finally确保资源被正确释放 - 更新了提醒消息文本,明确标识阈值设置参数
59 lines
2.9 KiB
JavaScript
59 lines
2.9 KiB
JavaScript
import {toMainUi, openBag, findImgAndClick, OcrFind, findText} from "./tool";
|
||
import {sendText} from "./notice"
|
||
|
||
/**
|
||
* 检查圣遗物背包中剩余空间是否达到阈值,如果达到阈值则发送提醒
|
||
* @param {number} threshold - 圣遗物数量差阈值,默认为400
|
||
*/
|
||
export async function checkHolyRelicsKey(threshold = 400) {
|
||
const ms = 300
|
||
log.info("开始圣遗物数量检查") // 记录开始检查圣遗物数量
|
||
// const threshold = settings.threshold || 100 // 注释掉的阈值设置代码
|
||
await openBag() // 打开背包
|
||
await sleep(ms)
|
||
const textFind = await findText("圣遗物"); // 查找"圣遗物"文本
|
||
log.debug("textFind:" + textFind) // 记录查找结果
|
||
if (textFind === null) { // 如果未找到"圣遗物"文本
|
||
await sleep(ms) // 等待1秒
|
||
log.info("进入圣遗物背包") // 记录准备进入圣遗物背包
|
||
// 点击圣遗物背包
|
||
const clicked = await findImgAndClick('assets/holyRelics.jpg')
|
||
if (!clicked) {
|
||
log.error("未能点击进入圣遗物背包,终止检查")
|
||
return
|
||
} // 通过图片点击进入圣遗物背包
|
||
}
|
||
log.info("已进入圣遗物背包") // 记录已进入圣遗物背包
|
||
await sleep(ms)
|
||
const OcrText = await OcrFind(1612, 34, 192, 31); // 使用OCR识别指定区域的文本
|
||
if (!(OcrText?.text)) { // 如果OCR识别失败
|
||
log.error("识别异常") // 记录错误信息
|
||
return // 返回,终止函数执行
|
||
}
|
||
const text = OcrText.text.trim() // 去除识别文本的前后空格
|
||
const HolyRelics = text.replace(/[^0-9/]/g, '') // 只保留数字和斜杠
|
||
const strings = HolyRelics.split('/', 2); // 按斜杠分割字符串
|
||
if (strings.length < 2) {
|
||
log.error(`圣遗物数量解析失败,OCR 原始文本:${text}`)
|
||
return
|
||
}
|
||
const count = parseInt(strings[0], 10);// 解析当前数量
|
||
const total = parseInt(strings[1], 10);// 解析总容量
|
||
if (!Number.isFinite(count) || !Number.isFinite(total)) {
|
||
log.error(`圣遗物数量解析异常,count=${count}, total=${total}, 原文本:${text}`)
|
||
return
|
||
}
|
||
const diff = total - count // 计算剩余空间数量
|
||
|
||
log.debug(`text:${text}`) // 记录原始识别文本
|
||
log.debug(`HolyRelics:${HolyRelics}`) // 记录处理后的文本
|
||
log.debug(`count:${count}`) // 记录当前数量
|
||
log.debug(`total:${total}`) // 记录总容量
|
||
log.debug(`diff:${diff}`) // 记录剩余空间数量
|
||
|
||
if (diff <= threshold) { // 如果剩余空间小于等于阈值
|
||
log.info(`背包圣遗物数量:${count}/${total},相差${diff}个,<=${threshold}个,提醒清理`) // 记录需要清理的信息
|
||
// 发送提醒消息
|
||
await sendText(`背包圣遗物 剩余空间不足(设置阈值):${threshold},剩余:${diff},请前往清理!`, "背包圣遗物剩余空间检查") // 发送提醒文本
|
||
}
|
||
} |