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
|
headUrl = bindInfo.headUrl
|
||||||
)
|
)
|
||||||
|
|
||||||
// 调用 API 确认绑定,然后导航到首页
|
// 调用 API 确认绑定(异步,不阻塞导航)
|
||||||
viewLifecycleOwner.lifecycleScope.launch {
|
viewLifecycleOwner.lifecycleScope.launch {
|
||||||
val params = hashMapOf<String, Any>(
|
try {
|
||||||
"imei" to devicePrefs.imei,
|
val params = hashMapOf<String, Any>(
|
||||||
"userId" to bindInfo.userId
|
"imei" to devicePrefs.imei,
|
||||||
)
|
"userId" to bindInfo.userId
|
||||||
safeApiCall { commonApi.bindWatchConfirm(params) }
|
)
|
||||||
Timber.d("绑定: 确认 API 已调用,导航到首页")
|
safeApiCall { commonApi.bindWatchConfirm(params) }
|
||||||
|
Timber.d("绑定: 确认 API 已调用")
|
||||||
// 导航到首页
|
} catch (e: Exception) {
|
||||||
findNavController().navigate(R.id.action_bind_to_home)
|
Timber.w(e, "绑定: 确认 API 异常,不影响导航")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导航到首页(不等 API 返回,用户信息已存本地)
|
||||||
|
findNavController().navigate(R.id.action_bind_to_home)
|
||||||
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Timber.e(e, "绑定: 处理绑定消息异常")
|
Timber.e(e, "绑定: 处理绑定消息异常")
|
||||||
// 异常时恢复二维码显示
|
// 异常时恢复二维码显示
|
||||||
|
|||||||
Reference in New Issue
Block a user