This commit is contained in:
J. A. Messias 2024-09-24 11:12:36 -03:00
parent 80d428b766
commit d82617c7e1
12 changed files with 53 additions and 55 deletions

View File

@ -28,12 +28,9 @@ class QrCodePageModel extends FlutterFlowModel<QrCodePageWidget> {
}
Future<void> initVariable() async {
isFingerprint = await db
.get(key: 'fingerprint', field: 'value')
.then((value) => value.toString() == 'true');
userDevUUID = await db
.get(key: 'userDevUUID', field: 'value')
.then((value) => value.toString());
isFingerprint =
await db.get('fingerprint').then((value) => value.toString() == 'true');
userDevUUID = await db.get('userDevUUID').then((value) => value.toString());
}
@override

View File

@ -15,7 +15,9 @@ import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/qr_code_page/qr_code_page_model.dart';
import 'package:hub/shared/helpers/secure_storage_helper.dart';
import 'package:hub/shared/helpers/sqlite_storage_helper.dart';
import 'package:hub/shared/utils/biometric_util.dart';
import 'package:percent_indicator/circular_percent_indicator.dart';
// import 'package:percent_indicator/percent_indicator.dart';
@ -358,9 +360,8 @@ class _QrCodePageWidgetState extends State<QrCodePageWidget>
}
Future<void> _showBiometricsAuth(BuildContext context) async {
AppState()
.checkBiometrics()
.then((value) => AppState().authenticateBiometric().then((value) {
BiometricHelper.checkBiometrics()
.then((value) => BiometricHelper.authenticateBiometric().then((value) {
safeSetState(() {
if (animationsMap['barcodeOnActionTriggerAnimation'] != null) {
animationsMap['barcodeOnActionTriggerAnimation']!
@ -371,7 +372,7 @@ class _QrCodePageWidgetState extends State<QrCodePageWidget>
.reverse();
}
_model.isAccess = !_model.isAccess;
_model.key = AppState().fingerprintPass;
_model.key = SecureStorageHelper().fingerprintPass;
});
}))
.onError((error, StackTrace) {

View File

@ -7,9 +7,8 @@ import 'package:share_plus/share_plus.dart';
class ReceptionPageModel with ChangeNotifier {
Future<void> getIdenfifier(BuildContext context) async {
final SQLiteStorageHelper db = SQLiteStorageHelper();
final String userDevUUID = await db
.get(key: 'userDevUUID', field: 'value')
.then((value) => value.toString());
final String userDevUUID =
await db.get('userDevUUID').then((value) => value.toString());
notifyListeners();
Share.share(

View File

@ -8,6 +8,9 @@ import 'package:hub/flutter_flow/flutter_flow_util.dart';
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/reception_page/reception_page_model.dart';
import 'package:hub/shared/helpers/secure_storage_helper.dart';
import 'package:hub/shared/helpers/sqlite_storage_helper.dart';
import 'package:hub/shared/utils/storage_util.dart';
import 'package:provider/provider.dart';
class ReceptionPageWidget extends StatefulWidget {
@ -26,7 +29,7 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget> {
@override
Widget build(BuildContext context) {
AppState().context = context;
SecureStorageHelper().context = context;
return ChangeNotifierProvider(
create: (context) => ReceptionPageModel(),
child: Scaffold(
@ -151,7 +154,8 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget> {
child: FFButtonWidget(
onPressed: () async {
PhpGroup.unregisterDevice();
AppState().deleteAll();
StorageManager.purge();
setState(() {});
context.go(

View File

@ -39,7 +39,6 @@ class _RegisterVisitorPageWidgetState extends State<RegisterVisitorPageWidget> {
@override
Widget build(BuildContext context) {
context.watch<AppState>();
return Scaffold(
appBar: AppBar(
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,

View File

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:hub/app_state.dart';
import 'package:hub/flutter_flow/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/shared/helpers/sqlite_storage_helper.dart';
import 'package:hub/shared/utils/webview_util.dart';
@ -22,24 +23,14 @@ class _ReservationPageWidgetState extends State<ReservationPageWidget> {
late WebViewController _controllerAll;
Future<Map<String, String>> initVariables() async {
final email = await db
.get(key: 'email', field: 'value')
.then((value) => value.toString());
final name = await db
.get(key: 'userName', field: 'value')
.then((value) => value.toString());
final userUUID = await db
.get(key: 'userUUID', field: 'value')
.then((value) => value.toString());
final devUUID = await db
.get(key: 'devUUID', field: 'value')
.then((value) => value.toString());
final email = await db.get('email').then((value) => value.toString());
final name = await db.get('userName').then((value) => value.toString());
final userUUID = await db.get('userUUID').then((value) => value.toString());
final devUUID = await db.get('devUUID').then((value) => value.toString());
final createdAt = await db
.get(key: 'devUUID', field: 'createdAt')
.then((value) => value.toString());
final clientId = await db
.get(key: 'cliUUID', field: 'value')
.getByField(key: 'devUUID', field: 'createdAt')
.then((value) => value.toString());
final clientId = await db.get('cliUUID').then((value) => value.toString());
final url = 'https://hub.freaccess.com.br/hub/reservation/$clientId';
@ -71,8 +62,12 @@ class _ReservationPageWidgetState extends State<ReservationPageWidget> {
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
} else if (snapshot.hasError) {
return Center(child: Text('Error: ${snapshot.error}'));
} else if (snapshot.hasError ||
snapshot.hasData == false ||
snapshot.data!.isEmpty) {
return Center(
child: Text(FFLocalizations.of(context).getVariableText(
enText: 'Unexpected error', ptText: 'Erro inesperado')));
} else if (snapshot.hasData) {
final data = snapshot.data!;
final url = data['url']!;

View File

@ -184,15 +184,9 @@ class ScheduleCompleteVisitPageModel
}
Future<void> _initVariables() async {
devUUID = await db
.get(key: 'devUUID', field: 'value')
.then((value) => value.toString());
cliUUID = await db
.get(key: 'cliUUID', field: 'value')
.then((value) => value.toString());
userUUID = await db
.get(key: 'userUUID', field: 'value')
.then((value) => value.toString());
devUUID = await db.get('devUUID').then((value) => value.toString());
cliUUID = await db.get('cliUUID').then((value) => value.toString());
userUUID = await db.get('userUUID').then((value) => value.toString());
}
@override

View File

@ -109,8 +109,6 @@ class _ScheduleCompleteVisitPageWidgetState
@override
Widget build(BuildContext context) {
context.watch<AppState>();
return GestureDetector(
onTap: () => _model.unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(_model.unfocusNode)

View File

@ -113,7 +113,7 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
await _secureStorage.write(key: key, value: value.toString());
}
void deleteAll() {
Future<void> purge() async {
_secureStorage.deleteAll();
}

View File

@ -58,4 +58,8 @@ class SharedPreferencesStorageHelper implements Storage {
// Log or handle the error
}
}
Future<void> purge() async {
await _prefs.clear();
}
}

View File

@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
import 'package:local_auth/local_auth.dart';
class BiometricHelper {
final LocalAuthentication auth = LocalAuthentication();
static final LocalAuthentication auth = LocalAuthentication();
Future<bool> checkBiometrics() async {
static Future<bool> checkBiometrics() async {
try {
return await auth.canCheckBiometrics;
} catch (e) {
@ -13,7 +13,7 @@ class BiometricHelper {
}
}
Future<bool> authenticateBiometric() async {
static Future<bool> authenticateBiometric() async {
try {
return await auth.authenticate(
localizedReason: 'Scan your fingerprint to authenticate',

View File

@ -20,12 +20,12 @@ class StorageData {
enum StorageType { SecureStorage, SharedPreferences, SQLite3 }
class StorageManager {
final SecureStorageHelper _secureStorage = SecureStorageHelper();
final SharedPreferencesStorageHelper _sharedPreferences =
static final SecureStorageHelper _secureStorage = SecureStorageHelper();
static final SharedPreferencesStorageHelper _sharedPreferences =
SharedPreferencesStorageHelper();
final SQLiteStorageHelper _sqliteStorage = SQLiteStorageHelper();
static final SQLiteStorageHelper _sqliteStorage = SQLiteStorageHelper();
Future<void> set(StorageData data) async {
static Future<void> set(StorageData data) async {
switch (data.type) {
case StorageType.SecureStorage:
CacheUtil.set(data.key, data.value);
@ -40,7 +40,7 @@ class StorageManager {
}
}
Future<dynamic> get(StorageData data) async {
static Future<dynamic> get(StorageData data) async {
var value = CacheUtil.get(data.key);
if (value == null) {
switch (data.type) {
@ -59,7 +59,7 @@ class StorageManager {
return value;
}
Future<void> delete(StorageData data) async {
static Future<void> delete(StorageData data) async {
switch (data.type) {
case StorageType.SecureStorage:
CacheUtil.delete(data.key);
@ -73,6 +73,13 @@ class StorageManager {
break;
}
}
static Future<void> purge() async {
// CacheUtil.purge();
await _secureStorage.purge();
await _sharedPreferences.purge();
await _sqliteStorage.purge();
}
}
class StorageUtil {}