12345678910111213141516171819202122232425262728293031323334353637 |
- import 'package:flutter/cupertino.dart';
- import 'package:liftmanager/internal/news/page/news_home_page.dart';
- import 'package:liftmanager/mvp/base_page_presenter.dart';
- import 'package:liftmanager/net/api_service.dart';
- import 'package:liftmanager/widgets/state_layout.dart';
- class NewsHomePresenter extends BasePagePresenter<NewsPageState> {
- Future newsList(BuildContext context,pageIndex,haveTops,String text,city) async {
- await ApiService(context: context).newsList(pageIndex,20,haveTops,text,city,onSuccess: (data) {
- view.closeProgress();
- if (data != null) {
- view.provider.setHasMore(data.topNews.length == 20);
- if(pageIndex == 1){
- view.provider.list.clear();
- if (data.topNews.isEmpty) {
- view.provider.setStateType(StateType.empty);
- } else {
- view.provider.addAll(data.topNews);
- }
- }else{
- view.provider.addAll(data.topNews);
- }
- } else {
- /// 加载失败
- view.provider.setHasMore(false);
- view.provider.setStateType(StateType.empty);
- }
- }, onError: (code, msg) {
- view.closeProgress();
- view.provider.setHasMore(false);
- view.provider.setStateType(StateType.network);
- });
- }
- }
|