我正在寻找将用户对象存储在蜂巢箱中。POST 成功后,我返回一个 User 对象,Hive 不会将其添加到框中,因为它不是我编写的 HiveType 模型 (HiveUser)。有没有办法解决这个问题,或者我可以将我的用户对象转换为我专门为将用户添加到框中而编写的 HiveUser 对象?这里有一些片段可以给出一个想法。
我在哪里调用 POST 函数并取回用户对象
onPressed: () async {
User user;
try {
user = await loginUser(passwordController.text, nameController.text);
} on Exception {
print(Text("Exception has occurred during login"));
}
// print(nameController.text);
if(user.success) {
addUser(user);
将用户添加到框中的函数。我需要这个来使用 HiveUser 对象来成功添加它。但是用户作为来自 POST 响应正文的普通用户对象进来。
void addUser(User user) {
// I need a HiveUser user here.
final userBox = Hive.box('user');
userBox.add(user);
}
最初使用的用户模型。
class User {
bool success;
String userID;
String firstName;
String lastName;
User({this.success, this.userID, this.firstName, this.lastName});
factory User.fromJson(Map<String, dynamic> json) {
return User(
success: json['success'],
userID: json['UserID'],
firstName: json['FirstName'],
lastName: json['LastName'],
);
}
}