Update: 2026-06-21 02:07:00
This commit is contained in:
@@ -97,8 +97,8 @@ class HomeCaptainController extends GetxController {
|
||||
// دالة جلب البيانات ورسم الخريطة
|
||||
Future<void> fetchAndDrawHeatmap() async {
|
||||
print("🚀 [Heatmap] Fetching live data...");
|
||||
// استخدم الرابط المباشر لملف JSON لسرعة قصوى
|
||||
final String jsonUrl = "${AppLink.ride}/rides/heatmap_live.json";
|
||||
// استخدم الرابط المباشر للملف الديناميكي الجديد
|
||||
final String jsonUrl = "${AppLink.ride}/heatmap/heatmap_live.php";
|
||||
|
||||
try {
|
||||
// نستخدم timestamp لمنع الكاش من الموبايل نفسه
|
||||
|
||||
@@ -92,10 +92,20 @@ class OrderRequestController extends GetxController
|
||||
|
||||
_checkOverlay();
|
||||
|
||||
// 🔥 تهيئة البيانات هي الخطوة الأولى والأهم
|
||||
_initializeData();
|
||||
_parseExtraData();
|
||||
|
||||
// 🚫 Self-ride prevention: Check if passenger device fingerprint matches driver's fingerprint
|
||||
final String passengerFp = _safeGet(6);
|
||||
final String myFp = box.read(BoxName.deviceFingerprint)?.toString() ?? '';
|
||||
if (passengerFp.isNotEmpty && passengerFp == myFp) {
|
||||
print("🚫 Self-ride detected on same device. Auto-dismissing request.");
|
||||
NotificationController().cancelOrderNotification();
|
||||
_stopAudio();
|
||||
Get.back();
|
||||
return;
|
||||
}
|
||||
|
||||
// 1. تجهيز أيقونة السائق
|
||||
await _prepareDriverIcon();
|
||||
|
||||
@@ -641,13 +651,14 @@ class OrderRequestController extends GetxController
|
||||
_stopAudio();
|
||||
|
||||
try {
|
||||
// 1. إرسال الطلب
|
||||
var res = await CRUD()
|
||||
.post(link: "${AppLink.ride}/rides/acceptRide.php", payload: {
|
||||
'id': _safeGet(16),
|
||||
'rideTimeStart': DateTime.now().toString(),
|
||||
'status': 'Apply',
|
||||
'passengerToken': _safeGet(9),
|
||||
'passengerFingerprint': _safeGet(6),
|
||||
'passenger_id': _safeGet(7),
|
||||
'driver_id': box.read(BoxName.driverID),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user