{"record":{"id":"c15427c920f89cd7","repo":"babalae/better-genshin-impact","slug":"error-c15427","errorCode":null,"errorMessage":"未检测进入游戏界面","messagePattern":"未检测进入游戏界面","errorType":"exception","errorClass":"RetryException","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/GameTask/Common/Job/ExitAndReloginJob.cs","lineNumber":86,"sourceCode":"        if (_login3rdParty is { Type: Login3rdParty.The3rdPartyType.Bilibili, IsAvailabled: true })\n        {\n            // await Delay(1, ct);\n            Thread.Sleep(100);\n            _login3rdParty.Login(ct);\n            Logger.LogInformation(\"退出重登启用 B 服模式\");\n        }\n\n        // 等待进入游戏按钮出现并点击\n        var enterGameAppear = await NewRetry.WaitForElementAppear(\n            GetAutoWoodRecognitionObject(\"EnterGame\"),\n            () => { },\n            ct,\n            120,\n            1000\n        );\n        if (!enterGameAppear)\n        {\n            throw new RetryException(\"未检测进入游戏界面\");\n        }\n\n        // 点击进入游戏按钮直到它消失\n        var waitForEnterGameRoDisappear = await NewRetry.WaitForElementDisappear(\n            GetAutoWoodRecognitionObject(\"EnterGame\"),\n            () => GameCaptureRegion.GameRegion1080PPosClick(955, 666),\n            ct,\n            120,\n            1000\n        );\n        if (!waitForEnterGameRoDisappear)\n        {\n            throw new RetryException(\"未检测到进入游戏按钮消失, 可能未点击成功\");\n        }\n\n\n        // 等待主界面出现\n        var mainUiFound = await NewRetry.WaitForElementAppear(","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/Common/Job/ExitAndReloginJob.cs#L68-L104","documentation":"Thrown by ExitAndReloginJob after NewRetry.WaitForElementAppear fails to find the 'EnterGame' template within 120 attempts at 1000ms each (~2 minutes). It marks the point where the relogin flow expected the game's 'click to enter' screen but never saw it.","triggerScenarios":"GetAutoWoodRecognitionObject(\"EnterGame\") template is not matched on any captured frame during the 120×1000ms retry window. Happens if the game never reached the enter screen (stuck on a loading/error/login-3rd-party step), or the template image no longer matches the current game art.","commonSituations":"Bilibili 3rd-party login hung before the enter screen; a game update changed the enter-button art so the template fails; the game showed an announcement or popup overlay covering the button; capture region/scale changed after restart.","solutions":["Refresh the EnterGame template asset to match the current game version.","Verify the 3rd-party login (Bilibili) completed; check _login3rdParty.Login did not silently fail.","Confirm the capture region and scale are correct after the game restart.","Increase retry count or add manual-intervention logging for the stuck frame."],"exampleFix":"null","handlingStrategy":"retry","validationCode":"null","typeGuard":"null","tryCatchPattern":"try { await job.Run(ct); }\ncatch (RetryException e) when (e.Message == \"未检测进入游戏界面\")\n{ /* verify 3rd-party login completed and the EnterGame template is current, then retry */ }","preventionTips":["Keep the EnterGame template asset in sync with the deployed game version.","Confirm the 3rd-party login (Bilibili) path completed before expecting the enter screen.","Verify capture region/scale after a game restart."],"tags":["relogin","template-match","timeout","genshin-ui"],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}