迁移 Flutter 端与训练脚本,模型/训练产物移出 git(遵循纯代码约定)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
/// 登录会话持久化:token + 手机号存 secure storage。
|
||||
/// 启动时读取判断是否已登录;登出/401 时清除回登录页。
|
||||
class SessionStore {
|
||||
static const _storage = FlutterSecureStorage();
|
||||
static const _tokenKey = 'auth_token';
|
||||
static const _phoneKey = 'auth_phone';
|
||||
|
||||
static String? _cachedToken;
|
||||
static String? _cachedPhone;
|
||||
|
||||
Future<String?> readToken() async {
|
||||
if (_cachedToken != null) return _cachedToken;
|
||||
return _cachedToken = await _storage.read(key: _tokenKey);
|
||||
}
|
||||
|
||||
Future<String?> readPhone() async {
|
||||
if (_cachedPhone != null) return _cachedPhone;
|
||||
return _cachedPhone = await _storage.read(key: _phoneKey);
|
||||
}
|
||||
|
||||
Future<void> save(String phone, String token) async {
|
||||
_cachedPhone = phone;
|
||||
_cachedToken = token;
|
||||
await _storage.write(key: _phoneKey, value: phone);
|
||||
await _storage.write(key: _tokenKey, value: token);
|
||||
}
|
||||
|
||||
Future<void> clear() async {
|
||||
_cachedPhone = null;
|
||||
_cachedToken = null;
|
||||
await _storage.delete(key: _phoneKey);
|
||||
await _storage.delete(key: _tokenKey);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user