Update: 2026-06-12 20:40:40

This commit is contained in:
Hamza-Ayed
2026-06-12 20:40:40 +03:00
parent 305ae01d52
commit f907212c57
294 changed files with 3592 additions and 3581 deletions

View File

@@ -11,6 +11,7 @@ import 'package:siro_driver/constant/info.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/constant/table_names.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/print.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import '../../constant/box_name.dart';
@@ -487,8 +488,10 @@ class ScanDocumentsByApi extends GetxController {
isLoading = true;
update();
final String token = box.read(BoxName.jwt)?.toString().split(AppInformation.addd)[0] ?? '';
final String fingerPrint = box.read(BoxName.deviceFingerprint)?.toString() ?? '';
final String token =
box.read(BoxName.jwt)?.toString().split(AppInformation.addd)[0] ?? '';
final String fingerPrint =
box.read(BoxName.deviceFingerprint)?.toString() ?? '';
final String driverID = box.read(BoxName.driverID).toString();
final String link = AppLink.uploadImagePortrate;
@@ -500,11 +503,13 @@ class ScanDocumentsByApi extends GetxController {
attempt++;
final client = http.Client();
try {
Log.print('[UPLOAD_LOGGER] 🚀 [uploadImagePortrate] Attempt $attempt/$maxRetries started. Link: $link, Image Size: ${imagePortrait.length} bytes');
Log.print(
'[UPLOAD_LOGGER] 🚀 [uploadImagePortrate] Attempt $attempt/$maxRetries started. Link: $link, Image Size: ${imagePortrait.length} bytes');
var request = http.MultipartRequest('POST', Uri.parse(link));
request.files.add(
http.MultipartFile.fromBytes('image', imagePortrait, filename: '$driverID.jpg'),
http.MultipartFile.fromBytes('image', imagePortrait,
filename: '$driverID.jpg'),
);
request.headers.addAll({
@@ -514,28 +519,35 @@ class ScanDocumentsByApi extends GetxController {
request.fields['driverID'] = driverID;
final startTime = DateTime.now();
var streamedResponse = await client.send(request).timeout(const Duration(seconds: 120));
var streamedResponse =
await client.send(request).timeout(const Duration(seconds: 120));
var res = await http.Response.fromStream(streamedResponse);
final duration = DateTime.now().difference(startTime);
Log.print('[UPLOAD_LOGGER] 📥 [uploadImagePortrate] Attempt $attempt response received in ${duration.inSeconds}s. Status Code: ${res.statusCode}');
Log.print('[UPLOAD_LOGGER] 📥 [uploadImagePortrate] Response Body: ${res.body}');
Log.print(
'[UPLOAD_LOGGER] 📥 [uploadImagePortrate] Attempt $attempt response received in ${duration.inSeconds}s. Status Code: ${res.statusCode}');
Log.print(
'[UPLOAD_LOGGER] 📥 [uploadImagePortrate] Response Body: ${res.body}');
if (res.statusCode == 200) {
responseString = res.body;
break; // Success
} else {
throw Exception('Failed to upload portrait: ${res.statusCode} - ${res.body}');
throw Exception(
'Failed to upload portrait: ${res.statusCode} - ${res.body}');
}
} catch (e, st) {
Log.print('[UPLOAD_LOGGER] ⚠️ [uploadImagePortrate] Attempt $attempt failed. Error: $e', stackTrace: st);
Log.print(
'[UPLOAD_LOGGER] ⚠️ [uploadImagePortrate] Attempt $attempt failed. Error: $e',
stackTrace: st);
if (attempt >= maxRetries) {
isLoading = false;
update();
rethrow;
}
final waitSeconds = attempt * 2;
Log.print('[UPLOAD_LOGGER] ⏳ Waiting $waitSeconds seconds before retrying...');
Log.print(
'[UPLOAD_LOGGER] ⏳ Waiting $waitSeconds seconds before retrying...');
await Future.delayed(Duration(seconds: waitSeconds));
} finally {
client.close();