feat: توجيه كل النداءات إلى api.intaleqapp.com وطيّ تبديل الدول
⚠️ الطيّ ضرورة أمان لا ترتيب: كل عائلة سيرفرات في links.dart كانت switch بأربعة فروع (Syria · Egypt · Jordan · default)، وفروع سوريا ومصر تشير إلى **سيرفرات سيرو الإنتاجية** (api-syria.siromove.com وغيرها). إبقاؤها في انطلق يعني أن أي جهاز مخزَّن فيه countryCode='Syria' يخاطب إنتاج سيرو مباشرة. انطلق نشرٌ واحد على مضيف واحد (docs/34: سيرفر لكل مستأجر)، والدولة تُحل على السيرفر من GLOBAL_COUNTRY. طُويت 35 كتلة switch إلى قيمة واحدة (11 rider · 11 driver · 6 admin · 7 service)، والخريطة مأخوذة من تعليق docker/nginx/default.conf نفسه («نقطة واحدة لكل الخدمات — التطبيق يغيّر الدومين فقط»): server / rideServer → https://api.intaleqapp.com/backend paymentServer → https://api.intaleqapp.com/v2/main location → …/backend/ride/location locationServerSide(د) → …/loction_server/siro/ride/location سوكيت الركاب → https://api.intaleqapp.com:3030 سوكيت السائقين → https://api.intaleqapp.com:2020 وأيضاً: - appDomain و invite: siromove.com → intaleqapp.com، والمجلد siromove.com/ → intaleqapp.com/ (فيه invite.php الذي يقصده التطبيق). - روابط التنزيل siro.app → intaleqapp.com · بريد السائق المولَّد @siromove.com → @intaleqapp.com · صفحة التتبع · محاكاة تسجيل سوريا. - حُذف getter `syria` الميت من links.dart الثلاثة (لا مستدعي له، وكان يشير إلى إنتاج سيرو). لم يُمسّ عمداً: - `ssl_pinning.dart`: `badCertificateCallback` لا يُستدعى إلا عند فشل التحقق العادي، فشهادة api.intaleqapp.com الصالحة تمرّ بلا مساس. ولا أختلق بصمة شهادة: تُضاف بصمة انطلق بعد إصدار الشهادة (docs/30 G7). - `routesjo.intaleq.xyz` و `map-saas.intaleqapp.com`: خدمات خارجية قائمة بذاتها للمالك (قرار الخرائط المباشرة) لا تُنقل إلى api. - `com.siromove.admin` في userAgentPackageName (5 مواضع): من عائلة هويات المتاجر — كوميت الهويات، وهو يحتاج قرار المالك. ⚠️ يحتاج نشراً على الطرف الآخر: invite.php و track/index.php و /driver على intaleqapp.com. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0aab85c732
commit
53322d87a6
@@ -2,160 +2,59 @@ import 'package:intaleq_rider/constant/box_name.dart';
|
||||
import 'package:intaleq_rider/main.dart';
|
||||
|
||||
class AppLink {
|
||||
static const String appDomain = 'siromove.com';
|
||||
static const String appDomain = 'intaleqapp.com';
|
||||
|
||||
static String get inviteRedirectUrl {
|
||||
if (currentCountry == 'Syria') {
|
||||
return "https://siromove.com/inviteSyria.php";
|
||||
}
|
||||
return "https://siromove.com/invite.php";
|
||||
}
|
||||
/// ⚠️ تحتاج صفحة invite.php منشورة على intaleqapp.com. كان لسيرو صيغتان
|
||||
/// (invite.php و inviteSyria.php حسب الدولة) — طُويت إلى واحدة: انطلق نشرٌ
|
||||
/// واحد لدولة واحدة (docs/34).
|
||||
static String get inviteRedirectUrl => "https://$appDomain/invite.php";
|
||||
|
||||
static String get currentCountry => box.read(BoxName.countryCode) ?? 'Jordan';
|
||||
|
||||
static String get paymentServer {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://wallet-syria.siromove.com/v1/main';
|
||||
case 'Egypt':
|
||||
return 'https://wallet-egypt.siromove.com/v1/main';
|
||||
case 'Jordan':
|
||||
return 'https://walletintaleq.intaleq.xyz/v2/main';
|
||||
default:
|
||||
return 'https://wallet.siromove.com/v1/main';
|
||||
}
|
||||
return 'https://api.intaleqapp.com/v2/main';
|
||||
}
|
||||
|
||||
static String get location {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://api-syria.siromove.com/siro_v3/ride/location';
|
||||
case 'Egypt':
|
||||
return 'https://api-egypt.siromove.com/siro_v3/ride/location';
|
||||
case 'Jordan':
|
||||
return 'https://jordan-siro.intaleqapp.com/backend/ride/location';
|
||||
default:
|
||||
return 'https://api.siromove.com/siro_v3/ride/location';
|
||||
}
|
||||
return 'https://api.intaleqapp.com/backend/ride/location';
|
||||
}
|
||||
|
||||
static String get locationServerSide {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://location-syria.siromove.com/siro/ride/location';
|
||||
case 'Egypt':
|
||||
return 'https://location-egypt.siromove.com/siro/ride/location';
|
||||
case 'Jordan':
|
||||
return 'https://jordan-siro.intaleqapp.com/backend/ride/location';
|
||||
default:
|
||||
return 'https://location.siromove.com/siro/ride/location';
|
||||
}
|
||||
return 'https://api.intaleqapp.com/backend/ride/location';
|
||||
}
|
||||
|
||||
static String get routesOsm {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://routes-syria.siromove.com';
|
||||
case 'Egypt':
|
||||
return 'https://routes-egypt.siromove.com';
|
||||
case 'Jordan':
|
||||
return 'https://routesjo.intaleq.xyz';
|
||||
default:
|
||||
return 'https://routes.siromove.com';
|
||||
}
|
||||
return 'https://routesjo.intaleq.xyz';
|
||||
}
|
||||
|
||||
static String get mapSaasRoute {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://map-syria.siromove.com/api/maps/route';
|
||||
case 'Egypt':
|
||||
return 'https://map-egypt.siromove.com/api/maps/route';
|
||||
case 'Jordan':
|
||||
return 'https://map-saas.intaleqapp.com/api/maps/route';
|
||||
default:
|
||||
return 'https://map-saas.intaleqapp.com/api/maps/route';
|
||||
}
|
||||
return 'https://map-saas.intaleqapp.com/api/maps/route';
|
||||
}
|
||||
|
||||
static String get reverseGeocoding {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://map-syria.siromove.com/api/geocoding/reverse';
|
||||
case 'Egypt':
|
||||
return 'https://map-egypt.siromove.com/api/geocoding/reverse';
|
||||
case 'Jordan':
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
|
||||
default:
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
|
||||
}
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/reverse';
|
||||
}
|
||||
|
||||
static String get searchGeocoding {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://map-syria.siromove.com/api/geocoding/search';
|
||||
case 'Egypt':
|
||||
return 'https://map-egypt.siromove.com/api/geocoding/search';
|
||||
case 'Jordan':
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/search';
|
||||
default:
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/search';
|
||||
}
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/search';
|
||||
}
|
||||
|
||||
static String get mapSaasPlaces {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://map-syria.siromove.com/api/geocoding/places';
|
||||
case 'Egypt':
|
||||
return 'https://map-egypt.siromove.com/api/geocoding/places';
|
||||
case 'Jordan':
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/places';
|
||||
default:
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/places';
|
||||
}
|
||||
return 'https://map-saas.intaleqapp.com/api/geocoding/places';
|
||||
}
|
||||
|
||||
static String get endPoint => server;
|
||||
|
||||
static String get rideServerSide {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://ride-syria.siromove.com/siro';
|
||||
case 'Egypt':
|
||||
return 'https://ride-egypt.siromove.com/siro';
|
||||
case 'Jordan':
|
||||
return 'https://jordan-siro.intaleqapp.com/backend';
|
||||
default:
|
||||
return 'https://jordan-siro.intaleqapp.com/backend';
|
||||
}
|
||||
return 'https://api.intaleqapp.com/backend';
|
||||
}
|
||||
|
||||
static String get server {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://api-syria.siromove.com/siro_v3';
|
||||
case 'Egypt':
|
||||
return 'https://api-egypt.siromove.com/siro_v3';
|
||||
case 'Jordan':
|
||||
return 'https://jordan-siro.intaleqapp.com/backend';
|
||||
default:
|
||||
return 'https://api.siromove.com/siro_v3';
|
||||
}
|
||||
return 'https://api.intaleqapp.com/backend';
|
||||
}
|
||||
|
||||
static String get serverSocket {
|
||||
switch (currentCountry) {
|
||||
case 'Syria':
|
||||
return 'https://api-syria.siromove.com';
|
||||
case 'Egypt':
|
||||
return 'https://api-egypt.siromove.com';
|
||||
case 'Jordan':
|
||||
return 'https://jordan-siro.intaleqapp.com:3030';
|
||||
default:
|
||||
return 'https://jordan-siro.intaleqapp.com:3030';
|
||||
}
|
||||
return 'https://api.intaleqapp.com:3030';
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user