#first commit

This commit is contained in:
cc
2026-01-11 19:42:22 +08:00
commit f70d6cace6
167 changed files with 6699 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
import 'dart:convert';
import 'package:maibu_satabot_v2/core/domain/entities/user_entity.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../../../features/auth/data/models/user_model.dart';
import '../user_storage.dart';
class UserStorageImpl implements UserStorage {
final SharedPreferences _prefs;
static const _userKey = 'auth_user';
UserStorageImpl(this._prefs);
@override
Future<void> saveUser(UserEntity user) async {
// 1. 将对象转为 Map -> 2. 将 Map 转为 JSON 字符串
final model = UserModel.fromEntity(user);
await _prefs.setString(_userKey, json.encode(model.toJson()));
}
@override
Future<UserEntity?> getUser() async {
final jsonString = _prefs.getString(_userKey);
if (jsonString == null) return null;
// 将 JSON 转回 Model,再转成 Entity 返回给业务层
final model = UserModel.fromJson(json.decode(jsonString));
return model.toEntity();
}
@override
Future<void> deleteUser() async {
await _prefs.remove(_userKey);
}
@override
Future<bool> hasUser() async {
return _prefs.containsKey(_userKey);
}
}