dual check v0.1

This commit is contained in:
cancerai committed 2026-08-29 23:34:01 +08:00
1 parent 78bad1fa3d
commit c137299016
36 files changed
+3727 -81

No files matched your search

@@ -0,0 +1,33 @@
// 全局昵称设置
// 持久化到 SharedPreferences / localStorage,所有工具共享同一个昵称
import 'package:shared_preferences/shared_preferences.dart';
const _keyNickname = 'toolbox.nickname';
class NicknameService {
NicknameService._();
static final NicknameService instance = NicknameService._();
SharedPreferences? _prefs;
Future<void> _ensureInit() async {
_prefs ??= await SharedPreferences.getInstance();
}
/// 获取当前昵称,未设置时返回默认昵称
Future<String> get nickname async {
await _ensureInit();
final n = _prefs!.getString(_keyNickname);
if (n != null && n.trim().isNotEmpty) return n.trim();
return '用户';
}
/// 设置昵称(1-32 字符,过短返回 false)
Future<bool> setNickname(String value) async {
final trimmed = value.trim();
if (trimmed.isEmpty || trimmed.length > 32) return false;
await _ensureInit();
await _prefs!.setString(_keyNickname, trimmed);
return true;
}
}