diff --git a/frontend/mobile-app/lib/core/services/contract_signing_service.dart b/frontend/mobile-app/lib/core/services/contract_signing_service.dart index 5f80fa8d..183b16d1 100644 --- a/frontend/mobile-app/lib/core/services/contract_signing_service.dart +++ b/frontend/mobile-app/lib/core/services/contract_signing_service.dart @@ -346,12 +346,15 @@ class ContractSigningService { debugPrint('[ContractSigningService] Base64 长度: ${signatureBase64.length}'); final requestData = { - 'signatureImage': signatureBase64, - 'ipAddress': ipAddress, - 'deviceInfo': deviceInfo, - 'userAgent': userAgent, - 'latitude': latitude, - 'longitude': longitude, + 'signatureBase64': signatureBase64, // 后端期望的字段名 + 'signatureHash': '', // TODO: 计算签名哈希 + 'deviceInfo': { + 'deviceId': deviceInfo ?? 'unknown', + 'platform': 'android', + }, + 'location': latitude != null && longitude != null + ? {'latitude': latitude, 'longitude': longitude} + : null, }; debugPrint('[ContractSigningService] 请求 URL: /planting/contract-signing/tasks/$orderNo/sign'); @@ -406,12 +409,15 @@ class ContractSigningService { debugPrint('[ContractSigningService] Base64 长度: ${signatureBase64.length}'); final requestData = { - 'signatureImage': signatureBase64, - 'ipAddress': ipAddress, - 'deviceInfo': deviceInfo, - 'userAgent': userAgent, - 'latitude': latitude, - 'longitude': longitude, + 'signatureBase64': signatureBase64, // 后端期望的字段名 + 'signatureHash': '', // TODO: 计算签名哈希 + 'deviceInfo': { + 'deviceId': deviceInfo ?? 'unknown', + 'platform': 'android', + }, + 'location': latitude != null && longitude != null + ? {'latitude': latitude, 'longitude': longitude} + : null, }; debugPrint('[ContractSigningService] 请求 URL: /planting/contract-signing/tasks/$orderNo/late-sign');