Commit b0c1d059 authored by jinzhu's avatar jinzhu

update

parent e3dc62fe
import 'package:flutter/material.dart';
// The base class for the different types of items the list can contain.
abstract class ListItem {}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/base/list_item.dart';
class NotificationModel extends ListItem {
int id;
String title;
String content;
String icon;
int pushTime;
String url;
NotificationModel({this.id, this.title, this.content, this.icon, this.pushTime, this.url});
NotificationModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
title = json['title'];
content = json['content'];
icon = json['icon'];
pushTime = json['push_time'];
url = json['url'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['title'] = this.title;
data['content'] = this.content;
data['icon'] = this.icon;
data['push_time'] = this.pushTime;
data['url'] = this.url;
return data;
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/base/list_item.dart';
import 'package:gmalpha_flutter/netWork/DioUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class AttentionList extends StatefulWidget {
@override
_AttentionListState createState() => _AttentionListState();
}
class _AttentionListState extends State<AttentionList> {
@override
// List<ListItem> messageList = List<ListItem>();
// List<ListItem> dataArr = List<ListItem>();
// int pageIndex = 1;
// List<String> data1 = [];
// RefreshController _refreshController =
// RefreshController(initialRefresh: true);
// void _onRefresh() async{
// pageIndex = 1;
// List<ListItem> newdataArr = List<ListItem>();
// newdataArr = await _fetchListData();
// if (mounted) setState(() {
// dataArr = newdataArr;
// });
// _refreshController.refreshCompleted();
// }
// void _onLoading() async{
// pageIndex ++;
// List<ListItem> newData = List<ListItem>();
// newData = await _fetchMesssageList();
// if (mounted) setState(() {
// this.dataArr.addAll(newData);
// });
// _refreshController.loadComplete();
// }
// Future<List<ListItem>> _fetchMesssageList() async {
// List<Message> messageList = List<Message>();
// BaseResp<List> baseresp = await DioUtil().request<List>(Method.get, "api/v1/reply/my", queryParameters: {'page': pageIndex, 'count': 10});
// if (baseresp.code != 0) {
// return new Future.error(baseresp.msg);
// }
// if (baseresp.data != null) {
// messageList = baseresp.data.map((value) {
// return Message.fromJson(value);
// }).toList();
// }
// _refreshController.refreshCompleted();
// return messageList;
// }
// Future<List<ListItem>> _fetchListData() async {
// List<ListItem> dataArr = List<ListItem>();
// List<ListItem> messageData = await _fetchMesssageList();
// messageData.forEach((item) {
// dataArr.add(item);
// });
// return dataArr;
// }
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// appBar: new AppBar(
// title: new Text('消息'),
// ),
// body: new Container(
// child: SmartRefresher(
// child: _createListView(),
// controller: _refreshController,
// enablePullDown: true,
// enablePullUp: true,
// header: WaterDropHeader(),
// onRefresh: (){
// _onRefresh();
// },
// onLoading: () {
// _onLoading();
// }
// ),
// )
// );
// }
// Widget _createListView() {
// List<ListItem> dataArr = this.dataArr;
// return ListView.builder(
// shrinkWrap: true,
// key: new PageStorageKey('message-list'),
// itemCount: dataArr.length,
// itemBuilder: (context,index) {
// ListItem item = dataArr[index];
// if (item is Message) {
// return new MessageItem(onPressed: (){}, message:item);
// } else if (item is NotificationItem){
// return new MessageNotificationItem(onPressed: (){}, notification: item);
// } else {
// return Text('类型错误');
// }
// },
// );
// }
}
\ No newline at end of file
import 'package:flutter/material.dart';
class AttentionListItem extends StatefulWidget {
@override
_AttentionListItemState createState() => _AttentionListItemState();
}
class _AttentionListItemState extends State<AttentionListItem> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
import 'package:flutter/material.dart';
class LikeList extends StatefulWidget {
@override
_LikeListState createState() => _LikeListState();
}
class _LikeListState extends State<LikeList> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
class LkeListItem extends StatefulWidget {
@override
_LkeListItemState createState() => _LkeListItemState();
}
class _LkeListItemState extends State<LkeListItem> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/netWork/DioUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:gmalpha_flutter/base/list_item.dart';
import 'package:gmalpha_flutter/model/notification_model.dart';
class NotificationList extends StatefulWidget {
@override
_NotificationListState createState() => _NotificationListState();
}
class _NotificationListState extends State<NotificationList> {
@override
List<ListItem> dataArr = List<ListItem>();
int pageIndex = 1;
List<String> data1 = [];
RefreshController _refreshController =
RefreshController(initialRefresh: true);
void _onRefresh() async{
pageIndex = 1;
List<ListItem> newdataArr = List<ListItem>();
newdataArr = await _fetchListData();
if (mounted) setState(() {
dataArr = newdataArr;
});
_refreshController.refreshCompleted();
}
void _onLoading() async{
pageIndex ++;
List<ListItem> newData = List<ListItem>();
newData = await _fetchMesssageList();
if (mounted) setState(() {
this.dataArr.addAll(newData);
});
_refreshController.loadComplete();
}
Future<List<ListItem>> _fetchMesssageList() async {
List<NotificationModel> messageList = List<NotificationModel>();
BaseResp<List> baseresp = await DioUtil().request<List>(Method.get, "api/v1/message/notice", queryParameters: {'page': pageIndex, 'count': 10});
if (baseresp.code != 0) {
return new Future.error(baseresp.msg);
}
if (baseresp.data != null) {
messageList = baseresp.data.map((value) {
return NotificationModel.fromJson(value);
}).toList();
}
_refreshController.refreshCompleted();
return messageList;
}
Future<List<ListItem>> _fetchListData() async {
List<ListItem> dataArr = List<ListItem>();
List<ListItem> messageData = await _fetchMesssageList();
messageData.forEach((item) {
dataArr.add(item);
});
return dataArr;
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: new Text('消息'),
),
body: new Container(
child: SmartRefresher(
child: _createListView(),
controller: _refreshController,
enablePullDown: true,
enablePullUp: true,
header: WaterDropHeader(),
onRefresh: (){
_onRefresh();
},
onLoading: () {
_onLoading();
}
),
)
);
}
Widget _createListView() {
List<ListItem> dataArr = this.dataArr;
return ListView.builder(
shrinkWrap: true,
key: new PageStorageKey('message-list'),
itemCount: dataArr.length,
itemBuilder: (context,index) {
ListItem item = dataArr[index];
if (item is Message) {
return new MessageItem(onPressed: (){}, message:item);
} else if (item is NotificationItem){
return new MessageNotificationItem(onPressed: (){}, notification: item);
} else {
return Text('类型错误');
}
},
);
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
class NotificationListItem extends StatefulWidget {
@override
_NotificationListItemState createState() => _NotificationListItemState();
}
class _NotificationListItemState extends State<NotificationListItem> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment