inserido o shared.dart para manter o usuário logado
This commit is contained in:
@@ -14,6 +14,7 @@ import 'package:rkm_educa_app/telas/tela_perfil.dart';
|
||||
import 'package:rkm_educa_app/utils/cores.dart';
|
||||
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||
import '../servicos/shared_preferences/shared.dart';
|
||||
import 'item_drawer.dart';
|
||||
|
||||
class DrawerCustom extends StatelessWidget {
|
||||
@@ -118,10 +119,13 @@ class DrawerCustom extends StatelessWidget {
|
||||
child: IconButton(
|
||||
icon: Icon(LineIcons.alternateSignOut,size: 30),
|
||||
onPressed: (){
|
||||
final PrefService _prefService = PrefService();
|
||||
_prefService.removeCacheLogin().then((value){
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) => TelaLogin()),
|
||||
);
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
17
lib/servicos/shared_preferences/shared.dart
Normal file
17
lib/servicos/shared_preferences/shared.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class PrefService{
|
||||
Future createCacheLogin(String cpf, String senha)async{
|
||||
SharedPreferences preferences = await SharedPreferences.getInstance();
|
||||
preferences.setStringList('login', [cpf,senha]);
|
||||
}
|
||||
Future readCacheLogin()async{
|
||||
SharedPreferences preferences = await SharedPreferences.getInstance();
|
||||
final List<String>? login = preferences.getStringList('login');
|
||||
return login;
|
||||
}
|
||||
Future removeCacheLogin()async{
|
||||
SharedPreferences preferences = await SharedPreferences.getInstance();
|
||||
preferences.remove('login');
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import 'package:rkm_educa_app/Telas/tela_situacao_escolar.dart';
|
||||
import 'package:rkm_educa_app/modelos/estudante_modelo.dart';
|
||||
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
|
||||
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||
import '../servicos/shared_preferences/shared.dart';
|
||||
import '../utils/cores.dart';
|
||||
import '../componentes/buttom_custom.dart';
|
||||
import '../componentes/input_text.dart';
|
||||
@@ -34,7 +35,7 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
setState(() {
|
||||
loading = true;
|
||||
});
|
||||
conectAPI();
|
||||
conectAPI(inputLogin.text.toUpperCase(),inputSenha.text.toUpperCase());
|
||||
}else{
|
||||
showSnackBar(context, 'Preencha sua senha', Colors.red);
|
||||
}
|
||||
@@ -43,8 +44,8 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
}
|
||||
}
|
||||
|
||||
conectAPI()async{
|
||||
final url = 'http://192.168.18.2:8000/loginpais?CPF=${inputLogin.text.toUpperCase()}';
|
||||
conectAPI(String cpf, String senha)async{
|
||||
final url = 'http://192.168.18.2:8000/loginpais?CPF=$cpf';
|
||||
print(url);
|
||||
final response = await http.get(Uri.parse(url));
|
||||
var map = json.decode(response.body);
|
||||
@@ -55,12 +56,15 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
});
|
||||
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
||||
}else{
|
||||
if(map['CPF']==inputLogin.text.toUpperCase() && map['SENHA'].toString().toUpperCase()==inputSenha.text.toUpperCase()){
|
||||
if(map['CPF']==cpf && map['SENHA'].toString().toUpperCase()==senha){
|
||||
setState(() {
|
||||
status = 'CARREGANDO ESTUDANTE(S) ...';
|
||||
});
|
||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||
final PrefService _prefService = PrefService();
|
||||
_prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value){
|
||||
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE']);
|
||||
});
|
||||
}else{
|
||||
setState(() {
|
||||
loading = false;
|
||||
@@ -114,6 +118,21 @@ class _TelaLoginState extends State<TelaLogin> {
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
final PrefService _prefService = PrefService();
|
||||
_prefService.readCacheLogin().then((login){
|
||||
if(login!=null){
|
||||
setState(() {
|
||||
loading = true;
|
||||
});
|
||||
print(login);
|
||||
conectAPI(login[0], login[1].toString().toUpperCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:rkm_educa_app/telas/tela_login.dart';
|
||||
import 'package:rkm_educa_app/utils/cores.dart';
|
||||
import '../servicos/shared_preferences/shared.dart';
|
||||
import '../utils/dimensoes.dart';
|
||||
|
||||
class TelaSplash extends StatefulWidget {
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
import FlutterMacOS
|
||||
import Foundation
|
||||
|
||||
import shared_preferences_foundation
|
||||
|
||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||
}
|
||||
|
||||
142
pubspec.lock
142
pubspec.lock
@@ -105,6 +105,22 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.1"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: ffi
|
||||
sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.2"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file
|
||||
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.4"
|
||||
flutter:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
@@ -136,6 +152,11 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
gainer_crypto:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -224,6 +245,46 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.8.3"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_linux
|
||||
sha256: ffbb8cc9ed2c9ec0e4b7a541e56fd79b138e8f47d2fb86815f15358a349b3b57
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.11"
|
||||
path_provider_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_platform_interface
|
||||
sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.6"
|
||||
path_provider_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_windows
|
||||
sha256: "1cb68ba4cd3a795033de62ba1b7b4564dace301f952de6bfb3cd91b202b6ee96"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.7"
|
||||
platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: platform
|
||||
sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
plugin_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: plugin_platform_interface
|
||||
sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
pointycastle:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -232,6 +293,70 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.7.3"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2.4"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: shared_preferences
|
||||
sha256: "396f85b8afc6865182610c0a2fc470853d56499f75f7499e2a73a9f0539d23d0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "6478c6bbbecfe9aced34c483171e90d7c078f5883558b30ec3163cf18402c749"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_foundation
|
||||
sha256: e014107bb79d6d3297196f4f2d0db54b5d1f85b8ea8ff63b8e8b391a02700feb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.2"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_linux
|
||||
sha256: "9d387433ca65717bbf1be88f4d5bb18f10508917a8fa2fb02e0fd0d7479a9afa"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
shared_preferences_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_platform_interface
|
||||
sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
shared_preferences_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_web
|
||||
sha256: "74083203a8eae241e0de4a0d597dbedab3b8fef5563f33cf3c12d7e93c655ca5"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
shared_preferences_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_windows
|
||||
sha256: "5e588e2efef56916a3b229c3bfe81e6a525665a454519ca51dbcc4236a274173"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -317,5 +442,22 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32
|
||||
sha256: "1414f27dd781737e51afa9711f2ac2ace6ab4498ee98e20863fa5505aa00c58c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.4"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: xdg_directories
|
||||
sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
sdks:
|
||||
dart: ">=3.0.0 <4.0.0"
|
||||
flutter: ">=3.3.0"
|
||||
|
||||
@@ -18,6 +18,7 @@ dependencies:
|
||||
intl:
|
||||
syncfusion_flutter_charts: ^21.2.9
|
||||
brasil_fields:
|
||||
shared_preferences: ^2.1.2
|
||||
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
|
||||
Reference in New Issue
Block a user