Files
bettergi-scripts-list/repo/js/ActivitySwitchNotice/main.js
云端客 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

66 lines
1.5 KiB
JavaScript

let manifest = {};
async function init() {
let utils=[
"uid",
"ws",
"notice",
"campaignArea",
"activity",
]
for (let util of utils) {
eval(file.readTextSync(`utils/${util}.js`));
}
manifest = JSON.parse(file.readTextSync("manifest.json"));
log.debug("main 初始化完成");
}
// 判断是否在主界面的函数
const isInMainUI = () => {
let captureRegion = captureGameRegion();
let res = captureRegion.Find(RecognitionObject.TemplateMatch(
file.ReadImageMatSync("assets/paimon_menu.png"),
0,
0,
640,
216
));
captureRegion.dispose();
return !res.isEmpty();
};
async function toMainUi() {
let ms = 300
let index = 1
await sleep(ms);
while (!isInMainUI()) {
await sleep(ms);
await genshin.returnMainUi(); // 如果未启用,则返回游戏主界面
await sleep(ms);
if (index > 3) {
throw new Error(`多次尝试返回主界面失败`);
}
index += 1
}
}
(async function () {
await init();
log.info(`版本:{version}`,manifest.version)
if (settings.toMainUi){
await toMainUi();
}
await main();
await toMainUi();
})();
/**
* @returns {Promise<void>}
*/
async function main() {
let ms = 600
await campaignAreaUtil.dailyCommissionMain()
await sleep(ms*2);
await campaignAreaUtil.campaignAreaMain(false)
await sleep(ms*2);
await toMainUi()
await activityUtil.activityMain()
}