submitFeedback method
Implementation
Future<FeedbackJsonResult> submitFeedback(String? cid, String? mobile,
String? content, List<String>? imageUrls) async {
//
var body = json
.encode({"cid": cid, "mobile": mobile, "content": content, "images": imageUrls, "client": client});
final initUrl = BytedeskUtils.getHostUri('/api/feedback/create');
debugPrint("submitFeedback Url $initUrl");
final initResponse =
await httpClient.post(initUrl, headers: getHeaders(), body: body);
//解决json解析中的乱码问题
Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
//将string类型数据 转换为json类型的数据
final responseJson =
json.decode(utf8decoder.convert(initResponse.bodyBytes));
debugPrint("submitFeedback: $responseJson");
// 判断token是否过期
if (responseJson.toString().contains('invalid_token')) {
bytedeskEventBus.fire(InvalidTokenEventBus());
}
return FeedbackJsonResult.fromJson(responseJson);
}