getVisitorThreadsAll method

Future<List<Thread>> getVisitorThreadsAll()

Implementation

Future<List<Thread>> getVisitorThreadsAll() async {
  //
  final threadUrl = BytedeskUtils.getHostUri(
      '/api/thread/visitor/history/all', {'client': client});
  final initResponse = await httpClient.get(threadUrl, headers: getHeaders());
  //
  //解决json解析中的乱码问题
  Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
  //将string类型数据 转换为json类型的数据
  final responseJson =
      json.decode(utf8decoder.convert(initResponse.bodyBytes));
  debugPrint("getVisitorThreadsAll responseJson $responseJson");
  // 判断token是否过期
  if (responseJson.toString().contains('invalid_token')) {
    bytedeskEventBus.fire(InvalidTokenEventBus());
  }

  List<Thread> threadList = (responseJson['data'] as List<dynamic>)
      .map((item) => Thread.fromWorkGroupJson2(item))
      .toList();
  //
  return threadList;
}