getUnreadCountVisitor method

Future<String> getUnreadCountVisitor()

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();
}