| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import 'package:electronic_assistant/base/base_controller.dart';
- import 'package:electronic_assistant/data/repositories/account_repository.dart';
- import 'package:electronic_assistant/data/repositories/talk_repository.dart';
- import 'package:electronic_assistant/utils/error_handler.dart';
- import 'package:flutter/widgets.dart';
- import 'package:get/get.dart';
- import 'package:get/get_rx/src/rx_types/rx_types.dart';
- import 'package:pull_to_refresh/pull_to_refresh.dart';
- import '../../data/api/response/example_info_response.dart';
- import '../../data/bean/talks.dart';
- import '../../data/repositories/config_repository.dart';
- import '../../resource/string.gen.dart';
- import '../../utils/toast_util.dart';
- class FilesController extends BaseController {
- final refreshController = RefreshController(initialRefresh: false);
- int page = 1;
- int pageSize = 10;
- @override
- void onReady() {
- super.onReady();
- onRefreshData();
- }
- RxList<TalkBean> get talkList => talkRepository.talkList;
- void requestTalkData({int page = 1}) async {
- if (accountRepository.isLogin.value) {
- talkRepository.requestTalkPagePaginate(page, pageSize).then((response) {
- debugPrint("requestTalkData-response-$response");
- if (talkRepository.talkList.length >= response.count) {
- debugPrint("requestTalkData-没有更多数据了");
- refreshController.loadNoData();
- } else {
- refreshController.loadComplete();
- }
- refreshController.refreshCompleted();
- }).catchError((error) {
- debugPrint("requestTalkData-catchError-$error");
- refreshController.loadFailed();
- refreshController.refreshFailed();
- ErrorHandler.toastError(error);
- });
- } else {
- ExampleInfoResponse exampleInfo = await configRepository.getExampleInfo();
- talkRepository.setTalkList(
- exampleInfo.talkInfoList != null ? exampleInfo.talkInfoList! : []);
- refreshController.refreshCompleted();
- refreshController.loadNoData();
- }
- }
- void onRefreshData() {
- page = 1;
- requestTalkData(page: page);
- }
- void onLoadMoreTalkData() {
- requestTalkData(page: ++page);
- }
- void requestName(String? newName, TalkBean bean) {
- talkRepository.talkRename(bean.id, newName).then((data) {
- bean.title.value = newName;
- ToastUtil.showToast(StringName.talkRenameSuccess.tr);
- }).catchError((error) {
- ErrorHandler.toastError(error, message: StringName.talkRenameFail.tr);
- });
- }
- void requestDelete(TalkBean item) {
- talkRepository.talkDelete(item.id).then((data) {
- onRefreshData();
- ToastUtil.showToast(StringName.talkDeleteSuccess.tr);
- }).catchError((error) {
- ErrorHandler.toastError(error, message: StringName.talkDeleteFail.tr);
- });
- }
- }
|