| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import 'package:flutter/material.dart';
- import '../../data/models/user.dart';
- import '../../data/repositories/user_repository.dart';
-
- class UserProvider with ChangeNotifier {
- final UserRepository userRepository;
-
- User? _user;
- bool _isLoading = false;
- String? _error;
-
- UserProvider({required this.userRepository});
-
- User? get user => _user;
- bool get isLoading => _isLoading;
- String? get error => _error;
-
- Future<void> loadUserProfile() async {
- _isLoading = true;
- _error = null;
- notifyListeners();
-
- try {
- final response = await userRepository.getUserProfile();
- if (response.success && response.data != null) {
- _user = response.data;
- } else {
- _error = response.message;
- }
- } catch (e) {
- _error = '加载失败: $e';
- } finally {
- _isLoading = false;
- notifyListeners();
- }
- }
-
- Future<void> updateUserProfile(User user) async {
- _isLoading = true;
- _error = null;
- notifyListeners();
-
- try {
- final response = await userRepository.updateUserProfile(user);
- if (response.success && response.data != null) {
- _user = response.data;
- } else {
- _error = response.message;
- }
- } catch (e) {
- _error = '更新失败: $e';
- } finally {
- _isLoading = false;
- notifyListeners();
- }
- }
-
- void clearError() {
- _error = null;
- notifyListeners();
- }
- }
|