|
|
@@ -2,6 +2,11 @@ import 'package:flutter/material.dart';
|
|
|
import '../styles/colors.dart';
|
|
|
import 'dart:ui';
|
|
|
import '../styles/totast.dart';
|
|
|
+import 'package:flutter_redux/flutter_redux.dart';
|
|
|
+import '../redux/AppState.dart';
|
|
|
+import '../model/SystemNotice.dart';
|
|
|
+import '../net/HttpManager.dart';
|
|
|
+import '../net/Result.dart';
|
|
|
|
|
|
class TipList extends StatefulWidget {
|
|
|
@override
|
|
|
@@ -9,7 +14,56 @@ class TipList extends StatefulWidget {
|
|
|
}
|
|
|
|
|
|
class TipListState extends State<TipList> {
|
|
|
-
|
|
|
+ int currentPage = 1;
|
|
|
+ List<SystemNotice> tipList = [];
|
|
|
+ bool isMore = false;
|
|
|
+ ScrollController _mControll;
|
|
|
+
|
|
|
+ void getListPage() async {
|
|
|
+ isMore = false;
|
|
|
+ Toast.show(context, '加载中', -1, 'loading');
|
|
|
+ Result res = await HttpManager.get("systemNotice/page", data: {
|
|
|
+ "userId": StoreProvider.of<AppState>(context).state.userInfo.id,
|
|
|
+ "currentPage": currentPage,
|
|
|
+ "pageNumber": 20
|
|
|
+ });
|
|
|
+ Toast.hide();
|
|
|
+ List<SystemNotice> list = tipList;
|
|
|
+ if (currentPage == 1) {
|
|
|
+ list = [];
|
|
|
+ }
|
|
|
+ if (res.success) {
|
|
|
+ for (var item in res.data['pp']) {
|
|
|
+ print(item);
|
|
|
+ SystemNotice tip = SystemNotice.fromJson(item);
|
|
|
+ list.add(tip);
|
|
|
+ }
|
|
|
+ if (res.data['page']['currentPage'] < res.data['page']['totalPage']) {
|
|
|
+ isMore = true;
|
|
|
+ }
|
|
|
+ } else {}
|
|
|
+ setState(() {
|
|
|
+ tipList = list;
|
|
|
+ });
|
|
|
+ print(tipList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ void initState() {
|
|
|
+ // TODO: implement initState
|
|
|
+ super.initState();
|
|
|
+ _mControll = new ScrollController();
|
|
|
+
|
|
|
+ Future.delayed(Duration(milliseconds: 100), () => getListPage());
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ void dispose() {
|
|
|
+ // TODO: implement dispose
|
|
|
+ super.dispose();
|
|
|
+ _mControll.dispose();
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
return new WillPopScope(
|
|
|
@@ -25,10 +79,14 @@ class TipListState extends State<TipList> {
|
|
|
backgroundColor: BG_COLOR,
|
|
|
onRefresh: () async {
|
|
|
await new Future.delayed(const Duration(seconds: 1));
|
|
|
+ int currentPage = 1;
|
|
|
+ getListPage();
|
|
|
},
|
|
|
child: Container(
|
|
|
color: BG_COLOR,
|
|
|
child: ListView.builder(
|
|
|
+ physics: AlwaysScrollableScrollPhysics(),
|
|
|
+ controller: _mControll,
|
|
|
itemCount: 3,
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
return TipItem();
|
|
|
@@ -43,10 +101,9 @@ class TipListState extends State<TipList> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-class TipItem extends StatelessWidget{
|
|
|
- @override
|
|
|
+class TipItem extends StatelessWidget {
|
|
|
+ @override
|
|
|
Widget build(BuildContext context) {
|
|
|
-
|
|
|
+ return Container();
|
|
|
}
|
|
|
}
|
|
|
-
|