From df2e36da9115d2f8a7ab58be7bffa7368f0bb34b Mon Sep 17 00:00:00 2001 From: dongliang Date: Mon, 27 Apr 2026 17:04:39 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20Retrofit=20@Body=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=20HashMap=20=E4=BF=AE=E5=A4=8D=E6=B3=9B?= =?UTF-8?q?=E5=9E=8B=E6=93=A6=E9=99=A4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Map 在 Kotlin 编译后变为 Map, Retrofit 不支持通配符类型。 改为 HashMap 是具体类,不存在泛型擦除问题。 Co-Authored-By: Claude Opus 4.6 (1M context) --- app/src/main/java/com/xiaoqu/watch/network/api/CommonApi.kt | 6 +++--- app/src/main/java/com/xiaoqu/watch/ui/bind/BindFragment.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/network/api/CommonApi.kt b/app/src/main/java/com/xiaoqu/watch/network/api/CommonApi.kt index 306b07f..a9f03d4 100644 --- a/app/src/main/java/com/xiaoqu/watch/network/api/CommonApi.kt +++ b/app/src/main/java/com/xiaoqu/watch/network/api/CommonApi.kt @@ -15,7 +15,7 @@ interface CommonApi { /** 绑定确认 */ @POST("watch/bindWatchConfirm") - suspend fun bindWatchConfirm(@Body params: Map): ApiResponse + suspend fun bindWatchConfirm(@Body params: HashMap): ApiResponse /** 根据 IMEI 查询手表绑定信息(返回用户数据则已绑定,否则未绑定) */ @GET("watch/getWatchByImei") @@ -27,9 +27,9 @@ interface CommonApi { /** 上报设备状态(电量、蓝牙、NFC等) */ @POST("watch/setWatchStatusByImeiFormWatch") - suspend fun reportDeviceStatus(@Body params: Map): ApiResponse + suspend fun reportDeviceStatus(@Body params: HashMap): ApiResponse /** 上报日志 */ @POST("watchTestLog") - suspend fun reportLog(@Body params: Map): ApiResponse + suspend fun reportLog(@Body params: HashMap): ApiResponse } 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 db5a850..cd08512 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 @@ -141,7 +141,7 @@ class BindFragment : BaseFragment() { // 调用 API 确认绑定,然后导航到首页 viewLifecycleOwner.lifecycleScope.launch { - val params = mapOf( + val params = hashMapOf( "imei" to devicePrefs.imei, "userId" to bindInfo.userId )