This commit is contained in:
sion
2026-04-07 01:05:05 +08:00
parent edad10ff06
commit 5ca1274607
83 changed files with 1561 additions and 1241 deletions

View File

@@ -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');
}
}