Commit f20bf1f66cd2d05c06c45e554dbad3183d38a20b

Authored by wdn127929
1 parent f77dea6a

店内消息通知栏点击问题has

... ... @@ -37,7 +37,9 @@ import 'package:one_key/models/message.dart';
class HomePage extends StatefulWidget {
final int initialIndex; //初始tab
HomePage({this.initialIndex = 1});
final bool needReresh;
HomePage({this.initialIndex = 1, this.needReresh = true});
@override
State<StatefulWidget> createState() {
... ... @@ -61,12 +63,14 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
DateTime lastBack;
PageController _pageController;
bool needUpdate = true;
bool needRefreshTemp = true;
@override
void initState() {
// TODO: implement initState
super.initState();
LogUtil.v("home_initState");
needRefreshTemp = widget.needReresh;
AzhonAppUpdate.listener(
// () {
... ... @@ -136,7 +140,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
});
}
}
if (widget.initialIndex == 0) return;
// if (widget.initialIndex == 0 ||
if (widget.initialIndex == 1 && needRefreshTemp == false) return;
_getIntent();
Future.delayed(Duration(milliseconds: 30000), () {
ContactModel.getInstance().uploadLocalContact(context);
... ... @@ -249,7 +255,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
break;
case "15":
//店内消息
NavigatorUtil.goHomePage(context, initialIndex: 1);
NavigatorUtil.goHomePage(context,
initialIndex: 1, needRefresh: false);
break;
case "1":
... ... @@ -410,6 +417,16 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
case "15":
//店内消息
NavigatorUtil.goHomePage(context, initialIndex: 1);
Map<String, String> params = {
"sid": Provider.of<UserModel>(context, listen: false)
.user
.sellerid,
"id": custom['mid'],
"status": "is_read"
};
MessageDialogModel messageDialogModel =
Provider.of<MessageDialogModel>(context, listen: false);
await messageDialogModel.setMessageStatus(context, params);
break;
case "1":
... ... @@ -530,6 +547,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
super.didChangeAppLifecycleState(state);
switch (state) {
case AppLifecycleState.resumed: //应用前台可见
if (widget.initialIndex == 1 && needRefreshTemp == false) return;
_clearBadge(() {
_getAllUnMessages();
});
... ... @@ -540,6 +559,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
break;
case AppLifecycleState.paused:
print('paused');
needRefreshTemp = true;
break;
case AppLifecycleState.detached:
print('detached');
... ... @@ -610,9 +630,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
// "type_id": "10", //1提前点餐2内部预订10在线预订
// "status": '0',
"offset": '0',
"limit": "20",
"limit": "1000",
};
await messageModel.getNewGetUntreatedMsgList(context, params,
await messageModel.getNewGetUntreatedMsgNum(context, params,
showLoading: false);
setState(() {});
}
... ...
... ... @@ -166,6 +166,20 @@ class MessageItemF extends StatelessWidget {
};
await messageDialogModel.setMessageStatus(context, params);
bus.emit("refresh_untreated_num"); //刷新未读消息数目
} else if (message.message_type == "15") {
//店内消息
NavigatorUtil.goHomePage(context, initialIndex: 1,needRefresh: false);
bus.emit("remove_untreated_message", message.id);
Map<String, String> params = {
"sid": Provider.of<UserModel>(context, listen: false)
.user
.sellerid,
"id": message.id,
"status": message.message_type == "1" ? "is_read" : "is_handle"
};
await messageDialogModel.setMessageStatus(context, params);
bus.emit("refresh_untreated_num"); //刷新未读消息数目
}
}
},
... ... @@ -522,6 +536,22 @@ class MessageItemF extends StatelessWidget {
await messageDialogModel.setMessageStatus(
context, params);
bus.emit("refresh_untreated_num"); //刷新未读消息数目
} else if (message.message_type == "15") {
//店内消息
NavigatorUtil.goHomePage(context, initialIndex: 1,needRefresh: false);
bus.emit("remove_untreated_message", message.id);
Map<String, String> params = {
"sid": Provider.of<UserModel>(context, listen: false)
.user
.sellerid,
"id": message.id,
"status": message.message_type == "1"
? "is_read"
: "is_handle"
};
await messageDialogModel.setMessageStatus(
context, params);
bus.emit("refresh_untreated_num"); //刷新未读消息数目
}
},
child: Image.asset(
... ...
... ... @@ -73,10 +73,10 @@ class MessagePageState extends State<MessagePage>
// "type_id": "10", //1提前点餐2内部预订10在线预订
// "status": '0',
"offset": '0',
"limit": "20",
"limit": "1000",
};
await messageModel.getNewGetUntreatedMsgList(context, params,
await messageModel.getNewGetUntreatedMsgNum(context, params,
showLoading: false);
}
}
... ...
... ... @@ -177,8 +177,8 @@ class MessageUntreatedPageState extends State<MessageUntreatedPage> {
getMessage(showLoading: false);
},
onLoad: () async {
offset++;
getMessage(showLoading: false);
// offset++;
// getMessage(showLoading: false);
},
);
}
... ...
... ... @@ -474,7 +474,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
width: ScreenUtil().setWidth(imgSize * 2),
height: ScreenUtil().setWidth(imgSize * 2),
)
: App.sp.getString("headImg") == ''
: App.sp.getString("headImg") == '' ||
App.sp.getString("headImg") == null
? Image.asset(
Utils.getImgPath(title == '头像'
? 'base_tx_mr'
... ...
... ... @@ -92,6 +92,44 @@ class MessageModel extends ChangeNotifier {
}
}
//获取未处理消息数目
getNewGetUntreatedMsgNum(BuildContext context, Map<String, String> params,
{showLoading = true}) async {
if (showLoading) {
pageStateUn = PageState.Loading;
messages = [];
notifyListeners();
}
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(
context, Method.get, HttpUrl.new_get_untreated_msg_list,
data: params, showLoading: false)
.catchError((error) {
print(error.toString());
PageState pageStateTemp;
if (error is MyError) {
switch (error.type) {
case 1:
pageStateUn = PageState.ConnectivityError;
break;
case 2:
pageStateUn = PageState.ConnectivityTimeOut;
break;
default:
pageStateUn = PageState.ConnectivityError;
break;
}
}
notifyListeners();
});
if (baseResp != null && baseResp.code == Constant.status_success) {
allUnNum = baseResp.data['count'];
notifyListeners();
}
}
//获取未处理消息和数目
getNewGetUntreatedMsgList(BuildContext context, Map<String, String> params,
{showLoading = true}) async {
... ...
... ... @@ -54,8 +54,10 @@ class NavigatorUtil {
}
/// 首页
static void goHomePage(BuildContext context, {int initialIndex = 1}) {
_navigateTo(context, "${Routes.home}?initialIndex=$initialIndex",
static void goHomePage(BuildContext context,
{int initialIndex = 1, needRefresh = true}) {
_navigateTo(context,
"${Routes.home}?initialIndex=$initialIndex&needRefresh=$needRefresh",
clearStack: true);
}
... ...
... ... @@ -146,8 +146,10 @@ var loginHandler = new Handler(
var homeHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
String initialIndex = params["initialIndex"].first;
bool needRefresh = FluroConvertUtils.string2bool(params["needRefresh"].first);
return HomePage(
initialIndex: int.parse(initialIndex),
needReresh: needRefresh,
);
});
... ... @@ -803,7 +805,7 @@ var roomTypeSelectTablePageHandler = new Handler(
tableList: tidSelList,
fromPage: fromPage,
tid: tid,
oldobjectList:oldobjectList));
oldobjectList: oldobjectList));
});
///菜单管理页面
... ...
... ... @@ -109,7 +109,8 @@ class TableItemState extends State<TableItem> {
margin: EdgeInsets.all(ScreenUtil().setWidth(9)),
decoration: BoxDecoration(
color: (widget.need && table.enable == '0') ||
(table.isExitsClass.toString() == '1' &&
(widget.fromPage == 'room_manage' &&
table.isExitsClass.toString() == '1' &&
!widget.oldOjectList.contains(table.id))
? MyColours.color_E0E0E0
: MyColours.color_A9E3E6,
... ... @@ -128,7 +129,8 @@ class TableItemState extends State<TableItem> {
height: ScreenUtil().setHeight(32),
alignment: Alignment.center,
decoration: BoxDecoration(
color: table.isExitsClass.toString() == '1' &&
color: widget.fromPage == 'room_manage' &&
table.isExitsClass.toString() == '1' &&
!widget.oldOjectList.contains(table.id)
? Color.fromRGBO(147, 147, 147, 1)
: MyColours.color_63a6d1,
... ... @@ -168,7 +170,8 @@ class TableItemState extends State<TableItem> {
maxLines: 2,
style: TextStyle(
color: (widget.need && table.enable == '0') ||
(table.isExitsClass.toString() ==
(widget.fromPage == 'room_manage' &&
table.isExitsClass.toString() ==
'1' &&
!widget.oldOjectList
.contains(table.id))
... ... @@ -224,7 +227,8 @@ class TableItemState extends State<TableItem> {
Text(
table.lowStr,
style: TextStyle(
color: table.isExitsClass.toString() == '1' &&
color: widget.fromPage == 'room_manage' &&
table.isExitsClass.toString() == '1' &&
!widget.oldOjectList.contains(table.id)
? MyColours.color_999999
: MyColours.color_777777,
... ...