اذهب إلى المحتوى

Mohammed Abu Yousef

الأعضاء
  • المساهمات

    245
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

أجوبة بواسطة Mohammed Abu Yousef

  1. تمام، بس خلينا وحدة وحدة

    الآن المشكلة عندي انو VS Code بيوقف عن العمل وبيقل التطبيق قبل م ينفذ الكود داخل الشرط التالي:

    if(responce.StatusCode == 422){
    	// any thing like print('hello')
    }

    مع انو بعد م يتوقف التطبيق بيظهرلي في VS Code في ال Exeption ان الايرور 422

  2. - ( الخلاصة التي استفدتها أن الموضوع من قبل فلاتر يتم ب: responce.StatusCode عندما تكون قيمته تساوي ب 422 )، لكن لم تنجح معي للأسف في فلاتر علما أني أستخدم حزمة Dio ومع العلم أيضا أن VS code يظهر لي أن Status code الذي حصل 422 لكن لم يستطع أن يقرأ الرد مع العمل أيضا أن الرد شغال وقمت بتحربته باستخدام Postman كما يظهر في الصورة المرفقة.

    - أريد عندما يقوم المستخدم سواء بعملية ( login / register )، وكان رقم الجوال مسجل في قاعدة البيانات، أن يقوم بإظهر رسالة مناسبة له، ملاحظة / ال validation من جهة Laravel جاهز، ويقوم فعلا بإرجاع رسالة أن المستخدم مسجل بالفعل.

    - فما العمل؟ 

    Screenshot (51).png

    • أعجبني 1
  3. تمام شكرا جدا، لكن حتى ما لأعيد الموضوع تاني، أنا الحمد لله عملت زر بالتطبيق، فيه ثلاث لغات، لما تضغط على واحد فيهم بيشتغل تمام، يعني أنا خلصت الموضوع.

    بس محتاج كيف أحفظ اللغة في local Storage وما يرجع للغة الانجليزية كل مرة

  4. قمت باستعمال حزمة جاهزة لتعدد اللغات في التطبيق، ما أريده أنه عندما يختار المستخدم تغيير اللغة من الإعدادات، عندما يقوم بقفل التطبيق ثم فتحة مرة أخرى، يظهر التطبيق باللغة الجديدة وليس باللغة الافتراضية للتطبيق.

    • أعجبني 1
  5. بتاريخ 4 ساعات قال Adnane Kadri:

    الان و بعد الإنتهاء من جانب الباك اند يتطلب عليك التحقق إن كان الرد من الـ API يحمل أخطاء بأكواد حالات معينة ومن ثم التصرف بناء عليه , كأن تقوم بتعطيل عملية التسجيل أو مواصلة العملية بعد تسجيل التوكن و اعادة التوجيه .

    و هذا طبعا يخضع لأكواد الحالات بالـ API الذي تقوم بجلب منه البيانات و يخضع أيضا لتعريفك للـ errors .

    فعلى سبيل المثال يكون الكود كالتالي : 

    
    // قم باستدعاء الدالة من المكان الصحيح 
    login() async{
        var response = await http.post('/your-end-point',auth_data);
        
        if(response.statusCode == 422){
          print(jsonDecode(response.body['errors'])) // طباعة الاخطاء في حالة وجودها
        }
      
        else{
        // اكمال عملية تسجيل الدخول و عمل اعادة التوجيه بعد تسجيل التوكن وحفظه
        }
    }

    ومن المفضل في الباك اند في اللارافل استعمال الواجهة : 

    
    <?php 
    
    use Illuminate\Support\Facades\Validator;
    ..

    عوضا عن الميثود validate ضمن الـ instance الذي اسمه Request : 

    
    <?php 
    
    class myController extends Controller{
    
       public function myMethod(Request $request){ 
         $request->validate($rules);
        }
    
    }

    حتى تتحصل على حرية أكبر ولا تترك الـ Laravel Exceptions يتولى إعادة التوجيه و تسجيل الأخطاء بالجلسة التي هي من المفروض خارج العملية فيما يخص بناء الAPI و باقي العملية.

    شكرا بجد ( الخلاصة التي استفدتها أن الموضوع من قبل فلاتر يتم ب: responce.StatusCode عندما تكون قيمته تساوي ب 422 )، لكن لم تنجح معي للأسف في فلاتر علما أني أستخدم حزمة Dio ومع العلم أيضا أن VS code يظهر لي أن Status code الذي حصل 422 لكن لم يستطع أن يقرأ الرد مع العمل أيضا أن الرد شغال وقمت بتحربته باستخدام Postman

    المشكلة باختصار / عدم تمكن فلاتر من قراءة الرد القادم من ال server

  6. أريد عندما يقوم المستخدم سواء بعملية ( login / register )، وكان رقم الجوال مسجل في قاعدة البيانات، أن يقوم بإظهر رسالة مناسبة له.

    ملاحظة / ال validation من جهة Laravel جاهز، ويقوم فعلا بإرجاع رسالة أنه يجب أن يكون unique

  7. الحمد لله

    قمت باستعمال حزمة location ونجحت بحمد الله

    لكن عندي سؤال
    ( كما يظهر في الصورة المرفقة / عملية الانتقال إلى موقعي تتحقق سواء بالضغظ على الزر رقم 1 أو الزر رقم 3 )

    - عند تفعيل الزر رقم 1 ( يتم إضافة دائرة زرقاء عند موقعي بالإضافة إلى سهم )

    - أريد هذه الخصائص مع الزر رقم ثلاثة، وإخفاء الزر رقم 1

  8. بتاريخ 1 ساعة قال بلال زيادة:

    تمام, يبدو أنك لم تقم بجلب حزمة Geolocator بشكل مناسب لأنه الخصائص هذه من الحزمة يمكنك مراجعة التوثيق من هنا, وجميع الخصائص الموجودة في الكود يمكنك التحقق منها ايضا.

    يبدو أن هناك فرق في ال syntax بين إصدارات هذه المكتبة، الجواب الذي أرسلته بأي إصدار؟

    - هل يمكن استبدال هذه المكتبة بمكتبة أخرى تؤدي نفس الوظيفة؟ وإذا كان الجواب ب نعم فما هي الاقترحات؟

    لأني الصراحة تعبت منها كتير

  9. بتاريخ منذ ساعة مضت قال Mohammed Abu Yousef:

    بسم الله، نبدأ بعرض الأخطاء بالتدريج:

    - في أول طلبتها مني، وضع الدالة، تمام، عندما وضعتها تظهر بالصورة التالية:

    ( لم يتم التعرف على بعض الخصائص )

    Screenshot (48).png

    وبالنسبة للخطوة الثانية ( على فرض أني قد قمت بتشغيل ال GPS بشكل يدوي )

    فإن الخريطة تظهر، ويظهر أيضًا الزر للضغط، وعندما أقوم بالضغط لا يحدث شيء

  10. أريد عند الضغط على الزر المشار إليه في الصورة:

    - طلب فتح ال GPS وطلب السماح للتطبيق بالوصول إليه ( إن لم يكن كذلك ).

    - الانتقال إلى المكان الذي يتواجد فيه المستخدم.

    ملاحظة / جربت العديد من الحلول، لكن للأسف، فأرجو أن يكون الحل المطروح مجرب ومضمون.

    Screenshot (45)_LI.jpg

  11. خلاص ي غالي، الحمد لله بعد رحلة من البحث، وجدت العمل ، وكان كالتالي:

    ListTile(
      trailing: Icon(Icons.logout),
      title: Text('Logout'),
      onTap: () {
        Navigator.pushAndRemoveUntil(
        context,
        PageRouteBuilder(pageBuilder: (BuildContext context,
        Animation animation, Animation secondaryAnimation) {
        return LoginScreen();
        }, transitionsBuilder: (BuildContext context,
        Animation<double> animation,
          Animation<double> secondaryAnimation,
          Widget child) {
          return new SlideTransition(
          position: new Tween<Offset>(
          begin: const Offset(1.0, 0.0),
          end: Offset.zero,
          ).animate(animation),
          child: child,
          );
          }),
          (Route route) => false);
          },
    ),

    مشكور يا غالي على الاهتمام

    • أعجبني 1
  12. بتاريخ 20 ساعات قال بلال زيادة:

    البرنامج لا يحتوي على إلا على واجهات فقط, يرجى وضع المشروع بصورة كاملة بإكواد الأتصال بbackend وكل شيء حتى أستطيع حل المشكلة.

    لا يلزم أخي، الآن عند فتح التطبيق، تظهر ال Splash Screen ، ثم هناك سطر في ال Splash Screen:

    var isLogin = true;

    حسب هذا المتغير، إما أن تظهر صفحة ال Home Screen وإما أن تظهر صفحة ال Login Screen ( بحيث لا يمكن إظهر صفحة ال Home Screen بتاتا )

    الآن عندما يكون قيمة المتغير true ,وظهر للمستخدم بالفعل صفحة ال Home ثم من ال Drawer قام بعمل Logout تظهر صفحة Login لكن عندما يقوم المستخدم بالرجوع خطوة للوراء تظهر صفحة ال Home Screen وأنا لا أريد أن يحصل هذا.

    • أعجبني 1
  13. بتاريخ 20 ساعات قال Mohammed Abu Yousef:

    أتمنى أن تكون الفكرة التي أريد الوصول إليها واضحة،إن لم تكن كذلك قم بسؤالي فورا

    ملاحظة / قمت بعمل مشروع بسيط حتى نقتصر على الفكرة التي أريدها فقط، وها هو:

    https://github.com/MohammedAbuYousef0403/flutter

    حصل حاجة ي باشا؟

    بتاريخ 23 ساعات قال بلال زيادة:

    هل ممكن ترفق الكود الذي يحتوي على المشكلة.

    حصل حاجة ي باشا؟

  14. أتمنى أن تكون الفكرة التي أريد الوصول إليها واضحة،إن لم تكن كذلك قم بسؤالي فورا

    ملاحظة / قمت بعمل مشروع بسيط حتى نقتصر على الفكرة التي أريدها فقط، وها هو:

    https://github.com/MohammedAbuYousef0403/flutter

  15. قمت بفعل ذلك بالفعل.

    الإشكال ليس هنا، الإشكال في موضوع ال Navigation ( بسبب أن تطبيق يعتبر صفحة تسجيل الدخول طبقة فوق طبقة الصفحة الرئيسية )، وأنا أريد إظهار صفحة التسجيل التي تظهر عند فتح التطبيق إذا كان غير مسجل، فهو بهذه الطريقة لا يوجد طبقة تحتها بحيث لو قام المستخدم بالرجوع خطوة للوراء فسيتم الخروج من التطبيق.

  16. شكرا، لم ينجح الحل الأول، لكن نجح الحل الثاني، ف تمام.

    لكن هناك إشكال، عند النقر على الزر الموجود في الصورة المرفقة، يقوم التطبيق بإرجاع المستخدم إلى الصفحة الرئيسية، وأنا لا أريد أن تتم العملية بهذه الطريقة، أريد ألا يستطيع المستخدم الدخول إلى أي شاشة من شاشات التطبيق إلا ويكون قد قام بعمل تسجيل دخول بالفعل.

    Screenshot (38)_LI.jpg

  17. خط سير التطبيق ( عندما يقوم المستخدم بفتح التطبيق _ إذا كان مسجل تظهر الصفحة الرئيسية وإلا فستظهر صفحة تسجيل الدخول " علما أن صفحة تسجيل الدخول هنا تظهر بدون leading " _ )

    - عندما يكون المشتخدم بالفعل داخل التطبيق، يوجد drawer يحتوي على مجموعة من الميزات، منها: ( Logout ) عند الضغط عليها يتم تحويل المستخدم إلى صفحة تسجيل الدخول، لكن المشكلة أن صفحة تسجيل الدخول هنا تظهر ب leading ، فكيف يمكن إزالته؟ بحيث تظهر صفحة تسجيل الدخول كما لو كلن المستخدم قد فتح التطبق لتوّه.

    باختصار / أريد حذف ال leading الظاهر في الصورة المرفقة والمشار إليه بالسهم الأزرق.

    Screenshot (35).png

    Screenshot (36)_LI.jpg

    • أعجبني 1
  18.  

    user = \App\User::create([
    'username' => 'Osama',
    'email' => 'a@a.com',
    'password' => bcrypt('123123123'),
    'phone' => '123123123',
    'city' => 'الرياض',
    'is_active' => 1,
    'code' => substr(md5(uniqid(mt_rand(), true)) , 0, 8),
    ]);

    تمام ي غالي، اشتغل، لكن كيف أقدر أضيف أقدر من مستخدم؟

    تعديل / كررتها واشتغلت، بس كان قصدي بدون ما أكرر دالة create أكثر من مرة، بس خلاص مش إشكال، مشكور

×
×
  • أضف...