sendMessageRest method
Implementation
Future<JsonResult> sendMessageRest(String? jsonString) async {
//
var body = json.encode({"json": jsonString, "client": client});
//
final sendMessageUrl = BytedeskUtils.getHostUri('/api/messages/send');
// final sendMessageUrl = '$baseUrl/api/messages/send';
final sendMessageResponse = await httpClient.post(sendMessageUrl,
headers: getHeaders(), body: body);
//解决json解析中的乱码问题
Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
//将string类型数据 转换为json类型的数据
final responseJson =
json.decode(utf8decoder.convert(sendMessageResponse.bodyBytes));
debugPrint("responseJson $responseJson");
// 判断token是否过期
if (responseJson.toString().contains('invalid_token')) {
bytedeskEventBus.fire(InvalidTokenEventBus());
}
//
return JsonResult(
message: responseJson['message'],
statusCode: responseJson['status_code'],
data: responseJson['data']);
}