keyboard_repository.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:get/get.dart';
  2. import 'package:injectable/injectable.dart';
  3. import 'package:keyboard/data/api/request/keyboard_list_request.dart';
  4. import '../../di/get_it.dart';
  5. import '../../utils/http_handler.dart';
  6. import '../api/atmob_api.dart';
  7. import '../api/response/keyboard_list_response.dart';
  8. import '../bean/keyboard_info.dart';
  9. @lazySingleton
  10. class KeyboardRepository {
  11. final tag = "KeyboardRepository";
  12. final AtmobApi atmobApi;
  13. final RxList<KeyboardInfo> _keyboardInfoList = RxList();
  14. RxList<KeyboardInfo> get keyboardInfoList => _keyboardInfoList;
  15. KeyboardRepository(this.atmobApi) {
  16. print('$tag....init');
  17. refreshKeyboardList();
  18. }
  19. Future refreshKeyboardList() async {
  20. return getKeyboardList().then((response) {
  21. _keyboardInfoList.value = response.keyboardInfos;
  22. });
  23. }
  24. Future<KeyboardListResponse> getKeyboardList({String? type}) {
  25. return atmobApi
  26. .getKeyboardList(KeyboardListRequest(type: type))
  27. .then(HttpHandler.handle(true));
  28. }
  29. static KeyboardRepository getInstance() => getIt.get<KeyboardRepository>();
  30. }