feat: 切换邮箱认证并重构前后端启动与门禁
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
import '../../data/storage/local_kv_store.dart';
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
class SessionStore {
|
||||
SessionStore(this._kvStore);
|
||||
|
||||
final LocalKvStore _kvStore;
|
||||
final FlutterSecureStorage _secureStorage = const FlutterSecureStorage(
|
||||
aOptions: AndroidOptions(encryptedSharedPreferences: true),
|
||||
);
|
||||
|
||||
static const String _tokenKey = 'auth_token';
|
||||
static const String _refreshTokenKey = 'auth_refresh_token';
|
||||
static const String _emailKey = 'saved_email';
|
||||
static const String _welcomeReadKey = 'has_seen_welcome_dialog';
|
||||
static const String _localeKey = 'selected_locale';
|
||||
|
||||
Future<void> saveToken(String token) async {
|
||||
await _secureStorage.write(key: _tokenKey, value: token);
|
||||
}
|
||||
|
||||
Future<String?> getToken() async {
|
||||
return _secureStorage.read(key: _tokenKey);
|
||||
}
|
||||
|
||||
Future<void> clearToken() async {
|
||||
await _secureStorage.delete(key: _tokenKey);
|
||||
}
|
||||
|
||||
Future<void> saveRefreshToken(String refreshToken) async {
|
||||
await _secureStorage.write(key: _refreshTokenKey, value: refreshToken);
|
||||
}
|
||||
|
||||
Future<String?> getRefreshToken() async {
|
||||
return _secureStorage.read(key: _refreshTokenKey);
|
||||
}
|
||||
|
||||
Future<void> clearRefreshToken() async {
|
||||
await _secureStorage.delete(key: _refreshTokenKey);
|
||||
}
|
||||
|
||||
Future<void> saveEmail(String email) async {
|
||||
await _secureStorage.write(key: _emailKey, value: email);
|
||||
}
|
||||
|
||||
Future<String?> getEmail() async {
|
||||
return _secureStorage.read(key: _emailKey);
|
||||
}
|
||||
|
||||
Future<void> clearEmail() async {
|
||||
await _secureStorage.delete(key: _emailKey);
|
||||
}
|
||||
|
||||
Future<void> setWelcomeRead(bool value) async {
|
||||
await _kvStore.setBool(_welcomeReadKey, value);
|
||||
}
|
||||
|
||||
Future<bool> hasReadWelcome() async {
|
||||
return _kvStore.getBool(_welcomeReadKey);
|
||||
}
|
||||
|
||||
Future<void> saveLocaleCode(String localeCode) async {
|
||||
await _kvStore.setString(_localeKey, localeCode);
|
||||
}
|
||||
|
||||
Future<String?> getLocaleCode() async {
|
||||
return _kvStore.getString(_localeKey);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user