loadUnreadMessages method
查询当前用户-某技能组wid或指定客服未读消息 注意:技能组wid或指定客服唯一id 适用于 访客 和 客服
Implementation
Future<List<Message>> loadUnreadMessages(
String? wid, int? page, int? size) async {
//
final loadUnreadMessagesUrl = BytedeskUtils.getHostUri(
'/api/messages/unread/message', {
'page': page.toString(),
'size': size.toString(),
'wid': wid,
'client': client
});
// debugPrint("loadHistoryMessages Url $loadHistoryMessages");
final initResponse =
await httpClient.get(loadUnreadMessagesUrl, headers: getHeaders());
//
//解决json解析中的乱码问题
Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
//将string类型数据 转换为json类型的数据
final responseJson =
json.decode(utf8decoder.convert(initResponse.bodyBytes));
// 判断token是否过期
if (responseJson.toString().contains('invalid_token')) {
bytedeskEventBus.fire(InvalidTokenEventBus());
}
//
List<Message> messageList =
(responseJson['data']['content'] as List<dynamic>)
.map((item) => Message.fromJson(item))
.toList();
return messageList;
}