| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import 'package:injectable/injectable.dart';
- import 'package:get/get.dart';
- import 'package:keyboard/data/api/response/character_add_response.dart';
- import 'package:keyboard/data/api/response/character_unlock_response.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_custom_generate_request.dart';
- import '../api/request/character_page_request.dart';
- import '../api/request/character_unlock_request.dart';
- import '../api/response/character_custom_generate_response.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<CharacterAddResponse> characterAdd({
- required String characterId,
- required String keyboardId,
- }) {
- return atmobApi
- .addCharacter(
- CharacterAddRequest(characterId: characterId, keyboardId: keyboardId),
- )
- .then(HttpHandler.handle(true));
- }
- // 解锁人设
- Future<CharacterUnlockResponse> characterUnlock({
- required String characterId,
- required String keyboardId,
- }) {
- return atmobApi
- .unlockCharacter(
- CharacterUnlockRequest(
- characterId: characterId,
- keyboardId: keyboardId,
- ),
- )
- .then(HttpHandler.handle(false));
- }
- ///生成自定义人设
- Future<CharacterCustomGenerateResponse> generateCharacterCustom({
- String?name,
- String?birthday,
- String?imageUrl,
- int?gender,
- List<String>?hobbies,
- List<String>?characters,
- }
- ) {
- return atmobApi
- .generateCharacterCustom(CharacterCustomGenerateRequest(name: name,birthday: birthday,imageUrl: imageUrl,gender: gender,hobbies: hobbies, characters: characters))
- .then(HttpHandler.handle(true));
- }
- static CharactersRepository getInstance() =>
- getIt.get<CharactersRepository>();
- }
|