Khaled Mohammed7 نشر 15 أغسطس 2021 أرسل تقرير مشاركة نشر 15 أغسطس 2021 لدي نظام تسجيل دخول و اريد عمل حقل يختار منه العضو اما يحفظ بيانات الدخول او لا ممكن حدا يشرح الفكرة 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 بلال زيادة نشر 15 أغسطس 2021 أرسل تقرير مشاركة نشر 15 أغسطس 2021 في البداية يمكنك وضع زر تذكرني في واجهة الدخول بالتطبيق الخاص بك مثلاً يمكن وضع حقل الاختيار أسفل حقل إدخال كلمة المرور و يكون كود الزر Column( children: <Widget>[ Row( children: <Widget>[ Checkbox( checkColor: Colors.greenAccent, activeColor: Colors.blue, value: this.valuefirst, onChanged: (bool value) { setState(() { this.valuefirst = value; }); }, ), Text('Remember me ',style: TextStyle(fontSize: 17.0), ), ], ), ], ), و من ثم يمكنك تعريف متغير valuefirst بهذه الطريقة bool valuefirst = false; وتكون قيمته false أي حقل الأختيار غير معلم , ثم يمكننا إرسال قيمة هذا الحقل إلى الدالة التي نقوم بالتحقق منها من عملية تسجيل الدخول مثل الكود التالي await Provider.of<AuthProvider>(context, listen: false).login(username, password, this.valuefirst); فإذا كانت قيمة valuefirst هي false أي لا يحفظ بيانات تسجيل الدخول , أما إذا كانت true فيجب حفظ هذه البيانات لعمل تسجيل دخول تلقائي في المرة القادمة التي يدخل بها العضو التطبيق. ثم في دالة login في نقوم باستخدام قيمة المتغير valuefirst بهذا الشكل Future<bool> login(String email, String password, bool savePassword) async { final url = 'هنا رابط مسار login '; Map<String, String> body = { 'email': email, 'password': password, }; final response = await http.post( Uri.parse(url), body: body, ); if (response.statusCode == 200) { Map<String, dynamic> apiResponse = json.decode(response.body); if (apiResponse['code'] == 200) { _token = apiResponse['user']['token']; _id = apiResponse['user']['id']; _email = apiResponse['user']['email']; _name = apiResponse['user']['name']; _savePassword = savePassword; await storeUserData(apiResponse, _savePassword); notifyListeners(); return true; } else { _status = Status.Unauthenticated; _token = null; _email = null; _name = null; _savePassword = false; notifyListeners(); return false; } } if (response.statusCode == 401) { notifyListeners(); return false; } notifyListeners(); return false; } فلاحظ أيضا قمنا بإرسال قيمة هذا المتغير مرة أخرى في دالة storeUserData storeUserData(apiResponse, bool savePassword) async { SharedPreferences storage = await SharedPreferences.getInstance(); await storage.setString('token', apiResponse['user']['token']); await storage.setString('email', apiResponse['user']['email']); await storage.setString('name', apiResponse['user']['name']); await storage.setBool('savePassword', savePassword); } لكي نخزن قيمة هذا الحقل في SharedPrefrence و نستطيع جلب هذه القيمة من أي مكان في التطبيق. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Khaled Mohammed7
لدي نظام تسجيل دخول و اريد عمل حقل يختار منه العضو اما يحفظ بيانات الدخول او لا ممكن حدا يشرح الفكرة
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.