From 3cbf64ec14c2d1f354bb58d8afa3dcf98b0a5b0a Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Wed, 1 Jul 2026 15:57:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor(api):=20=E9=87=8D=E6=9E=84=E4=BA=BA?= =?UTF-8?q?=E8=84=B8=E6=95=B0=E6=8D=AE=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 addUserFace 接口从表单参数改为请求体参数 - 新增 FeatureBody 数据类封装人脸特征和图片URL - 更新 RemoteRepository 中的人脸数据添加方法实现 - 优化参数传递方式,提高代码可读性 - 移除 @FormUrlEncoded 注解,改用 @Body 注解 - 调整方法参数命名,统一使用 imageUrl 命名规范 --- .../platecabinet/model/request/FeatureBody.kt | 6 +++++ .../platecabinet/network/api/ApiServiceV2.kt | 5 ++--- .../repository/RemoteRepositoryV2.kt | 22 ++++++++++--------- 3 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 app/src/main/java/com/sw/platecabinet/model/request/FeatureBody.kt diff --git a/app/src/main/java/com/sw/platecabinet/model/request/FeatureBody.kt b/app/src/main/java/com/sw/platecabinet/model/request/FeatureBody.kt new file mode 100644 index 0000000..e11c93c --- /dev/null +++ b/app/src/main/java/com/sw/platecabinet/model/request/FeatureBody.kt @@ -0,0 +1,6 @@ +package com.sw.platecabinet.model.request + +data class FeatureBody( + val url:String, + val featureChar:String +) \ No newline at end of file diff --git a/app/src/main/java/com/sw/platecabinet/network/api/ApiServiceV2.kt b/app/src/main/java/com/sw/platecabinet/network/api/ApiServiceV2.kt index a61a27b..9e9b956 100644 --- a/app/src/main/java/com/sw/platecabinet/network/api/ApiServiceV2.kt +++ b/app/src/main/java/com/sw/platecabinet/network/api/ApiServiceV2.kt @@ -2,6 +2,7 @@ package com.sw.platecabinet.network.api import com.sw.platecabinet.GlobalData import com.sw.platecabinet.model.DeviceConfigV2 +import com.sw.platecabinet.model.request.FeatureBody import com.sw.platecabinet.model.response.ApiResponse import com.sw.platecabinet.model.response.UserFaceModel import com.sw.platecabinet.model.response.UserFaceModelV2 @@ -46,11 +47,9 @@ interface ApiServiceV2 { * 添加人脸数据 */ @POST - @FormUrlEncoded suspend fun addUserFace( @Url url: String = "${GlobalData.appBaseUrl}/nutrition/neglect/user/add-by-face", - @Field("featureChar") faceData: String, - @Field("url") imageUr: String + @Body faceData: FeatureBody ): ApiResponse /** diff --git a/app/src/main/java/com/sw/platecabinet/repository/RemoteRepositoryV2.kt b/app/src/main/java/com/sw/platecabinet/repository/RemoteRepositoryV2.kt index 49f339e..9dc58a4 100644 --- a/app/src/main/java/com/sw/platecabinet/repository/RemoteRepositoryV2.kt +++ b/app/src/main/java/com/sw/platecabinet/repository/RemoteRepositoryV2.kt @@ -1,6 +1,7 @@ package com.sw.platecabinet.repository import com.sw.platecabinet.model.DeviceConfigV2 +import com.sw.platecabinet.model.request.FeatureBody import com.sw.platecabinet.model.response.ApiResponse import com.sw.platecabinet.model.response.UserFaceModel import com.sw.platecabinet.model.response.UserFaceModelV2 @@ -25,8 +26,7 @@ class RemoteRepositoryV2 constructor( return safeApiCall { apiService.getUserFaceCache( param = mapOf( - "pageNum" to pageNum, - "pageSize" to pageSize + "pageNum" to pageNum, "pageSize" to pageSize ) ) } @@ -34,16 +34,12 @@ class RemoteRepositoryV2 constructor( suspend fun getFaceIncrementList( - pageNum: Long, - pageSize: Long = 100L, - timestamp: Long + pageNum: Long, pageSize: Long = 100L, timestamp: Long ): ApiResponse?> { return safeApiCall { apiService.getFaceIncrementList( param = mapOf( - "pageNum" to pageNum, - "pageSize" to pageSize, - "timestamp" to timestamp + "pageNum" to pageNum, "pageSize" to pageSize, "timestamp" to timestamp ) ) } @@ -53,8 +49,14 @@ class RemoteRepositoryV2 constructor( return safeApiCall { apiService.getDeviceConfig() } } - suspend fun addUserFace(faceData: String, imageUr: String): ApiResponse { - return safeApiCall { apiService.addUserFace(faceData = faceData, imageUr = imageUr) } + suspend fun addUserFace(faceData: String, imageUrl: String): ApiResponse { + return safeApiCall { + apiService.addUserFace( + faceData = FeatureBody( + url = imageUrl, featureChar = faceData + ) + ) + } } suspend fun uploadImage(file: File): ApiResponse {