fix: 首次绑定后不跳转首页,导航不再等待API返回
将导航提到协程外部立即执行,API确认异步进行, 避免网络异常导致协程取消而跳不到首页。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -166,19 +166,23 @@ class BindFragment : BaseFragment<FragmentBindBinding>() {
|
||||
headUrl = bindInfo.headUrl
|
||||
)
|
||||
|
||||
// 调用 API 确认绑定,然后导航到首页
|
||||
// 调用 API 确认绑定(异步,不阻塞导航)
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
val params = hashMapOf<String, Any>(
|
||||
"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<String, Any>(
|
||||
"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, "绑定: 处理绑定消息异常")
|
||||
// 异常时恢复二维码显示
|
||||
|
||||
Reference in New Issue
Block a user