Ensure extension captcha requests are routed to the selected account.
(self, token: Token)
| 118 | return selected |
| 119 | |
| 120 | async def _check_extension_route(self, token: Token) -> tuple[bool, str]: |
| 121 | """Ensure extension captcha requests are routed to the selected account.""" |
| 122 | if config.captcha_method != "extension": |
| 123 | return True, "" |
| 124 | |
| 125 | try: |
| 126 | from .browser_captcha_extension import ExtensionCaptchaService |
| 127 | |
| 128 | service = await ExtensionCaptchaService.get_instance(getattr(self.token_manager, "db", None)) |
| 129 | has_connection, route_key = await service.has_connection_for_token(token.id) |
| 130 | if has_connection: |
| 131 | return True, "" |
| 132 | |
| 133 | available = service.describe_routes() or "none" |
| 134 | if route_key: |
| 135 | return False, f"扩展路由 {route_key} 未连接(可用路由: {available})" |
| 136 | return False, f"扩展路由未配置或匿名插件未连接(可用路由: {available})" |
| 137 | except Exception as exc: |
| 138 | return False, f"扩展路由检查失败: {exc}" |
| 139 | |
| 140 | async def select_token( |
| 141 | self, |
no test coverage detected