111
This commit is contained in:
@@ -6,7 +6,7 @@ import '../core/storage/local_storage.dart';
|
||||
import '../data/models/user.dart';
|
||||
import '../data/services/user_service.dart';
|
||||
|
||||
/// 认证状态管理
|
||||
/// 認證狀態管理
|
||||
class AuthProvider extends ChangeNotifier {
|
||||
final UserService _userService;
|
||||
|
||||
@@ -25,7 +25,7 @@ class AuthProvider extends ChangeNotifier {
|
||||
bool get isLoading => _isLoading;
|
||||
String? get token => _token;
|
||||
|
||||
/// 初始化认证状态
|
||||
/// 初始化認證狀態
|
||||
Future<void> _initAuth() async {
|
||||
_token = LocalStorage.getToken();
|
||||
_isLoggedIn = _token?.isNotEmpty == true;
|
||||
@@ -41,12 +41,12 @@ class AuthProvider extends ChangeNotifier {
|
||||
return userJson != null ? User.fromJson(userJson) : null;
|
||||
}
|
||||
|
||||
/// 登录
|
||||
/// 登錄
|
||||
Future<ApiResponse<User>> login(String username, String password) {
|
||||
return _authenticate(() => _userService.login(username, password));
|
||||
}
|
||||
|
||||
/// 注册(含身份证图片和可选推广码)
|
||||
/// 註冊(含身份證圖片和可選推廣碼)
|
||||
Future<ApiResponse<User>> register(
|
||||
String username,
|
||||
String password, {
|
||||
@@ -63,7 +63,7 @@ class AuthProvider extends ChangeNotifier {
|
||||
));
|
||||
}
|
||||
|
||||
/// 统一认证处理
|
||||
/// 統一認證處理
|
||||
Future<ApiResponse<User>> _authenticate(
|
||||
Future<ApiResponse<Map<String, dynamic>>> Function() action,
|
||||
) async {
|
||||
@@ -73,18 +73,18 @@ class AuthProvider extends ChangeNotifier {
|
||||
final response = await action();
|
||||
|
||||
if (!response.success || response.data == null) {
|
||||
return ApiResponse.fail(response.message ?? '操作失败');
|
||||
return ApiResponse.fail(response.message ?? '操作失敗');
|
||||
}
|
||||
|
||||
return _handleAuthSuccess(response.data!, response.message);
|
||||
} catch (e) {
|
||||
return ApiResponse.fail('操作失败: $e');
|
||||
return ApiResponse.fail('操作失敗: $e');
|
||||
} finally {
|
||||
_setLoading(false);
|
||||
}
|
||||
}
|
||||
|
||||
/// 处理认证成功
|
||||
/// 處理認證成功
|
||||
ApiResponse<User> _handleAuthSuccess(
|
||||
Map<String, dynamic> data,
|
||||
String? message,
|
||||
@@ -107,17 +107,17 @@ class AuthProvider extends ChangeNotifier {
|
||||
|
||||
return _user != null
|
||||
? ApiResponse.success(_user!, message)
|
||||
: ApiResponse.fail('用户信息获取失败');
|
||||
: ApiResponse.fail('用戶信息獲取失敗');
|
||||
}
|
||||
|
||||
/// 退出登录
|
||||
/// 退出登錄
|
||||
Future<void> logout() async {
|
||||
_setLoading(true);
|
||||
|
||||
try {
|
||||
await _userService.logout();
|
||||
} catch (_) {
|
||||
// 忽略退出登录的接口错误
|
||||
// 忽略退出登錄的接口錯誤
|
||||
}
|
||||
|
||||
_clearAuthState();
|
||||
@@ -131,13 +131,13 @@ class AuthProvider extends ChangeNotifier {
|
||||
_isLoggedIn = false;
|
||||
}
|
||||
|
||||
/// 强制登出(token 过期时由 DioClient 回调触发)
|
||||
/// 強制登出(token 過期時由 DioClient 回調觸發)
|
||||
void forceLogout() {
|
||||
_clearAuthState();
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
/// 刷新用户信息
|
||||
/// 刷新用戶信息
|
||||
Future<void> refreshUserInfo() async {
|
||||
if (!_isLoggedIn) return;
|
||||
|
||||
@@ -149,11 +149,11 @@ class AuthProvider extends ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
} catch (_) {
|
||||
// 忽略错误
|
||||
// 忽略錯誤
|
||||
}
|
||||
}
|
||||
|
||||
/// 提交KYC实名认证(真实图片上传)
|
||||
/// 提交KYC實名認證(真實圖片上傳)
|
||||
Future<ApiResponse<void>> submitKyc(
|
||||
Uint8List frontBytes, Uint8List backBytes) async {
|
||||
try {
|
||||
@@ -164,7 +164,7 @@ class AuthProvider extends ChangeNotifier {
|
||||
}
|
||||
return response;
|
||||
} catch (e) {
|
||||
return ApiResponse.fail('KYC提交失败: $e');
|
||||
return ApiResponse.fail('KYC提交失敗: $e');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user