6 changed files with 104 additions and 24 deletions
@ -0,0 +1,26 @@ |
|||||||
|
import 'package:dio/dio.dart'; |
||||||
|
import 'package:problem_check_system/data/models/auth_model.dart'; |
||||||
|
import 'package:problem_check_system/data/providers/dio_provider.dart'; |
||||||
|
|
||||||
|
class MyRepository { |
||||||
|
final DioProvider dioProvider; |
||||||
|
|
||||||
|
MyRepository({required this.dioProvider}); |
||||||
|
|
||||||
|
/// 从 API 获取用户个人资料 |
||||||
|
Future<Profile> getUserProfile() async { |
||||||
|
try { |
||||||
|
final response = await dioProvider.get('/api/Accounts/Profile'); |
||||||
|
|
||||||
|
// 将 JSON 数据反序列化为 Profile 模型 |
||||||
|
return Profile.fromJson(response.data); |
||||||
|
} on DioException catch (e) { |
||||||
|
// 专门处理网络错误,例如无网络连接、超时等 |
||||||
|
// DioException 包含了更详细的错误信息 |
||||||
|
throw Exception('Network error: ${e.message}'); |
||||||
|
} catch (e) { |
||||||
|
// 捕获所有其他未知错误 |
||||||
|
rethrow; // 重新抛出异常,让调用者来处理 |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,8 @@ |
|||||||
import 'package:get/get.dart'; |
import 'package:get/get.dart'; |
||||||
|
import 'package:problem_check_system/data/repositories/my_repository.dart'; |
||||||
import 'package:problem_check_system/modules/my/controllers/my_controller.dart'; |
import 'package:problem_check_system/modules/my/controllers/my_controller.dart'; |
||||||
|
|
||||||
class MyBinding implements Bindings { |
class MyBinding implements Bindings { |
||||||
@override |
@override |
||||||
void dependencies() { |
void dependencies() {} |
||||||
Get.lazyPut<MyController>(() => MyController()); |
|
||||||
} |
|
||||||
} |
} |
||||||
|
Loading…
Reference in new issue