From b3fd4dcf018856937f40fdccd12b5ac3fb80cce1 Mon Sep 17 00:00:00 2001 From: ocsin1 <2719912597@qq.com> Date: Sun, 29 Mar 2026 12:33:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E7=94=A8=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E5=85=AC=E5=91=8A=E7=95=8C=E9=9D=A2=E4=BB=A3=E6=9B=BF=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84=E7=A1=AC=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SceneManager/LoginAnnouncementClose.png | Bin 0 -> 1574 bytes .../pipeline/SceneManager/SceneLogin.json | 50 +++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 assets/resource/image/SceneManager/LoginAnnouncementClose.png diff --git a/assets/resource/image/SceneManager/LoginAnnouncementClose.png b/assets/resource/image/SceneManager/LoginAnnouncementClose.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d81e8a9dcee7448e323fcc0c91e92105e23a83 GIT binary patch literal 1574 zcmX|BdpOf;9AA#hazkhrZn@Sf_iTR3rO=Y(nCnrERM;e>r(@YgCNZLpOENj0 zD3>u=n#I(pP|rg0Fom!2e82De`F!3F-OuN+in5L}3xQOkvs+!uls|tKfV4qEfV_ zBMN1$aNlc9!&ruvFMBI*{YS9&$(jaD&m(>e|8#W*mPjP>r@Fu0H5O8|TkqbT$l>!J z^kJ}O?!1snF1N71(l=pl%)Ncorl+Te25*zJSf!+-w5G|5Oni$UwYJ`f9Wt%(^D5JK zPBtPAkx2wYHTcD)e@|EuS}4S#Bqu$Ha?k*c*|%?WWy3zeA*+qX-bntns_IkAvD zaEP&yL~i9t?Eb7j zWo%;dIQEX8DJ5KcRhG8scxlGSQiOv{wKBVVdgd0Vj(>c5C6ic0B9jf!n@j-N^ZU&3 z6JddMXdr=5!LPGG2wXEEG!6bKzL2^@fBwtB-g852KT{iL=bribJvGw#-Au`&=H@Qh z#)=us%e3PC&`@MrTJaI%bXqALt^!~zmZlCw$-tF88y`3F_V#YB5rqefcirjPbKrn* zYsVfTIpOZ%EafQq*Dd-HgiwMGXS)^8^H}$6_f3|;&kfh0@mfA$O(85v2z89?&RIUYu9R9cv}BAYnBB}*}9DWh?275MO|D20BE zE#em>pG??Oh?pW3;j1WkY`<76?COH^!_<&vSP6_ErXMPQ9$||Rlw!@U;~9W+ zc4g&@Px0?LNB7@}N=(d;cud1HzRF#L2?PT9bSy;qx(K0j#+5R{!-|a8Qj3R&2~UTH zhd&KJxrA{_UZnjvuZRS6c6N5cuj6QNC891)OupA^3My!4T%)}yl{%!g>5J+nXJ!sT zXVsAF>+8*z7mV|xfG!@sM(Unv?KX(bw1d^v)o-Ksy(&5QdUn@8#Sp!D zqw|6t)9qnEc}VT?>UVYzf*#gAdE(s|)IlbsbqK8Om;zCOwPyw1zxu@T$_l+Bf$j7wk|HOUgVneVzLC2bO`;zKv!sx`{JfgrI}VHKu^3b8F>G`l*jv9 zX@}k;4kts};%}~*Ur;c&A^ZOJS;H(haIC#u4u~>69h-;8yp?``QDA6jWuQghhY#Jo z<%fyU(Gdv=xm8tW@myWtJHsq}aBJgS1D4k@bC%tMwziVFxj3ufW>*WX^2SEZAeZ6y zMlZpuSE_sW?rpuipeQC2->g!lEv?B*43b07^74K!v!}nx%iUlyBTi`*vEy#mNTKp$ z8C2@jmoLvbvH!d?-`Lnlm94Y5T>F540FX5Aq+}hC9AKA+1D;eC)isl)TKuq^p@488 zd#Z~*y1nVb$b)y$8p;ZvCnl-_swdst+&ud++vVkwcp(8NPl6zD-RbJ2C#;+tzv}5L&XZ_U2Mz;w_m>MoLT^TiGDS#JKfiYC_w5Y_uV0_4xlL z*Q*taz^6%1Pq(nLx|iZqJU%$617eNIR0SUFJ(~xrLzHj0eoS(5GF)B`p`wDMLxDj- zV<2EAh1vSP`Chw#lmr3+m_RK3^vwp59w}tbZLTGpK67SZaB%EGcryEn`?8V)$bXop LyAM=@3;XLoo3jqd literal 0 HcmV?d00001 diff --git a/assets/resource/pipeline/SceneManager/SceneLogin.json b/assets/resource/pipeline/SceneManager/SceneLogin.json index 30bed26da..482297e34 100644 --- a/assets/resource/pipeline/SceneManager/SceneLogin.json +++ b/assets/resource/pipeline/SceneManager/SceneLogin.json @@ -15,10 +15,9 @@ ] } }, - "action": "ClickKey", - "key": 27, // 公告弹窗截不到图无法识别,因此硬编码ESC "next": [ "__ScenePrivateLoginContinue", + "[JumpBack]__ScenePrivateCloseLoginAnnouncement", "__ScenePrivateLogin" ] }, @@ -52,6 +51,53 @@ "[JumpBack]__ScenePrivateLoginCloseDialog" ] }, + "__ScenePrivateCloseLoginAnnouncement": { + "desc": "关闭登录时公告界面", + "recognition": "And", + "all_of": [ + { + "sub_name": "__ScenePrivateCloseAnnouncementButton", + "recognition": { + "type": "TemplateMatch", + "desc": "识别登录时公告界面的关闭按钮,这里不用通用按钮的原因是 roi 和模版大小都不同", + "param": { + "roi": [ + 1178, + 59, + 26, + 28 + ], + "template": [ + "SceneManager/LoginAnnouncementClose.png" + ] + } + } + }, + { + "recognition": { + "type": "OCR", + "desc": "识别是否在公告界面", + "param": { + "roi": [ + 252, + 18, + 817, + 179 + ], + "expected": [ + "公告" + ] + } + } + } + ], + "action": { + "type": "ClickKey", + "param": { + "key": 27 // ESC + } + } + }, "__ScenePrivateLoginMonthlyPassConfirm": { "desc": "领取月卡,无法跳过必须领取", "recognition": { From 77232d9b1c760ea921c18429f942137ea629b79f Mon Sep 17 00:00:00 2001 From: ocsin1 <2719912597@qq.com> Date: Fri, 3 Apr 2026 20:49:46 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E4=BB=8E=E6=8C=89=20esc=20?= =?UTF-8?q?=E6=94=B9=E6=88=90=E7=82=B9=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/pipeline/SceneManager/SceneLogin.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/assets/resource/pipeline/SceneManager/SceneLogin.json b/assets/resource/pipeline/SceneManager/SceneLogin.json index 482297e34..baa42dffd 100644 --- a/assets/resource/pipeline/SceneManager/SceneLogin.json +++ b/assets/resource/pipeline/SceneManager/SceneLogin.json @@ -92,10 +92,7 @@ } ], "action": { - "type": "ClickKey", - "param": { - "key": 27 // ESC - } + "type": "Click" } }, "__ScenePrivateLoginMonthlyPassConfirm": { From 5f7439443be819e29de52f06548856c602f1323b Mon Sep 17 00:00:00 2001 From: ocsin1 <2719912597@qq.com> Date: Sat, 4 Apr 2026 02:07:55 +0800 Subject: [PATCH 3/4] =?UTF-8?q?ci:=20=E6=B7=BB=E5=8A=A0PR=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E8=A7=84=E8=8C=83=E6=A3=80=E6=9F=A5=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr-commit-check.yml | 99 +++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/pr-commit-check.yml diff --git a/.github/workflows/pr-commit-check.yml b/.github/workflows/pr-commit-check.yml new file mode 100644 index 000000000..0d7c8843e --- /dev/null +++ b/.github/workflows/pr-commit-check.yml @@ -0,0 +1,99 @@ +name: PR Commit Check + +on: + pull_request_target: + types: + - opened + - edited + - ready_for_review + - reopened + - synchronize + +permissions: + contents: read + issues: write + pull-requests: read + +jobs: + check-commits: + name: Check Commits in PR + if: ${{ !github.event.pull_request.merged }} + runs-on: ubuntu-latest + steps: + - name: Clean up previous comment + uses: actions/github-script@v8 + with: + script: | + const marker = ''; + const comments = await github.paginate(github.rest.issues.listComments, { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.pull_request.number, + per_page: 100, + }); + + const previousComments = comments.filter(comment => + comment.user.login === 'github-actions[bot]' && comment.body.includes(marker) + ); + + for (const comment of previousComments) { + await github.rest.issues.deleteComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: comment.id, + }); + } + + - name: Check commits + uses: actions/github-script@v8 + with: + script: | + const marker = ''; + const commits = await github.paginate(github.rest.pulls.listCommits, { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.pull_request.number, + per_page: 100, + }); + + const regex = /^(?:(?:build|chore|ci|docs?|feat|fix|perf|refactor|rft|style|styles|test|i18n|typo|debug|ai)(?:\([^)]+\))?!?:\s|(?:[Rr]evert|[Rr]elease|[Rr]eapply)\b)/; + + const invalidCommits = commits.filter(commit => { + const title = commit.commit.message.split('\n')[0]; + return !regex.test(title) || commit.parents.length > 1; + }); + + console.log(`Checked ${commits.length} commit(s)`); + + if (invalidCommits.length === 0) { + console.log('All commits passed validation'); + return; + } + + const invalidCommitNames = invalidCommits.map(commit => commit.commit.message); + const invalidCommitInfoList = invalidCommits + .map(commit => { + const title = commit.commit.message.split('\n')[0]; + const reason = commit.parents.length > 1 ? 'merge commit' : 'invalid format'; + return `- ${title} [\`${commit.sha.substring(0, 7)}\`](${commit.html_url}) (${reason})`; + }) + .join('\n'); + + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.pull_request.number, + body: `${marker} +## ⚠️ Found ${invalidCommits.length} invalid commit(s) + +${invalidCommitInfoList} + +--- +Please follow the Conventional Commits format used in this repository, and **do not** use merge commits in pull requests. + +Accepted prefixes include: \`build\`, \`chore\`, \`ci\`, \`docs\`, \`feat\`, \`fix\`, \`perf\`, \`refactor\`, \`rft\`, \`style\`, \`test\`, \`i18n\`, \`typo\`, \`debug\`, \`ai\`. + +请遵循本仓库使用的 Conventional Commits 规范,并且**不要**在 Pull Request 中使用 Merge Commit。`, + }); + + core.setFailed(`Found ${invalidCommits.length} invalid commit(s):\n${invalidCommitNames.join('\n-------------------\n')}`); From c1601532054f5d3941cf9ee6989c7dd1cfbc1ab0 Mon Sep 17 00:00:00 2001 From: ocsin1 <2719912597@qq.com> Date: Sat, 4 Apr 2026 02:09:31 +0800 Subject: [PATCH 4/4] Fix formatting in task issue auto label workflow --- .github/workflows/task-issue-auto-label.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/task-issue-auto-label.yml b/.github/workflows/task-issue-auto-label.yml index 5b1454df8..2b59198bf 100644 --- a/.github/workflows/task-issue-auto-label.yml +++ b/.github/workflows/task-issue-auto-label.yml @@ -1,4 +1,4 @@ -name: task issue auto label +1name: task issue auto label on: issues: