import 'package:domain/entity/user_me_entity.dart'; import 'package:plugin_platform/platform_export.dart'; import 'package:plugin_platform/http/dio_engine.dart'; import 'package:plugin_platform/http/http_result.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:shared/utils/util.dart'; import '../constants/api_constants.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:plugin_basic/provider/http_provider/http_provider.dart'; part 'profile_repository.g.dart'; @Riverpod(keepAlive: true) ProfileRepository profileRepository(Ref ref) { final dioEngine = ref.watch(dioEngineProvider); return ProfileRepository(dioEngine: dioEngine); } /* * 用户详情的数据仓库 */ class ProfileRepository { DioEngine dioEngine; ProfileRepository({required this.dioEngine}); /// 获取用户详情 Future> fetchUserInfo({ CancelToken? cancelToken, }) async { final result = await dioEngine.requestNetResult( ApiConstants.apiProfileInfo, method: HttpMethod.GET, cancelToken: cancelToken, ); if (result.isSuccess) { final json = result.getDataJson(); var data = UserMeEntity.fromJson(json!); return result.convert(data: data); } return result.convert(); } }