characters_repository.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:injectable/injectable.dart';
  2. import 'package:get/get.dart';
  3. import '../../base/app_base_request.dart';
  4. import '../../utils/atmob_log.dart';
  5. import '../../utils/http_handler.dart';
  6. import '../api/atmob_api.dart';
  7. import '../api/request/character_page_request.dart';
  8. import '../api/response/character_group_response.dart';
  9. import '../api/response/character_page_response.dart';
  10. import '../bean/character_group_info.dart';
  11. @lazySingleton
  12. class CharactersRepository {
  13. final AtmobApi atmobApi;
  14. final String tag = "CharactersRepository";
  15. final RxList<CharacterGroupInfo> _characterGroupList =
  16. RxList<CharacterGroupInfo>();
  17. RxList<CharacterGroupInfo> get characterGroupList => _characterGroupList;
  18. CharactersRepository(this.atmobApi) {
  19. AtmobLog.d(tag, '$tag....init');
  20. }
  21. // 获取主题
  22. Future<CharacterGroupResponse> getCharactersGroup() {
  23. return atmobApi
  24. .getCharactersGroup(AppBaseRequest())
  25. .then(HttpHandler.handle(true))
  26. .then((response) {
  27. _characterGroupList.value = response.characterGroups;
  28. return response;
  29. });
  30. }
  31. // 获取人设列表
  32. Future<CharacterPageResponse> getCharactersPage(
  33. String groupId,
  34. int page,
  35. String keyboardId,
  36. int pageSize,
  37. ) {
  38. return atmobApi
  39. .getCharactersPage(
  40. CharacterPageRequest(
  41. keyboardId: keyboardId,
  42. groupId: groupId,
  43. page: page,
  44. pageSize: pageSize,
  45. ),
  46. )
  47. .then(HttpHandler.handle(true));
  48. }
  49. }