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/utils/cores.dart';
|
||||||
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
import 'package:rkm_educa_app/componentes/text_custom.dart';
|
||||||
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
|
import '../servicos/shared_preferences/shared.dart';
|
||||||
import 'item_drawer.dart';
|
import 'item_drawer.dart';
|
||||||
|
|
||||||
class DrawerCustom extends StatelessWidget {
|
class DrawerCustom extends StatelessWidget {
|
||||||
@@ -118,10 +119,13 @@ class DrawerCustom extends StatelessWidget {
|
|||||||
child: IconButton(
|
child: IconButton(
|
||||||
icon: Icon(LineIcons.alternateSignOut,size: 30),
|
icon: Icon(LineIcons.alternateSignOut,size: 30),
|
||||||
onPressed: (){
|
onPressed: (){
|
||||||
Navigator.pushReplacement(
|
final PrefService _prefService = PrefService();
|
||||||
context,
|
_prefService.removeCacheLogin().then((value){
|
||||||
MaterialPageRoute(builder: (context) => TelaLogin()),
|
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/modelos/estudante_modelo.dart';
|
||||||
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
|
import 'package:rkm_educa_app/telas/tela_seleciona_filho.dart';
|
||||||
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
import 'package:rkm_educa_app/utils/dimensoes.dart';
|
||||||
|
import '../servicos/shared_preferences/shared.dart';
|
||||||
import '../utils/cores.dart';
|
import '../utils/cores.dart';
|
||||||
import '../componentes/buttom_custom.dart';
|
import '../componentes/buttom_custom.dart';
|
||||||
import '../componentes/input_text.dart';
|
import '../componentes/input_text.dart';
|
||||||
@@ -34,7 +35,7 @@ class _TelaLoginState extends State<TelaLogin> {
|
|||||||
setState(() {
|
setState(() {
|
||||||
loading = true;
|
loading = true;
|
||||||
});
|
});
|
||||||
conectAPI();
|
conectAPI(inputLogin.text.toUpperCase(),inputSenha.text.toUpperCase());
|
||||||
}else{
|
}else{
|
||||||
showSnackBar(context, 'Preencha sua senha', Colors.red);
|
showSnackBar(context, 'Preencha sua senha', Colors.red);
|
||||||
}
|
}
|
||||||
@@ -43,8 +44,8 @@ class _TelaLoginState extends State<TelaLogin> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
conectAPI()async{
|
conectAPI(String cpf, String senha)async{
|
||||||
final url = 'http://192.168.18.2:8000/loginpais?CPF=${inputLogin.text.toUpperCase()}';
|
final url = 'http://192.168.18.2:8000/loginpais?CPF=$cpf';
|
||||||
print(url);
|
print(url);
|
||||||
final response = await http.get(Uri.parse(url));
|
final response = await http.get(Uri.parse(url));
|
||||||
var map = json.decode(response.body);
|
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);
|
showSnackBar(context, 'Login não cadastrado e/ou senha incorreta', Colors.red);
|
||||||
}else{
|
}else{
|
||||||
if(map['CPF']==inputLogin.text.toUpperCase() && map['SENHA'].toString().toUpperCase()==inputSenha.text.toUpperCase()){
|
if(map['CPF']==cpf && map['SENHA'].toString().toUpperCase()==senha){
|
||||||
setState(() {
|
setState(() {
|
||||||
status = 'CARREGANDO ESTUDANTE(S) ...';
|
status = 'CARREGANDO ESTUDANTE(S) ...';
|
||||||
});
|
});
|
||||||
showSnackBar(context, 'Acesso validado', Colors.green);
|
showSnackBar(context, 'Acesso validado', Colors.green);
|
||||||
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE']);
|
final PrefService _prefService = PrefService();
|
||||||
|
_prefService.createCacheLogin(map['CPF'], map['SENHA']).then((value){
|
||||||
|
buscaFilhos(map['NOME'],map['PARENTESCO'],map['CIDADE']);
|
||||||
|
});
|
||||||
}else{
|
}else{
|
||||||
setState(() {
|
setState(() {
|
||||||
loading = false;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:rkm_educa_app/telas/tela_login.dart';
|
import 'package:rkm_educa_app/telas/tela_login.dart';
|
||||||
import 'package:rkm_educa_app/utils/cores.dart';
|
import 'package:rkm_educa_app/utils/cores.dart';
|
||||||
|
import '../servicos/shared_preferences/shared.dart';
|
||||||
import '../utils/dimensoes.dart';
|
import '../utils/dimensoes.dart';
|
||||||
|
|
||||||
class TelaSplash extends StatefulWidget {
|
class TelaSplash extends StatefulWidget {
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
import FlutterMacOS
|
import FlutterMacOS
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
import shared_preferences_foundation
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
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"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
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:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -136,6 +152,11 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_web_plugins:
|
||||||
|
dependency: transitive
|
||||||
|
description: flutter
|
||||||
|
source: sdk
|
||||||
|
version: "0.0.0"
|
||||||
gainer_crypto:
|
gainer_crypto:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -224,6 +245,46 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.3"
|
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:
|
pointycastle:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -232,6 +293,70 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.7.3"
|
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:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -317,5 +442,22 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
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:
|
sdks:
|
||||||
dart: ">=3.0.0 <4.0.0"
|
dart: ">=3.0.0 <4.0.0"
|
||||||
|
flutter: ">=3.3.0"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ dependencies:
|
|||||||
intl:
|
intl:
|
||||||
syncfusion_flutter_charts: ^21.2.9
|
syncfusion_flutter_charts: ^21.2.9
|
||||||
brasil_fields:
|
brasil_fields:
|
||||||
|
shared_preferences: ^2.1.2
|
||||||
|
|
||||||
flutter_localizations:
|
flutter_localizations:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
Reference in New Issue
Block a user