|
|
|
@ -370,21 +370,23 @@ class ProblemController extends GetxController
|
|
|
|
|
|
|
|
|
|
// 4. 处理服务器响应 |
|
|
|
|
if (response.isSuccess) { |
|
|
|
|
final problem = Problem.fromJson(response.data); |
|
|
|
|
// 更新图片状态(仅对创建和更新操作) |
|
|
|
|
final updatedImageMetadata = |
|
|
|
|
problem.syncStatus != ProblemSyncStatus.pendingDelete |
|
|
|
|
? _updateImageMetadata(problem.imageUrls, remoteUrls) |
|
|
|
|
: problem.imageUrls; |
|
|
|
|
|
|
|
|
|
Get.log(problem.lastModifiedTime.toUtc().toIso8601String()); |
|
|
|
|
// 返回同步完成的对象,操作类型重置为none |
|
|
|
|
return problem.copyWith( |
|
|
|
|
syncStatus: problem.syncStatus != ProblemSyncStatus.pendingDelete |
|
|
|
|
? ProblemSyncStatus.synced |
|
|
|
|
: ProblemSyncStatus.untracked, // 同步完成,重置为none |
|
|
|
|
imageUrls: updatedImageMetadata, |
|
|
|
|
); |
|
|
|
|
if (problem.syncStatus != ProblemSyncStatus.pendingDelete) { |
|
|
|
|
final serverProblem = ServerProblem.fromJson(response.data); |
|
|
|
|
// 更新图片状态(仅对创建和更新操作) |
|
|
|
|
final updatedImageMetadata = _updateImageMetadata( |
|
|
|
|
problem.imageUrls, |
|
|
|
|
remoteUrls, |
|
|
|
|
); |
|
|
|
|
// 返回同步完成的对象,操作类型重置为none |
|
|
|
|
return problem.copyWith( |
|
|
|
|
syncStatus: ProblemSyncStatus.synced, |
|
|
|
|
imageUrls: updatedImageMetadata, |
|
|
|
|
lastModifiedTime: serverProblem.lastModificationTime, |
|
|
|
|
); |
|
|
|
|
} else { |
|
|
|
|
// 删除逻辑 |
|
|
|
|
return problem.copyWith(syncStatus: ProblemSyncStatus.untracked); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
throw Exception('操作失败,状态码: ${response.statusCode}'); |
|
|
|
|
} |
|
|
|
|