Commit a603b61b609caaefd0b9eb6a31eaecab29b3b7bd

Authored by 蓋亞光
1 parent f457628a

消息中心

... ... @@ -11,14 +11,14 @@ if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = "163"
def flutterVersionCode = "171"
if (flutterVersionCode == null) {
flutterVersionCode = '163'
flutterVersionCode = '171'
}
def flutterVersionName = "1.6.3"
def flutterVersionName = "1.7.1"
if (flutterVersionName == null) {
flutterVersionName = '1.6.3'
flutterVersionName = '1.7.1'
}
apply plugin: 'com.android.application'
... ...
... ... @@ -34,7 +34,7 @@ Future<void> main() async {
Routes.configureRoutes(router);
App.router = router;
App.setupLocator();
LogUtil.init(isDebug: false, tag: 'ONE_KEY');
LogUtil.init(isDebug: true, tag: 'ONE_KEY');
Provider.debugCheckInvalidValueType = null;
await initializeDateFormatting();
Utils.changeStatusColor();
... ...
... ... @@ -28,9 +28,11 @@ class Message {
switch(sex.toString()){
case "1"://先生
case "男":
case "先生":
return rname+"先生";
case "2"://女士
case "女":
case "女士":
return rname+"女士";
case "3"://公司
case "公司":
... ... @@ -39,8 +41,13 @@ class Message {
}
String get ddateStr{
DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(ddate_long.toString())*1000);
String ymd=dateTime.year.toString()+"/"+Utils.addZeroNumber(dateTime.month)+"/"+Utils.addZeroNumber(dateTime.day);
String ymd="";
if(ddate_long!=null){
DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(ddate_long.toString())*1000);
ymd=dateTime.year.toString()+"/"+Utils.addZeroNumber(dateTime.month)+"/"+Utils.addZeroNumber(dateTime.day);
}else{
ymd=ddate.substring(0,10);
}
switch(ddate_solt){
case "1"://早餐
return ymd+" 早餐";
... ... @@ -54,7 +61,26 @@ class Message {
}
String get cdateStr{
DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(cdate.toString())*1000);
String temp_date=cdate;
switch (message_type){
case "1"://提前点餐
case "2"://内部预订
if (is_read=="0"){//未读 下单时间
temp_date=cdate;
}else{
temp_date=read_time; //已读 查看时间
}
break;
case "10"://在线预订
case "11"://在线预订
if (is_handle=="0"){//未处理 下单时间
temp_date=cdate;
}else{
temp_date=handle_time;//已处理 处理时间
}
break;
}
DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(temp_date.toString())*1000);
if((DateTime.now().difference(dateTime)).inMilliseconds<60000){
return "刚刚";
}else{
... ...
... ... @@ -9,6 +9,8 @@ class HttpUrl {
static const String login_out = "?service=Android.User.AppLoginOut"; //退出登录
static const String get_message_list =
"?service=Android.Reserve.GetMessageList"; //获取消息列表
static const String get_message_num =
"?service=Android.Reserve.GetUnMsgTotal"; //获取未处理消息数目
static const String get_reserve_list =
"?service=Android.Reserve.NewGetReserveList"; //获取已预订列表
static const String reserve_count_day =
... ...
... ... @@ -335,6 +335,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> {
//处理在线预订
setReserveStatus(String status, {String tid = "", String ac = ""}) async {
bus.emit("remove_untreated_message", widget.mid);
bus.emit("refresh_untreated_num");//刷新未读消息数目
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, String> causeMap = {
"uid": userModel.user.openid,
... ... @@ -370,6 +371,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> {
//处理在线预订
setMessageStatus() {
bus.emit("remove_untreated_message", widget.mid);
bus.emit("refresh_untreated_num");//刷新未读消息数目
Map<String, String> params = {
"sid": Provider.of<UserModel>(context, listen: false).user.sellerid,
"id": widget.mid,
... ...
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/pages/message/messsage_item.dart';
import 'package:one_key/provider/message_dialog_model.dart';
import 'package:one_key/provider/message_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/page_error.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:provider/provider.dart';
import 'package:one_key/utils/event_bus.dart';
class MessageLeftPage extends StatefulWidget {
/**
* 在线预订消息
*/
class MessageOnlinePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new MessageLeftPageState();
return new MessageOnlinePageState();
}
}
class MessageLeftPageState extends State<MessageLeftPage> {
class MessageOnlinePageState extends State<MessageOnlinePage> {
EasyRefreshController _controller;
Color selectedColor = MyColours.color_199095;
Color unSelectedColor = MyColours.color_999999;
int selectedIndex = 0;
int offset=0;
@override
void initState() {
// TODO: implement initState
... ... @@ -35,57 +47,109 @@ class MessageLeftPageState extends State<MessageLeftPage> {
});
_controller = EasyRefreshController();
WidgetsBinding.instance.addPostFrameCallback((_) {
getUntreatedMessage();
getMessage();
});
}
//获取未处理在线预订消息
getUntreatedMessage({bool showLoading = true}) {
getMessage({bool showLoading = true}) {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, String> params = {
"sid": userModel.user.sellerid,
"type_id": "10",
"status": "0",
"offset": "0",
"limit": "100",
"type_id": "10", //1提前点餐2内部预订10在线预订
"status": selectedIndex.toString(),
"offset": offset.toString(),
"limit": "20",
};
MessageModel messageModel =
Provider.of<MessageModel>(context, listen: false);
messageModel.getUntreatedMsg(context, params, showLoading: showLoading);
messageModel.getMessages(context, params, showLoading: showLoading);
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Consumer<MessageModel>(
builder: (context, model, _) {
if (model.unPageState != PageState.Success) {
return ExceptionPage(
pageState: model.unPageState,
callback: () {
getUntreatedMessage();
},
emptyMsg: "暂时没有未处理的消息哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return MessageItem(model.untreatedMsgs[index]);
}, childCount: model.untreatedMsgs.length),
)
],
onRefresh: () async {
getUntreatedMessage(showLoading: false);
},
);
}
},
return Container(
color: MyColours.color_f5f5f5,
child: Column(
children: [
Container(
width: double.infinity,
height: ScreenUtil().setWidth(84),
color: MyColours.color_ffffff,
child: Row(
children: [
Expanded(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
if(selectedIndex==0)return;
setState(() {
selectedIndex = 0;
getMessage(showLoading: true);
});
},
child: Center(
child: Text("未处理",style: TextStyle(color: selectedIndex==0?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),),
)
)),
Expanded(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
if(selectedIndex==1)return;
setState(() {
selectedIndex = 1;
getMessage(showLoading: true);
});
},
child: Center(
child: Text("已处理",style: TextStyle(color: selectedIndex==1?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),),
)
))
],
),
),
Expanded(
child: Consumer<MessageModel>(
builder: (context, model, _) {
if (model.pageState != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
offset=0;
getMessage(showLoading: true);
},
emptyMsg: "暂时没有${selectedIndex==0?'未处理':'已处理'}的在线预订消息哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return MessageItem(model.messages[index],isTreated: selectedIndex==1,);
}, childCount: model.messages.length),
)
],
onRefresh: () async {
offset=0;
getMessage(showLoading: false);
},
onLoad: ()async{
offset++;
getMessage(showLoading: false);
},
);
}
},
),
)
],
),
);
}
... ...
import 'package:common_utils/common_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_screenutil/screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/pages/message/messsage_item.dart';
import 'package:one_key/provider/message_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/page_error.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:provider/provider.dart';
class MessageRightPage extends StatefulWidget {
/**
* 提前点餐消息
*/
class MessageOrderPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new MessageRightPageState();
return new MessageOrderPageState();
}
}
class MessageRightPageState extends State<MessageRightPage> {
class MessageOrderPageState extends State<MessageOrderPage> {
EasyRefreshController _controller;
Color selectedColor = MyColours.color_199095;
Color unSelectedColor = MyColours.color_999999;
int selectedIndex = 0;
int offset = 0; //当前页数
@override
void initState() {
// TODO: implement initState
super.initState();
_controller = EasyRefreshController();
WidgetsBinding.instance.addPostFrameCallback((_) {
getTreatedMessage();
getMessages();
});
}
//获取未处理在线预订消息
getTreatedMessage({bool showLoading = true}) {
//获取消息
getMessages({bool showLoading = true}) {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, String> params = {
"sid": userModel.user.sellerid,
"type_id": "10",
"status": "1",
"type_id": "1",
"status": selectedIndex.toString(),
"offset": offset.toString(),
"limit": "10",
"limit": "20",
};
MessageModel messageModel =
Provider.of<MessageModel>(context, listen: false);
messageModel.getTreatedMsg(context, params, showLoading: showLoading);
Provider.of<MessageModel>(context, listen: false);
messageModel.getMessages(context, params, showLoading: showLoading);
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Consumer<MessageModel>(
builder: (context, model, _) {
if (model.pageState != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
getTreatedMessage();
},
emptyMsg: "暂时没有已处理的消息哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return MessageItem(
model.treatedMsgs[index],
isTreated: true,
return Container(
color: MyColours.color_f5f5f5,
child: Column(
children: [
Container(
width: double.infinity,
height: ScreenUtil().setWidth(84),
color: MyColours.color_ffffff,
child: Row(
children: [
Expanded(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
if(selectedIndex==0)return;
setState(() {
selectedIndex = 0;
getMessages();
});
},
child: Center(
child: Text("未处理",style: TextStyle(color: selectedIndex==0?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),),
)
)),
Expanded(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
if(selectedIndex==1)return;
setState(() {
selectedIndex = 1;
getMessages();
});
},
child: Center(
child: Text("已处理",style: TextStyle(color: selectedIndex==1?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),),
)
))
],
),
),
Expanded(
child: Consumer<MessageModel>(
builder: (context, model, _) {
if (model.pageState != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
offset=0;
getMessages();
},
emptyMsg: "暂时没有${selectedIndex==0?'未处理':'已处理'}的提前点餐消息哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return MessageItem(model.messages[index],isTreated: selectedIndex==1);
}, childCount: model.messages.length),
)
],
onRefresh: () async {
offset=0;
getMessages(showLoading: false);
},
onLoad: ()async{
offset++;
getMessages(showLoading: false);
},
);
}, childCount: model.treatedMsgs.length),
)
],
onRefresh: () async {
getTreatedMessage(showLoading: false);
},
);
}
},
}
},
),
)
],
),
);
}
}
... ...
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/provider/message_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/widgets/app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'message_left_page.dart';
import 'message_right_page.dart';
import 'package:provider/provider.dart';
import 'message_online_page.dart';
import 'message_order_page.dart';
class MessagePage extends StatefulWidget {
@override
... ... @@ -14,61 +18,137 @@ class MessagePage extends StatefulWidget {
}
}
class MessagePageState extends State<MessagePage> {
class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{
Color selectedColor = MyColours.color_199095;
Color unSelectedColor = MyColours.color_999999;
TabController tabController;
MessageModel messageModel;
@override
void initState() {
// TODO: implement initState
super.initState();
tabController = TabController(length: 2,vsync: this);
tabController.addListener(() {
setState(() {
});
});
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_getUnMsgNum();
});
bus.on("refresh_untreated_num", (arg) {//舒心未读消息数目
_getUnMsgNum();
});
}
_getUnMsgNum() async {
Map<String,String> params={
"sid":Provider.of<UserModel>(context,listen:false).user.sellerid
};
await messageModel.getUnMsgNum(context, params);
setState(() {
});
}
@override
Widget build(BuildContext context) {
// TODO: implement build
messageModel=Provider.of<MessageModel>(context,listen: false);
return Container(
width: double.infinity,
height: double.infinity,
color: MyColours.color_f5f5f5,
color: MyColours.color_ffffff,
child: Column(
children: <Widget>[
MyAppBar(
"消息中心",
showBack: false,
),
Expanded(
child: DefaultTabController(
length: 2,
child: Column(
children: <Widget>[
Material(
color: MyColours.color_ffffff,
child: SizedBox(
width: double.infinity,
height: ScreenUtil().setHeight(76),
child: TabBar(
tabs: [
Tab(
text: "未处理",
),
Tab(
text: "已处理",
)
],
indicatorColor: MyColours.color_199095,
indicatorSize: TabBarIndicatorSize.label,
indicatorWeight: ScreenUtil().setHeight(4.0),
labelColor: MyColours.color_199095,
unselectedLabelColor: MyColours.color_999999,
labelStyle: TextStyle(
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold),
TabBar(
controller: tabController,
tabs: [
Tab(
child: SizedBox(
height: ScreenUtil().setWidth(60),
width: ScreenUtil().setWidth(144),
child: Stack(
children: [
Text(
"在线预订",
style: TextStyle(
color: tabController.index == 0
? selectedColor
: unSelectedColor,
fontSize: ScreenUtil().setSp(32),fontWeight: FontWeight.bold),
),
Positioned(
top: 0,
right: 0,
child: Container(
width: ScreenUtil().setWidth(16),
height: ScreenUtil().setWidth(16),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(16)),
color: messageModel.onlineTotal>0?MyColours.color_fa5151:MyColours.color_ffffff),
),
)
],
),
),
),
Tab(
child: SizedBox(
height: ScreenUtil().setWidth(60),
width: ScreenUtil().setWidth(144),
child: Stack(
children: [
Text(
"提前点餐",
style: TextStyle(
color: tabController.index == 1
? selectedColor
: unSelectedColor,
fontSize: ScreenUtil().setSp(32),fontWeight: FontWeight.bold),
),
),
VEmptyView(11),
Expanded(
flex: 1,
child: TabBarView(
children: [MessageLeftPage(), MessageRightPage()]),
)
],
)),
Positioned(
top: 0,
right: 0,
child: Container(
width: ScreenUtil().setWidth(16),
height: ScreenUtil().setWidth(16),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(16)),
color: messageModel.orderTotal>0?MyColours.color_fa5151:MyColours.color_ffffff),
),
)
],
),
),
),
],
indicatorColor: MyColours.color_199095,
indicatorSize: TabBarIndicatorSize.label,
indicatorPadding: EdgeInsets.only(left: ScreenUtil().setWidth(16),right: ScreenUtil().setWidth(32)),
indicatorWeight: ScreenUtil().setWidth(6.0),
),
VEmptyView(11),
Expanded(
flex: 1,
child:
TabBarView(controller:tabController,children: [MessageOnlinePage(), MessageOrderPage()]),
)
],
),
);
}
@override
void dispose() {
// TODO: implement dispose
super.dispose();
bus.off("refresh_untreated_num");
}
}
... ...
... ... @@ -18,10 +18,19 @@ class MessageItem extends StatelessWidget {
final VoidCallback callback;
MessageItem(this.message,{this.isTreated=false,this.callback});
@override
Widget build(BuildContext context) {
// TODO: implement build
Color textColor=isTreated?MyColours.color_999999:MyColours.color_353535;
String titleText="";
if(message.message_type=="10"){
titleText="在线预订";
}else if(message.message_type=="11"){
titleText="取消预订";
}else if(message.message_type=="1"){
titleText="提前点餐";
}
MessageDialogModel messageDialogModel=Provider.of<MessageDialogModel>(context,listen: false);
return GestureDetector(
onTap: (){
... ... @@ -51,7 +60,7 @@ class MessageItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
message.message_type=="10"?"在线预订":"取消预订",
titleText,
style: TextStyle(
color: textColor,
fontSize: ScreenUtil().setSp(28)),
... ... @@ -78,7 +87,7 @@ class MessageItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"包间需求:${message.room_demand}",
"${message.message_type=='1'?'桌位信息:':'包间需求:'}${message.message_type=='1'?message.room_info:message.room_demand}",
style: TextStyle(
color: textColor,
fontSize: ScreenUtil().setSp(28)),
... ... @@ -120,10 +129,11 @@ class MessageItem extends StatelessWidget {
}else{
NavigatorUtil.goNotebookDetailPage(context,message.rid.toString());
bus.emit("remove_untreated_message", message.id);
bus.emit("refresh_untreated_num");//刷新未读消息数目
Map<String, String> params = {
"sid": Provider.of<UserModel>(context, listen: false).user.sellerid,
"id": message.id,
"status": "is_handle"
"status": message.message_type=="1"?"is_read":"is_handle"
};
messageDialogModel.setMessageStatus(context,params);
}
... ...
... ... @@ -49,7 +49,7 @@ class MessageDialogModel extends ChangeNotifier{
}
}
//添加一条信息
//移除一条信息
removeMessage(String mid){
messages.removeWhere((message)=>message.id==mid);
notifyListeners();
... ...
... ... @@ -6,69 +6,20 @@ import 'package:one_key/models/message.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/utils/utils.dart';
class MessageModel extends ChangeNotifier {
List<Message> untreatedMsgs = []; //未处理在线预订消息
List<Message> treatedMsgs = []; //已处理在线预订消息
List<Message> messages = []; //消息
PageState unPageState = PageState.Loading;
PageState pageState = PageState.Loading;
//获取未处理在线预订消息
getUntreatedMsg(BuildContext context, Map<String, String> params,
{showLoading = true}) async {
if (showLoading) {
unPageState = PageState.Loading;
}
notifyListeners();
BaseResp<List> baseResp = await DioUtil()
.request<List>(context, Method.get, HttpUrl.get_message_list,
data: params, showLoading: false)
.catchError((error) {
print(error.toString());
if (error is MyError) {
switch (error.type) {
case 1:
unPageState = PageState.ConnectivityError;
break;
case 2:
unPageState = PageState.ConnectivityTimeOut;
break;
default:
unPageState = PageState.ConnectivityError;
break;
}
}
notifyListeners();
});
if (baseResp != null && baseResp.code == Constant.status_success) {
untreatedMsgs = baseResp.data.map<Message>((value) {
return Message.fromJson(value);
}).toList();
untreatedMsgs.removeWhere((message) {
if (message.message_type.toString() == "10") {
if (message.status == "4") {
return true;
}
return false;
} else if (message.message_type.toString() == "11") {
return false;
}
return true;
});
if (untreatedMsgs.isEmpty) {
unPageState = PageState.Empty;
} else {
unPageState = PageState.Success;
}
notifyListeners();
}
}
int onlineTotal=0;//未处理在线消息数目
int inlineTotal=0;//未处理内部消息数目
int orderTotal=0;//未处理提前点餐消息数目
//获取已处理在线预订消息
getTreatedMsg(BuildContext context, Map<String, String> params,{showLoading = true}) async {
if (params["offset"] == "0" && showLoading) {
//获取消息
getMessages(BuildContext context, Map<String, String> params,
{showLoading = true}) async {
if(showLoading){
pageState = PageState.Loading;
notifyListeners();
}
... ... @@ -93,24 +44,25 @@ class MessageModel extends ChangeNotifier {
notifyListeners();
});
if (baseResp != null && baseResp.code == Constant.status_success) {
if (params["offset"] == "0") {
//第一页
treatedMsgs = baseResp.data.map<Message>((value) {
if(params['offset']=="0"){
messages = baseResp.data.map<Message>((value) {
return Message.fromJson(value);
}).toList();
} else {
treatedMsgs.addAll(baseResp.data.map<Message>((value) {
return Message.fromJson(value);
}).toList());
}
treatedMsgs.removeWhere((message) {
if (message.message_type.toString() == "10" ||
message.message_type.toString() == "11") {
return false;
}
return true;
});
if (treatedMsgs.isEmpty) {
// if(params["type_id"]=="10"){//在线预订
// messages.removeWhere((message) {
// if (message.message_type.toString() == "10") {//在线预订
// if (message.status == "4") {//已取消
// return true;
// }
// return false;
// } else if (message.message_type.toString() == "11") {//取消在线预订
// return false;
// }
// return true;
// });
// }
if (messages.isEmpty) {
pageState = PageState.Empty;
} else {
pageState = PageState.Success;
... ... @@ -119,9 +71,26 @@ class MessageModel extends ChangeNotifier {
}
}
//移除未处理在线预订消息
removeUntreatedMessageByMid(String mid) {
untreatedMsgs.removeWhere((message) => message.id == mid);
//获取未处理消息数目
Future getUnMsgNum(BuildContext context, Map<String, String> params) async {
BaseResp<Map<String,dynamic>> baseResp = await DioUtil()
.request<Map<String,dynamic>>(context, Method.get, HttpUrl.get_message_num,
data: params, showLoading: false)
.catchError((error) {
print(error.toString());
});
if (baseResp != null && baseResp.code == Constant.status_success) {
onlineTotal=int.parse(baseResp.data['online_total'].toString());
inlineTotal=int.parse(baseResp.data['inline_total'].toString());
orderTotal=int.parse(baseResp.data['order_total'].toString());
return;
}
return;
}
//根据消息id移除消息
removeUntreatedMessageByMid(String mid){
messages.removeWhere((element) => element.id==mid);
notifyListeners();
}
}
... ...
... ... @@ -50,4 +50,5 @@ class MyColours {
static const Color color_e5e5e5 = Color(0xffe5e5e5);
static const Color color_efefef = Color(0xffefefef);
static const Color color_0A0A0A = Color(0xff0A0A0A);
static const Color color_fa5151 = Color(0xfffa5151);
}
... ...