From ee33cf7ca1d85dacea85a9ffbd9dea5315842f4b Mon Sep 17 00:00:00 2001 From: dongliang Date: Sat, 9 May 2026 21:39:58 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A6=96=E6=AC=A1=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=90=8E=E4=B8=8D=E8=B7=B3=E8=BD=AC=E9=A6=96=E9=A1=B5=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E4=B8=8D=E5=86=8D=E7=AD=89=E5=BE=85API?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将导航提到协程外部立即执行,API确认异步进行, 避免网络异常导致协程取消而跳不到首页。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../com/xiaoqu/watch/ui/bind/BindFragment.kt | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/ui/bind/BindFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/bind/BindFragment.kt index 062df39..6b53435 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/bind/BindFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/bind/BindFragment.kt @@ -166,19 +166,23 @@ class BindFragment : BaseFragment() { headUrl = bindInfo.headUrl ) - // 调用 API 确认绑定,然后导航到首页 + // 调用 API 确认绑定(异步,不阻塞导航) viewLifecycleOwner.lifecycleScope.launch { - val params = hashMapOf( - "imei" to devicePrefs.imei, - "userId" to bindInfo.userId - ) - safeApiCall { commonApi.bindWatchConfirm(params) } - Timber.d("绑定: 确认 API 已调用,导航到首页") - - // 导航到首页 - findNavController().navigate(R.id.action_bind_to_home) + try { + val params = hashMapOf( + "imei" to devicePrefs.imei, + "userId" to bindInfo.userId + ) + safeApiCall { commonApi.bindWatchConfirm(params) } + Timber.d("绑定: 确认 API 已调用") + } catch (e: Exception) { + Timber.w(e, "绑定: 确认 API 异常,不影响导航") + } } + // 导航到首页(不等 API 返回,用户信息已存本地) + findNavController().navigate(R.id.action_bind_to_home) + } catch (e: Exception) { Timber.e(e, "绑定: 处理绑定消息异常") // 异常时恢复二维码显示