feat: 切换邮箱认证并重构前后端启动与门禁

This commit is contained in:
qzl
2026-04-02 18:39:35 +08:00
parent 92cdfd9fca
commit 31594558eb
116 changed files with 5608 additions and 628 deletions
+69
View File
@@ -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);
}
}