|
...
|
...
|
@@ -12,7 +12,7 @@ import 'package:one_key/utils/utils.dart'; |
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
class MessageModel extends ChangeNotifier {
|
|
|
|
List<NewUnmessage> messages = []; //消息
|
|
|
|
List<NewUnmessage> messagesHas = []; //消息
|
|
|
|
|
|
|
|
List<NewUnmessage> messagesUn = []; //消息未处理的,用来清理消息的时候判断是否可清理
|
|
|
|
PageState pageStateUn = PageState.Loading; //未处理
|
|
...
|
...
|
@@ -26,7 +26,8 @@ class MessageModel extends ChangeNotifier { |
|
|
|
int allUnNum = 0; //全部未读
|
|
|
|
|
|
|
|
initData() {
|
|
|
|
messages = []; //消息
|
|
|
|
messagesHas = []; //消息
|
|
|
|
messagesUn = [];
|
|
|
|
pageStateUn = PageState.Loading; //未处理
|
|
|
|
pageState = PageState.Loading; //已处理
|
|
|
|
}
|
|
...
|
...
|
@@ -36,7 +37,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
{showLoading = true}) async {
|
|
|
|
if (showLoading) {
|
|
|
|
pageState = PageState.Loading;
|
|
|
|
messages = [];
|
|
|
|
messagesHas = [];
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
BaseResp<List> baseResp = await DioUtil()
|
|
...
|
...
|
@@ -63,21 +64,21 @@ class MessageModel extends ChangeNotifier { |
|
|
|
String uid = Provider.of<UserModel>(context, listen: false).user.openid;
|
|
|
|
List<NewUnmessage> temp = [];
|
|
|
|
if (params['offset'] == "0") {
|
|
|
|
messages = baseResp.data.map<NewUnmessage>((value) {
|
|
|
|
messagesHas = baseResp.data.map<NewUnmessage>((value) {
|
|
|
|
return NewUnmessage.fromJson(value);
|
|
|
|
}).toList();
|
|
|
|
} else {
|
|
|
|
messages.addAll(baseResp.data.map<NewUnmessage>((value) {
|
|
|
|
messagesHas.addAll(baseResp.data.map<NewUnmessage>((value) {
|
|
|
|
return NewUnmessage.fromJson(value);
|
|
|
|
}).toList());
|
|
|
|
}
|
|
|
|
temp.addAll(messages);
|
|
|
|
messages = [];
|
|
|
|
temp.addAll(messagesHas);
|
|
|
|
messagesHas = [];
|
|
|
|
temp.forEach((element) {
|
|
|
|
if (element.uid == uid && element.message_type == '16') {
|
|
|
|
print('object');
|
|
|
|
} else {
|
|
|
|
messages.add(element);
|
|
|
|
messagesHas.add(element);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
...
|
...
|
@@ -98,7 +99,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
// return true;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
if (messages.isEmpty) {
|
|
|
|
if (messagesHas.isEmpty) {
|
|
|
|
pageState = PageState.Empty;
|
|
|
|
} else {
|
|
|
|
pageState = PageState.Success;
|
|
...
|
...
|
@@ -112,7 +113,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
{showLoading = true}) async {
|
|
|
|
if (showLoading) {
|
|
|
|
pageStateUn = PageState.Loading;
|
|
|
|
messages = [];
|
|
|
|
messagesUn = [];
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
BaseResp<dynamic> baseResp = await DioUtil()
|
|
...
|
...
|
@@ -142,6 +143,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
int tempnum = 0;
|
|
|
|
String uid = Provider.of<UserModel>(context, listen: false).user.openid;
|
|
|
|
List<NewUnmessage> temp = [];
|
|
|
|
List<NewUnmessage> messages = [];
|
|
|
|
if (params['offset'] == "0") {
|
|
|
|
messages = baseResp.data['list'].map<NewUnmessage>((value) {
|
|
|
|
return NewUnmessage.fromJson(value);
|
|
...
|
...
|
@@ -161,6 +163,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
messages.add(element);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
messagesUn.addAll(messages);
|
|
|
|
if (tempnum > 0) {
|
|
|
|
allUnNum = baseResp.data['count'] - tempnum;
|
|
|
|
} else {
|
|
...
|
...
|
@@ -175,7 +178,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
{showLoading = true}) async {
|
|
|
|
if (showLoading) {
|
|
|
|
pageStateUn = PageState.Loading;
|
|
|
|
messages = [];
|
|
|
|
// messagesUn = [];
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
BaseResp<dynamic> baseResp = await DioUtil()
|
|
...
|
...
|
@@ -202,6 +205,7 @@ class MessageModel extends ChangeNotifier { |
|
|
|
notifyListeners();
|
|
|
|
});
|
|
|
|
if (baseResp != null && baseResp.code == Constant.status_success) {
|
|
|
|
List<NewUnmessage> messages = [];
|
|
|
|
int tempnum = 0;
|
|
|
|
String uid = Provider.of<UserModel>(context, listen: false).user.openid;
|
|
|
|
List<NewUnmessage> temp = [];
|
|
...
|
...
|
@@ -318,8 +322,8 @@ class MessageModel extends ChangeNotifier { |
|
|
|
|
|
|
|
//根据消息id移除消息
|
|
|
|
removeUntreatedMessageByMid(String mid) {
|
|
|
|
messages.removeWhere((element) => element.id == mid);
|
|
|
|
if (messages.length == 0) {
|
|
|
|
messagesUn.removeWhere((element) => element.id == mid);
|
|
|
|
if (messagesUn.length == 0) {
|
|
|
|
pageStateUn = PageState.Empty;
|
|
|
|
}
|
|
|
|
notifyListeners();
|
...
|
...
|
|