startQA method

void startQA(
  1. int lessionId,
  2. String dialogId,
  3. QAListener listener
)

问答 @param lessionId 课程Id @param dialogId 对话Id @param listener 问答结果监听 回调结果包含用户回答录音地址、action等 当用户答对时action为具体的answerId,一个问题可以有多个answer,answer在ecps中配置 当action为空时,代表用户答错

Implementation

void startQA(int lessionId, String dialogId, QAListener listener) async {
  try {
    //result.success(any)
    String res = await Configure.channel.invokeMethod(
        'startQA', {'lessonId': lessionId, 'dialogId': dialogId});
    QAResultBean resultBean = QAResultBean.fromJson(json.decode(res));
    if (null != listener && null != listener.onQAResult) {
      listener.onQAResult!(resultBean);
    }
  } on PlatformException catch (e) {
    // result.error("failed", "failed unknow", "i don't know")
    print(e);
    if (null != listener && null != listener.onQAFailed) {
      listener.onQAFailed!(int.parse(e.code), e.message);
    }
  } on MissingPluginException catch (e) {
    //result.notImplemented()
    print(e);
    if (null != listener && null != listener.onQAFailed) {
      listener.onQAFailed!(ErrorCode.NOT_IMPLEMENTED, e.message);
    }
  }
}