getZhipuAIThreadHistory method
Implementation
Future<List<ThreadZhipuAI>> getZhipuAIThreadHistory(int? page, int? size) async {
//
final threadUrl = BytedeskUtils.getHostUri('/api/thread/zhipuai/history',
{'page': page.toString(), 'size': size.toString(), 'client': client});
debugPrint("getZhipuAIThreadHistory page $page, size:$size, Url $threadUrl, ");
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("getZhipuAIThreadHistory: $responseJson", wrapWidth: 2048);
// 判断token是否过期
if (responseJson.toString().contains('invalid_token')) {
bytedeskEventBus.fire(InvalidTokenEventBus());
}
List<ThreadZhipuAI> threadList =
(responseJson['data']['content'] as List<dynamic>)
.map((item) => ThreadZhipuAI.fromHistoryJson(item))
.toList();
return threadList;
}