🐛 Fix refresh token

This commit is contained in:
2024-11-09 19:32:21 +08:00
parent 4d12d243b3
commit a629f5e12c
6 changed files with 177 additions and 40 deletions

View File

@ -10,12 +10,11 @@ class UserProvider extends ChangeNotifier {
bool isAuthorized = false;
SnAccount? user;
late final SnNetworkProvider sn;
late final SnNetworkProvider _sn;
late final FlutterSecureStorage _storage = FlutterSecureStorage();
UserProvider(BuildContext context) {
sn = context.read<SnNetworkProvider>();
_sn = context.read<SnNetworkProvider>();
_storage.read(key: kAtkStoreKey).then((value) {
isAuthorized = value != null;
@ -31,7 +30,7 @@ class UserProvider extends ChangeNotifier {
Future<SnAccount?> refreshUser() async {
if (!isAuthorized) return null;
final resp = await sn.client.get('/cgi/id/users/me');
final resp = await _sn.client.get('/cgi/id/users/me');
final out = SnAccount.fromJson(resp.data);
user = out;
@ -39,4 +38,11 @@ class UserProvider extends ChangeNotifier {
return out;
}
void logoutUser() async {
_sn.clearTokenPair();
isAuthorized = false;
user = null;
notifyListeners();
}
}