import 'package:get/get.dart'; import 'package:plugin_platform/dio_export.dart'; import 'package:plugin_platform/http/http_provider.dart'; import 'package:plugin_platform/http/http_result.dart'; import '../constants/api_constants.dart'; import '../entity/response/user_login_entity.dart'; import '../entity/response/user_profile.dart'; /// 用户相关 class AuthRepository extends GetxService { HttpProvider httpProvider; AuthRepository({required this.httpProvider}); /// 用户登录 Future> userLogin( String? code, String? password, { String? registerId, CancelToken? cancelToken, }) async { //Post请求 Map params = {}; params['code'] = code ?? ""; params['password'] = password ?? ""; if (registerId != null && registerId.isNotEmpty) { params['register_id'] = registerId; } final result = await httpProvider.requestNetResult( method: HttpMethod.POST, ApiConstants.apiUserLogin, params: params, networkDebounce: true, isShowLoadingDialog: true, cancelToken: cancelToken, ); //根据返回的结果,封装原始数据为Bean/Entity对象 if (result.isSuccess) { final json = result.getDataJson(); var data = UserLoginEntity.fromJson(json!); //重新赋值data return result.convert(data: data); } return result.convert(); } /// 退出登录 Future userLogout( String? token, { CancelToken? cancelToken, }) async { Map params = {}; params['token'] = token ?? ""; //POST请求 final result = await httpProvider.requestNetResult( ApiConstants.apiUserLogout, method: HttpMethod.POST, params: params, networkDebounce: true, isShowLoadingDialog: true, cancelToken: cancelToken, ); //根据返回的结果,封装原始数据为Bean/Entity对象 if (result.isSuccess) { //重新赋值data或list return result.convert(); } return result.convert(); } /// 获取用户详情数据 Future> fetchUserProfile() async { //POST请求 final result = await httpProvider.requestNetResult( ApiConstants.apiUserProfile, ); //根据返回的结果,封装原始数据为Bean/Entity对象 if (result.isSuccess) { //重新赋值data或list final json = result.getDataJson(); var data = UserProfile.fromJson(json!); //重新赋值data或list return result.convert(data: data); } return result.convert(); } }