This commit is contained in:
Hamza-Ayed
2024-07-05 04:50:32 +03:00
parent b5bc36e4be
commit dc4677a6bf
21 changed files with 586 additions and 234 deletions

View File

@@ -27,6 +27,9 @@ class CRUD {
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials.toString()))}',
},
);
print(response.request);
print(response.body);
print(response.statusCode);
// if (response.statusCode == 200) {
var jsonData = jsonDecode(response.body);
if (jsonData['status'] == 'success') {

View File

@@ -0,0 +1,83 @@
import 'package:encrypt/encrypt.dart' as encrypt;
import 'dart:convert';
import 'package:http/http.dart' as http;
//
import 'dart:convert';
import 'dart:math';
import 'package:encrypt/encrypt.dart' as encrypt;
class KeyEncryption {
static final _key = encrypt.Key.fromUtf8('mehmetDEV@2101'); // ضع مفتاحك هنا
static String encryptKey(String key) {
final iv = encrypt.IV.fromLength(16); // توليد تهيئة عشوائية
final encrypter =
encrypt.Encrypter(encrypt.AES(_key, mode: encrypt.AESMode.cbc));
final encrypted = encrypter.encrypt(key, iv: iv);
final result = iv.bytes + encrypted.bytes; // تضمين التهيئة مع النص المشفر
return base64Encode(result);
}
static String decryptKey(String encryptedKey) {
final decoded = base64Decode(encryptedKey);
final iv = encrypt.IV(decoded.sublist(0, 16)); // استخراج التهيئة
final encrypted =
encrypt.Encrypted(decoded.sublist(16)); // استخراج النص المشفر
final encrypter =
encrypt.Encrypter(encrypt.AES(_key, mode: encrypt.AESMode.cbc));
return encrypter.decrypt(encrypted, iv: iv);
}
}
// class KeyEncryption {
// static final _key = encrypt.Key.fromUtf8('7'); // ضع مفتاحك هنا
//
// static String encryptKey(String key) {
// final iv = encrypt.IV.fromLength(16); // توليد تهيئة عشوائية
// final encrypter =
// encrypt.Encrypter(encrypt.AES(_key, mode: encrypt.AESMode.cbc));
// final encrypted = encrypter.encrypt(key, iv: iv);
// final result = iv.bytes + encrypted.bytes; // تضمين التهيئة مع النص المشفر
// return base64Encode(result);
// }
//
// static String decryptKey(String encryptedKey) {
// final decoded = base64Decode(encryptedKey);
// final iv = encrypt.IV(decoded.sublist(0, 16)); // استخراج التهيئة
// final encrypted =
// encrypt.Encrypted(decoded.sublist(16)); // استخراج النص المشفر
// final encrypter =
// encrypt.Encrypter(encrypt.AES(_key, mode: encrypt.AESMode.cbc));
// return encrypter.decrypt(encrypted, iv: iv);
// }
// }
// class KeyEncryption {
// static final _key =
// encrypt.Key.fromUtf8('32-character-key....'); // ضع مفتاحك هنا
//
// static String encryptKey(String key) {
// final iv = encrypt.IV.fromLength(16); // توليد تهيئة عشوائية
// final encrypter =
// encrypt.Encrypter(encrypt.AES(_key, mode: encrypt.AESMode.cbc));
// final encrypted = encrypter.encrypt(key, iv: iv);
// final result = iv.bytes + encrypted.bytes; // تضمين التهيئة مع النص المشفر
// return base64Encode(result);
// }
//
// static Future<void> storeApiKeys(List<String> apiKeys) async {
// final encryptedKeys = apiKeys.map((key) => encryptKey(key)).toList();
// final response = await http.post(
// Uri.parse('https://yourdomain.com/store_keys.php'),
// body: jsonEncode({'keys': encryptedKeys}),
// headers: {'Content-Type': 'application/json'},
// );
//
// if (response.statusCode == 200) {
// print('Keys stored successfully.');
// } else {
// print('Failed to store keys.');
// }
// }
// }

View File

@@ -201,7 +201,7 @@ class AI extends GetxController {
if (isCarSaved && isDriverSaved) {
DeviceController().getDeviceSerialNumber();
box.write(BoxName.phoneVerified, 1);
box.write(BoxName.phoneVerified, '1');
Get.offAll(() => HomeCaptain());
// Get.offAll(() => HomeCaptain());
}
@@ -209,89 +209,164 @@ class AI extends GetxController {
}
Future<void> addDriverEgypt() async {
try {
// Extract values from box or set defaults
var firstName = responseIdEgyptDriverLicense['firstName'] ?? '';
var lastName = responseIdEgyptDriverLicense['lastName'] ?? '';
var email = box.read(BoxName.emailDriver) ?? '';
var phone = box.read(BoxName.phoneDriver)?.toString() ?? '';
var driverId = box.read(BoxName.driverID)?.toString() ?? '';
var password = '123456';
var gender = responseIdEgyptBack['gender'] == 'ذكر' ? 'Male' : 'Female';
var licenseType = responseIdEgyptDriverLicense['license_type'] ?? '';
var nationalNumber = responseIdEgyptBack['nationalID'] ?? '';
var nameArabic = responseIdEgyptDriverLicense['name_arabic'] ?? '';
var nameEnglish = responseIdEgyptDriverLicense['name_english'] ?? '';
var issueDate = responseIdEgyptDriverLicense['issue_date'] ?? '';
var expiryDate = responseIdEgyptDriverLicense['expiry_date'] ?? '';
var licenseCategories =
responseIdEgyptDriverLicense['license_categories'] ?? '';
var address = responseIdEgyptFront['address'] ?? '';
var cardId = responseIdEgyptFront['card_id'] ?? '';
var occupation = responseIdEgyptBack['occupation'] ?? '';
var education = responseIdEgyptBack['occupation'] ?? '';
var licenseIssueDate =
responseIdEgyptDriverLicense['issue_date'].toString() ?? '';
var religion = responseIdEgyptBack['religion'] ?? '';
var status = responseIdEgyptBack['fullName'] ?? '';
var birthdate = responseIdEgyptFront['dob'] != null
? DateTime.parse(responseIdEgyptFront['dob'] + '-01-01').toString()
: '1960-01-01';
isLoading = true;
update();
var maritalStatus = responseIdEgyptBack['maritalStatus'] ?? '';
var site = responseIdEgyptDriverLicense['address'] ?? '';
var employmentType = responseIdEgyptDriverLicense['employmentType'] ?? '';
// Create payload
var payload = {
'first_name': firstName,
'last_name': lastName,
'email': email,
'phone': phone,
'id': driverId,
'password': password,
'gender': gender,
'license_type': licenseType,
'national_number': nationalNumber,
'name_arabic': nameArabic,
'name_english': nameEnglish,
'issue_date': issueDate,
'expiry_date': expiryDate,
'license_categories': licenseCategories,
'address': address,
'card_id': cardId,
'occupation': occupation,
'education': education,
'licenseIssueDate': licenseIssueDate,
'religion': religion,
'status': status,
'birthdate': birthdate,
'maritalStatus': maritalStatus,
'site': site,
'employmentType': employmentType,
};
isLoading = true;
update();
// Make POST request
var res = await CRUD().post(link: AppLink.signUpCaptin, payload: payload);
var status1 = jsonDecode(res);
isLoading = false;
update();
// Handle response
if (status1['status'] == 'success') {
isDriverSaved = true;
Get.snackbar('Success', 'Driver data saved successfully',
backgroundColor: AppColor.greenColor);
} else {
Get.snackbar('Error', 'Failed to save driver data',
backgroundColor: Colors.red);
}
} catch (e) {
Get.snackbar('Error', 'An error occurred while saving driver data',
var payload = {
'first_name': responseIdEgyptDriverLicense['firstName']?.toString() ??
'Not specified',
'last_name': responseIdEgyptDriverLicense['lastName']?.toString() ??
'Not specified',
'email': box.read(BoxName.emailDriver)?.toString() ?? 'Not specified',
'phone': box.read(BoxName.phoneDriver)?.toString() ?? 'Not specified',
'id': box.read(BoxName.driverID)?.toString() ?? 'Not specified',
'password': '123456',
'gender': responseIdEgyptBack['gender']?.toString() ?? 'Not specified',
'license_type':
responseIdEgyptDriverLicense['license_type']?.toString() ??
'Not specified',
'national_number':
responseIdEgyptBack['nationalID']?.toString() ?? 'Not specified',
'name_arabic': responseIdEgyptDriverLicense['name_arabic']?.toString() ??
'Not specified',
'name_english':
responseIdEgyptDriverLicense['name_english']?.toString() ??
'Not specified',
'issue_date': responseIdEgyptDriverLicense['issue_date']?.toString() ??
'Not specified',
'expiry_date': responseIdEgyptDriverLicense['expiry_date']?.toString() ??
'Not specified',
'license_categories': responseIdEgyptDriverLicense['license_categories']
is List
? responseIdEgyptDriverLicense['license_categories'].join(', ')
: responseIdEgyptDriverLicense['license_categories']?.toString() ??
'Not specified',
'address': responseIdEgyptFront['address']?.toString() ?? 'Not specified',
'card_id': responseIdEgyptFront['card_id']?.toString() ?? 'Not specified',
'occupation':
responseIdEgyptBack['occupation']?.toString() ?? 'Not specified',
'education':
responseIdEgyptBack['occupation']?.toString() ?? 'Not specified',
'licenseIssueDate':
responseIdEgyptDriverLicense['issue_date']?.toString() ??
'Not specified',
'religion':
responseIdEgyptBack['religion']?.toString() ?? 'Not specified',
'status': 'yet',
'birthdate': responseIdEgyptFront['dob']?.toString() ?? 'Not specified',
'maritalStatus':
responseIdEgyptBack['maritalStatus']?.toString() ?? 'Not specified',
'site': responseIdEgyptDriverLicense['address']?.toString() ??
'Not specified',
'employmentType':
responseIdEgyptDriverLicense['employmentType']?.toString() ??
'Not specified',
};
var res = await CRUD().post(link: AppLink.signUpCaptin, payload: payload);
var status1 = jsonDecode(res);
isLoading = false;
update();
print(res);
// Handle response
if (status1['status'] == 'success') {
isDriverSaved = true;
Get.snackbar('Success', 'Driver data saved successfully',
backgroundColor: AppColor.greenColor);
} else {
Get.snackbar('Error', 'Failed to save driver data',
backgroundColor: Colors.red);
}
// } catch (e) {
// isLoading = false;
// update();
// Get.snackbar('Error', 'An error occurred while saving driver data: $e',
// backgroundColor: Colors.red);
// }
}
// Future<void> addDriverEgypt() async {
// // try {
// // Extract values from box or set defaults
// var firstName = responseIdEgyptDriverLicense['firstName'] ?? '';
// var lastName = responseIdEgyptDriverLicense['lastName'] ?? '';
// var email = box.read(BoxName.emailDriver) ?? '';
// var phone = box.read(BoxName.phoneDriver)?.toString() ?? '';
// var driverId = box.read(BoxName.driverID)?.toString() ?? '';
// var password = '123456';
// var gender = responseIdEgyptBack['gender'] == 'ذكر' ? 'Male' : 'Female';
// var licenseType = responseIdEgyptDriverLicense['license_type'] ?? '';
// var nationalNumber = responseIdEgyptBack['nationalID'] ?? '';
// var nameArabic = responseIdEgyptDriverLicense['name_arabic'] ?? '';
// var nameEnglish = responseIdEgyptDriverLicense['name_english'] ?? '';
// var issueDate = responseIdEgyptDriverLicense['issue_date'] ?? '';
// var expiryDate = responseIdEgyptDriverLicense['expiry_date'] ?? '';
// var licenseCategories =
// responseIdEgyptDriverLicense['license_categories'] ?? '';
// var address = responseIdEgyptFront['address'] ?? '';
// var cardId = responseIdEgyptFront['card_id'] ?? '';
// var occupation = responseIdEgyptBack['occupation'] ?? '';
// var education = responseIdEgyptBack['occupation'] ?? '';
// var licenseIssueDate =
// responseIdEgyptDriverLicense['issue_date'].toString() ?? '';
// var religion = responseIdEgyptBack['religion'] ?? '';
// var status = responseIdEgyptBack['fullName'] ?? '';
// var birthdate = responseIdEgyptFront['dob'] != null
// ? DateTime.parse(responseIdEgyptFront['dob'] + '-01-01').toString()
// : '1960-01-01';
//
// var maritalStatus = responseIdEgyptBack['maritalStatus'] ?? '';
// var site = responseIdEgyptDriverLicense['address'] ?? '';
// var employmentType = responseIdEgyptDriverLicense['employmentType'] ?? '';
//
// // Create payload
// var payload = {
// 'first_name': firstName,
// 'last_name': lastName,
// 'email': email,
// 'phone': phone,
// 'id': driverId,
// 'password': password,
// 'gender': gender,
// 'license_type': licenseType,
// 'national_number': nationalNumber,
// 'name_arabic': nameArabic,
// 'name_english': nameEnglish,
// 'issue_date': issueDate,
// 'expiry_date': expiryDate,
// 'license_categories': licenseCategories,
// 'address': address,
// 'card_id': cardId,
// 'occupation': occupation,
// 'education': education,
// 'licenseIssueDate': licenseIssueDate,
// 'religion': religion,
// 'status': status,
// 'birthdate': birthdate,
// 'maritalStatus': maritalStatus,
// 'site': site,
// 'employmentType': employmentType,
// };
// isLoading = true;
// update();
// // Make POST request
// var res = await CRUD().post(link: AppLink.signUpCaptin, payload: payload);
// var status1 = jsonDecode(res);
// isLoading = false;
// update();
// // Handle response
//
// if (status1['status'] == 'success') {
// isDriverSaved = true;
// Get.snackbar('Success', 'Driver data saved successfully',
// backgroundColor: AppColor.greenColor);
// } else {
// Get.snackbar('Error', 'Failed to save driver data',
// backgroundColor: Colors.red);
// }
// // } catch (e) {
// // Get.snackbar('Error', 'An error occurred while saving driver data',
// // backgroundColor: Colors.red);
// // }
// }
Future addRegistrationCarEgypt() async {
try {