feat: N1d/N2/N3 + قانون فلاتر وإعادة ضبط تطبيق السائق
الباك إند: - تعيين أول أدمن صار يُنشئ المستخدم إن لم يوجد — كان يشترط دخولاً سابقاً، وهي بيضة ودجاجة تمنع الدخول إلى لوحة أي مستأجر جديد أصلاً. - OTP_DEV_MODE كان يفشل مفتوحاً (`!== 'false'`): غياب المتغيّر أو خطأ مطبعي يترك الإنتاج برمز ثابت يفتح كل حساب، ويحرس السحب المالي كذلك. صار `=== 'true'` في الإعداد وفي قارئَيه، مع تحذير عند الإقلاع. - N2: التحقّق من اللوغو عند الرفع (PNG/JPEG · 512+ · مربّع · سقف 5MB) عبر قراءة الترويسة بلا اعتمادية — بدل اكتشاف أيقونة ممطوطة بعد النشر. N3: السكربت يولّد build_config.dart بأعلام const (طبقات docs/22 §1.5)، ويضبط bundle IDs واسم التطبيق والأيقونات/splash، و--build يشغّل Shorebird. فلاتر: - docs/23: قانون مُلزِم للتطبيقين (البنية · Cubit · طبقة الشبكة · الأعلام). - السائق: أُزيل Dart القديم (GetX) مع الإبقاء على الأصيل والإضافات وشهادات التوقيع وShorebird وFirebase الخاص به، وأُعيد هيكلته مطابقاً للراكب. - طبقة الشبكة ترسل x-device-id وتجدّد التوكن عند 401 مرة واحدة فقط. - الحزم موحّدة بين التطبيقين، والـAPI https حصراً في الاثنين. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
3ab74a13a8
commit
de4bbd00ac
@@ -1,123 +0,0 @@
|
||||
class BoxName {
|
||||
static const String driverID = "driverID";
|
||||
static const String countryCode = "countryCode";
|
||||
static const String googlaMapApp = "googlaMapApp";
|
||||
static const String keyOfApp = 'keyOfApp';
|
||||
static const String initializationVector = 'initializationVector';
|
||||
static const String firstTimeLoadKey = 'firstTimeLoadKey';
|
||||
static const String jwt = "jwt";
|
||||
static const String blockUntilDate = "blockUntilDate";
|
||||
static const String rideId = "rideId";
|
||||
static const String rideArgumentsFromBackground =
|
||||
"rideArgumentsFromBackground";
|
||||
static const String FCM_PRIVATE_KEY = "FCM_PRIVATE_KEY";
|
||||
static const String hmac = "hmac";
|
||||
static const String ttsEnabled = "ttsEnabled";
|
||||
static const String security_check = "security_check";
|
||||
static const String rideType = "rideType";
|
||||
static const String walletType = "walletType";
|
||||
static const String fingerPrint = "fingerPrint";
|
||||
static const String updateInterval = "updateInterval";
|
||||
static const String payMobApikey = "payMobApikey";
|
||||
static const String refreshToken = "refreshToken";
|
||||
static const String lang = "lang";
|
||||
static const String isvibrate = "isvibrate";
|
||||
static const String myListString = "myListString";
|
||||
static const String myList = "myList";
|
||||
static const String bodyOrder = "bodyOrder";
|
||||
static const String gender = "gender";
|
||||
static const String phoneWallet = "phoneWallet";
|
||||
static const String locationName = "locationName";
|
||||
static const String basicLink = "basicLink";
|
||||
static const String paymentLink = "paymentLink";
|
||||
static const String isSavedPhones = "IsSavedPhones";
|
||||
static const String isTest = "isTest";
|
||||
static const String carType = "carType";
|
||||
static const String carTypeOfDriver = "carTypeOfDriver";
|
||||
static const String isFirstTime = "isFirstTime";
|
||||
static const String deviceInfo = "deviceInfo";
|
||||
static const String packagInfo = "packagInfo";
|
||||
static const String phoneVerified = "phoneVerified";
|
||||
static const String carPlate = "carPlate";
|
||||
static const String statusDriverLocation = "statusDriverLocation";
|
||||
static const String isAppInForeground = "isAppInForeground";
|
||||
static const String rideStatus = "rideStatus";
|
||||
static const String nameArabic = "nameArabic";
|
||||
static const String carYear = "carYear";
|
||||
static const String password = "password";
|
||||
static const String isVerified = '0';
|
||||
static const String arrivalTime = "arrivalTime";
|
||||
static const String locationPermission = "locationPermission";
|
||||
static const String passwordDriver = "passwordDriver";
|
||||
static const String agreeTerms = "agreeTerms";
|
||||
static const String addWork = 'addWork';
|
||||
static const String addHome = 'addHome';
|
||||
static const String rideArguments = 'rideArguments';
|
||||
static const String durationData = 'durationData';
|
||||
static const String rideStaticDriverData = 'rideStaticDriverData';
|
||||
static const String lastTimeStaticThrottle = 'lastTimeStaticThrottle';
|
||||
static const String lastTimeCaptainWalletCashOut =
|
||||
'lastTimeCaptainWalletCashOut';
|
||||
static const String tipPercentage = 'tipPercentage';
|
||||
static const String accountIdStripeConnect = "accountIdStripeConnect";
|
||||
static const String faceDetectTimes = "faceDetectTimes";
|
||||
static const String sosPhonePassenger = "sosPhonePassenger";
|
||||
static const String sosPhoneDriver = "sosPhoneDriver";
|
||||
static const String passengerID = "pasengerID";
|
||||
static const String phone = "phone";
|
||||
static const String phoneDriver = "phoneDriver";
|
||||
static const String is_claimed = "is_claimed";
|
||||
static const String isInstall = "isInstall";
|
||||
static const String isGiftToken = "isGiftToken";
|
||||
static const String lastOtpTime = "lastOtpTime";
|
||||
static const String bankCodeDriver = "bankCodeDriver";
|
||||
static const String accountBankNumberDriver = "accountBankNumberDriver";
|
||||
static const String dobDriver = "dobDriver";
|
||||
static const String sexDriver = "sexDriver";
|
||||
static const String lastNameDriver = "lastNameDriver";
|
||||
static const String name = "name";
|
||||
static const String nameDriver = "nameDriver";
|
||||
static const String driverPhotoUrl = "driverPhotoUrl";
|
||||
static const String email = "email";
|
||||
static const String emailDriver = "emailDriver";
|
||||
static const String tokens = "tokens";
|
||||
static const String tokenFCM = "tokenFCM";
|
||||
static const String tokenDriver = "tokenDriver";
|
||||
static const String cardNumber = "cardNumber";
|
||||
static const String cardNumberDriver = "cardNumberDriver";
|
||||
static const String cardHolderName = "cardHolderName";
|
||||
static const String cardHolderNameDriver = "cardHolderNameDriver";
|
||||
static const String expiryDate = "expiryDate";
|
||||
static const String expiryDateDriver = "expiryDateDriver";
|
||||
static const String cvvCode = "cvvCode";
|
||||
static const String cvvCodeDriver = "cvvCodeDriver";
|
||||
static const String passengerWalletDetails = "passengerWalletDetails";
|
||||
static const String passengerWalletTotal = "passengerWalletTotal";
|
||||
static const String passengerWalletFound = "passengerWalletFound";
|
||||
static const String periods = 'periods';
|
||||
static const String onBoarding = 'onBoarding';
|
||||
static const String stripePublishableKey = 'stripe_publishableKe';
|
||||
static const String apiKeyRun = 'apiKeyRun';
|
||||
static const String serverAPI = 'serverAPI';
|
||||
static const String serverChosen = 'serverChosen';
|
||||
static const String secretKey = 'secretKey';
|
||||
static const String basicAuthCredentials = 'basicAuthCredentials';
|
||||
static const String mapAPIKEY = 'mapAPIKEY';
|
||||
static const String twilloRecoveryCode = 'twilloRecoveryCode';
|
||||
static const String accountSIDTwillo = 'accountSIDTwillo';
|
||||
static const String authTokenTwillo = 'authTokenTwillo';
|
||||
static const String chatGPTkey = 'chatGPTkey';
|
||||
static const String chatGPTkeySefer = 'chatGPTkeySefer';
|
||||
static const String transactionCloude = 'transactionCloude';
|
||||
static const String visionApi = 'visionApi';
|
||||
static const String vin = "vin";
|
||||
static const String make = "make";
|
||||
static const String model = "model";
|
||||
static const String year = "year";
|
||||
static const String expirationDate = "expirationDate";
|
||||
static const String color = "color";
|
||||
static const String owner = "owner";
|
||||
static const String registrationDate = "registrationDate";
|
||||
static const String recentLocations = 'recentLocations';
|
||||
static const String tripData = 'tripData';
|
||||
}
|
||||
Reference in New Issue
Block a user