| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import 'package:get/get.dart';
- import 'package:injectable/injectable.dart';
- import 'package:keyboard/data/api/request/keyboard_character_update_request.dart';
- import 'package:keyboard/data/api/request/keyboard_list_request.dart';
- import '../../di/get_it.dart';
- import '../../utils/http_handler.dart';
- import '../api/atmob_api.dart';
- import '../api/request/keyboard_character_list_request.dart';
- import '../api/request/keyboard_update_request.dart';
- import '../api/response/keyboard_character_list_response.dart';
- import '../api/response/keyboard_list_response.dart';
- import '../bean/keyboard_info.dart';
- @lazySingleton
- class KeyboardRepository {
- final tag = "KeyboardRepository";
- final AtmobApi atmobApi;
- final RxList<KeyboardInfo> _keyboardInfoList = RxList();
- RxList<KeyboardInfo> get keyboardInfoList => _keyboardInfoList;
- KeyboardRepository(this.atmobApi) {
- print('$tag....init');
- refreshKeyboardList();
- }
- Future refreshKeyboardList() async {
- return getKeyboardList().then((response) {
- _keyboardInfoList.value = response.keyboardInfos;
- });
- }
- // 获取键盘列表
- Future<KeyboardListResponse> getKeyboardList({String? type}) {
- return atmobApi
- .getKeyboardList(KeyboardListRequest(type: type))
- .then(HttpHandler.handle(true));
- }
- // 获取键盘人设列表
- Future<KeyboardCharacterListResponse> getKeyboardCharacterList({
- required String keyboardId,
- }) {
- return atmobApi
- .getKeyboardCharacterList(
- KeyboardCharacterListRequest(keyboardId: keyboardId),
- )
- .then(HttpHandler.handle(true));
- }
- //更新键盘人设
- Future<void> keyboardCharacterUpdate({
- required List<String> characterIds,
- required String keyboardId,
- }) {
- return atmobApi
- .keyboardCharacterUpdate(
- KeyboardCharacterUpdateRequest(
- keyboardId: keyboardId,
- characterIds: characterIds,
- ),
- )
- .then(HttpHandler.handle(true));
- }
- // 更新键盘信息
- Future<void> updateKeyboardInfo({
- required String keyboardId,
- String? name,
- String? imageUrl,
- String? birthday,
- int? intimacy,
- int? gender,
- }) {
- return atmobApi
- .keyboardUpdate(
- KeyboardUpdateRequest(
- keyboardId: keyboardId,
- name: name,
- imageUrl: imageUrl,
- birthday: birthday,
- intimacy: intimacy,
- gender: gender,
- ),
- )
- .then(HttpHandler.handle(true));
- }
- static KeyboardRepository getInstance() => getIt.get<KeyboardRepository>();
- }
|