feat:增加用户信息编辑功能
This commit is contained in:
@@ -7,8 +7,9 @@ import 'package:food_hub_app/models/session.dart';
|
||||
class UserProvider with ChangeNotifier {
|
||||
late User currentUser = User.getEmpty();
|
||||
bool isLoading = false;
|
||||
String error = '';
|
||||
String? error = '';
|
||||
List<Moment> momentList = [];
|
||||
late User userFormItem;
|
||||
|
||||
Future<void> refreshUser(int id) async {
|
||||
if (isLoading) return;
|
||||
@@ -48,4 +49,56 @@ class UserProvider with ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
void initUserForm(User user) {
|
||||
userFormItem = user;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void updateUserFormItem({
|
||||
String? username,
|
||||
int? gender,
|
||||
String? phoneNumber,
|
||||
String? email,
|
||||
DateTime? birthDate,
|
||||
String? avatar,
|
||||
List<String>? area,
|
||||
String? address,
|
||||
String? job,
|
||||
List<String>? tags,
|
||||
String? description
|
||||
}) {
|
||||
if (username != null) userFormItem.username = username;
|
||||
if (gender != null) userFormItem.gender = gender;
|
||||
if (phoneNumber != null) userFormItem.phoneNumber = phoneNumber;
|
||||
if (email != null) userFormItem.email = email;
|
||||
if (birthDate != null) userFormItem.birthDate = birthDate;
|
||||
if (avatar != null) userFormItem.avatar = avatar;
|
||||
if (area != null) userFormItem.area = area;
|
||||
if (address != null) userFormItem.address = address;
|
||||
if (job != null) userFormItem.job = job;
|
||||
if (tags != null) userFormItem.tags = tags;
|
||||
if (description != null) userFormItem.description = description;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<bool> handleUser() async {
|
||||
if (isLoading) return true;
|
||||
|
||||
try {
|
||||
isLoading = true;
|
||||
error = null;
|
||||
notifyListeners();
|
||||
|
||||
await updateUserApi(userFormItem.id!, userFormItem);
|
||||
return true;
|
||||
} catch (e) {
|
||||
error = '处理数据失败: $e';
|
||||
debugPrint('处理数据失败: $e');
|
||||
return false;
|
||||
} finally {
|
||||
isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user