♻️ Replace storage token engine to prevent some platform specific issue

This commit is contained in:
2024-11-23 19:54:38 +08:00
parent dfd80021b9
commit 3cd08da3b6
11 changed files with 53 additions and 83 deletions

View File

@ -1,8 +1,8 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:surface/providers/sn_network.dart';
import 'package:surface/types/account.dart';
@ -11,14 +11,17 @@ class UserProvider extends ChangeNotifier {
SnAccount? user;
late final SnNetworkProvider _sn;
late final FlutterSecureStorage _storage = FlutterSecureStorage();
Future<String?> get atk => _storage.read(key: kAtkStoreKey);
Future<String?> get atk async {
final prefs = await SharedPreferences.getInstance();
return prefs.getString(kAtkStoreKey);
}
UserProvider(BuildContext context) {
_sn = context.read<SnNetworkProvider>();
_storage.read(key: kAtkStoreKey).then((value) {
SharedPreferences.getInstance().then((prefs) {
final value = prefs.getString(kAtkStoreKey);
isAuthorized = value != null;
notifyListeners();
refreshUser().then((value) {
@ -41,7 +44,7 @@ class UserProvider extends ChangeNotifier {
}
void logoutUser() async {
await _sn.clearTokenPair();
_sn.clearTokenPair();
isAuthorized = false;
user = null;
notifyListeners();