From 2288392ddef3fa45e503b328a536830380d1413f Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Thu, 8 Jan 2026 01:19:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BA=BF=E7=B4=A2=E6=9D=BF=E4=B8=8A?= =?UTF-8?q?=E6=9C=89=E7=BA=BF=E7=B4=A2=E6=97=B6=E6=97=A0=E6=B3=95=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E6=94=BE=E7=BD=AE=E7=BA=BF=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks/tasks.json | 13 +++++----- .../Clue/InfrastClueQuickInsertConfirm.png | Bin 972 -> 0 bytes .../Task/Infrast/InfrastReceptionTask.cpp | 24 ++++++++++++++++-- 3 files changed, 29 insertions(+), 8 deletions(-) delete mode 100644 resource/template/InfrastPic/Clue/InfrastClueQuickInsertConfirm.png diff --git a/resource/tasks/tasks.json b/resource/tasks/tasks.json index dcf8f31ac7..346356e3f4 100644 --- a/resource/tasks/tasks.json +++ b/resource/tasks/tasks.json @@ -3148,15 +3148,16 @@ }, "InfrastClueQuickInsert": { "Doc": "快速置入:官服新增的批量置入线索按钮模板占位", - "roi": [1058, 572, 148, 148], - "next": ["InfrastClueQuickInsertConfirm", "Stop"] + "roi": [1058, 572, 148, 148] }, "InfrastClueQuickInsertConfirm": { + "baseTask": "NumberOcrReplace", "Doc": "满线索再放", - "action": "ClickSelf", - "maskRange": [1, 255], - "roi": [1200, 610, 80, 40], - "rectMove": [-110, 30, 110, 20] + "fullMatch": true, + "binThreshold": [180, 255], + "useRaw": false, + "roi": [1250, 615, 28, 28], + "rectMove": [-110, 30, 110, 10] }, "InfrastClueQuickSendDuplicates": { "Doc": "快速传递重复线索:批量传递重复线索按钮模板占位", diff --git a/resource/template/InfrastPic/Clue/InfrastClueQuickInsertConfirm.png b/resource/template/InfrastPic/Clue/InfrastClueQuickInsertConfirm.png deleted file mode 100644 index bb0a27d0f8cb2e456f023c7b7c1682733c709c9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 972 zcmV;-12g=IP)Px#32;bRa{vGizyJUazyWI3i3tDz193@2K~#9!ozw%c<4_m{;I={eY}H=dwr$(? z)?C}RZQHhO+upy%q$x7zv3I_?ITw_mPyh6MLpe$fF4bbvp$u97xa?hc`6&@UU8IHk zCg&a)tyD4Pfa*|*4zm9A=kenktv2(6c{StGj7&0v)(bB{^L_!!9BI(aj zgo^eO7a77*XzU_{#MMy6kfErgd$c?V+DA}Gh09>HLk#XZLX-4n%L1>Dw77~c(>OWF z=**(yM5V`z%MfNnasdM-hhdI@PK*vLR!z-Tde8CbxVd-t9=mto1Yx%Kw*u`mcbbI2 zRi)(f>-6T<{omey{PFp#cYb~Q{`c?SfB*jNH%%UqQqZrHA&Bp+`(`Vprpx_0omsfv zqN?o{SM$lG6vg#QF_4IH5k6$N#VPg)4ecy0YI*nH$8^(?{I$}EZj7wHf&xjSA`_Q~l> zzkmK(+j@W{Iw!en#6@S@QYd=cWP`XHJF7oFefjpz!)bYI>M>c6`J#5$%oJ#mAU&L$ zzXmq%jV=3vmH;s^gf@3<64!u}x#p;x509St`{xhrhmmQ8gSw;Qc{X>BEE%S(p$2rP z=BoDU`dv6<8#}42vAGGyc%P~1!Ze$^sSIa$G>^nxR;SCm`;Wn0QlkUxu%PaWg0VLD zcr#>TMurX%kuMs!aCTwQ$Xzo_u&X-L=EB#?La`Q>AdtITHTv_*H^09Bn4Z5j{7LRY zt4A84PWNbIbV^pb0TU74^chBTa&&lU;LCw0 uK#4}W5Q>_bmA)iT!q)QaL-qZq>CS)K*@E!9m#+%|0000get_image(); - // 优先检测官服新增的“快捷置入”按钮,如果存在则点击一次执行批量置入,跳过逐个置入流程 + // 优先检测官服新增的“快捷置入”按钮,如果存在则尝试根据数字与空位一致时批量置入 if (ProcessTask(*this, { "InfrastClueQuickInsert" }).set_retry_times(3).run()) { - return true; + InfrastClueVacancyImageAnalyzer vacancy_analyzer(image); + vacancy_analyzer.set_to_be_analyzed(clue_suffix); + vacancy_analyzer.analyze(); + const int vacancy_cnt = static_cast(vacancy_analyzer.get_vacancy().size()); + + const auto confirm_task = Task.get("InfrastClueQuickInsertConfirm"); + if (vacancy_cnt > 0 && confirm_task != nullptr) { + RegionOCRer ocr_analyzer(image); + ocr_analyzer.set_task_info(confirm_task); + + if (auto ocr_res = ocr_analyzer.analyze()) { + int available = 0; + if (utils::chars_to_number(ocr_res->text, available) && available == vacancy_cnt) { + Rect click_rect = confirm_task->roi.move(confirm_task->rect_move); + ctrler()->click(click_rect); + return true; + } + } + } } for (const std::string& clue : clue_suffix) {