getUnreadCountVisitor method
Implementation
Future<String> getUnreadCountVisitor() async {
//
final initUrl = BytedeskUtils.getHostUri(
'/api/messages/unreadCount/visitor', {'client': client});
final initResponse = await httpClient.get(initUrl, headers: getHeaders());
//解决json解析中的乱码问题
Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
//将string类型数据 转换为json类型的数据
final responseJson =
json.decode(utf8decoder.convert(initResponse.bodyBytes));
debugPrint("responseJson $responseJson");
// 判断token是否过期
if (responseJson.toString().contains('invalid_token')) {
bytedeskEventBus.fire(InvalidTokenEventBus());
}
// TODO: 根据status_code判断结果,并解析
// {error: invalid_token, error_description: Invalid access token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODA1MTEwMjQsInVzZXJfbmFtZSI6IjIwMjMwMzA0MTYzNzAyMWZlN2Y3ODA0NjI1YTQ1MTJiMzJmOWYxZTc2NmY0ODAyIiwianRpIjoiODNjMzM0ZDItZWM5Ny00MGEwLTg3MTgtOWRmYjIxYzVjMWJhIiwiY2xpZW50X2lkIjoiY2xpZW50Iiwic2NvcGUiOlsiYWxsIl19.-8aqZBq4mqEvKUyaHtisrH-uZVQGJswMB9jBaZWTbLs}
// 解析
return responseJson['data'].toString();
}