| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import 'package:injectable/injectable.dart';
- import 'package:get/get.dart';
- import 'package:keyboard/data/repository/keyboard_repository.dart';
- import '../../base/app_base_request.dart';
- import '../../di/get_it.dart';
- import '../../utils/atmob_log.dart';
- import '../../utils/http_handler.dart';
- import '../api/atmob_api.dart';
- import '../api/request/character_add_request.dart';
- import '../api/request/character_page_request.dart';
- import '../api/request/character_unlock_request.dart';
- import '../api/response/character_group_response.dart';
- import '../api/response/character_page_response.dart';
- import '../bean/character_group_info.dart';
- @lazySingleton
- class CharactersRepository {
- final AtmobApi atmobApi;
- final String tag = "CharactersRepository";
- // 人设主题
- final RxList<CharacterGroupInfo> _characterGroupList =
- RxList<CharacterGroupInfo>();
- RxList<CharacterGroupInfo> get characterGroupList => _characterGroupList;
- CharactersRepository(this.atmobApi) {
- AtmobLog.d(tag, '$tag....init');
- getCharactersGroup();
- }
- // 获取主题
- Future<CharacterGroupResponse> getCharactersGroup() async {
- return atmobApi
- .getCharactersGroup(AppBaseRequest())
- .then(HttpHandler.handle(true))
- .then((response) {
- _characterGroupList.value = response.characterGroups;
- return response;
- });
- }
- // 获取人设列表
- Future<CharacterPageResponse> getCharactersPage({
- required String groupId,
- required String keyboardId,
- int page = 1,
- int pageSize = 5,
- }) {
- return atmobApi
- .getCharactersPage(
- CharacterPageRequest(
- keyboardId: keyboardId,
- groupId: groupId,
- page: page,
- pageSize: pageSize,
- ),
- )
- .then(HttpHandler.handle(true));
- }
- // 添加人设
- Future<void> characterAdd({
- required String characterId,
- required String keyboardId,
- }) {
- return atmobApi
- .addCharacter(
- CharacterAddRequest(characterId: characterId, keyboardId: keyboardId),
- )
- .then(HttpHandler.handle(true));
- }
- // 解锁人设
- Future<void> characterUnlock({
- required String characterId,
- required String keyboardId,
- }) {
- return atmobApi
- .unlockCharacter(
- CharacterUnlockRequest(
- characterId: characterId,
- keyboardId: keyboardId,
- ),
- )
- .then(HttpHandler.handle(false));
- }
- static CharactersRepository getInstance() =>
- getIt.get<CharactersRepository>();
- }
|