sendMessageRest method

Future<JsonResult> sendMessageRest(
  1. String? jsonString
)

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']);
}