submitCaptcha method

Future<void> submitCaptcha(
  1. String captchaId,
  2. String phrase, [
  3. String lang = 'en'
])

Implementation

Future<void> submitCaptcha(String captchaId, String phrase, [String lang = 'en']) async {
  final errTransferFunc = lang == 'zh' ? _errTransferMap_ZH : _errTransferMap_EN;
  var httpResponse = await http.get(
    Uri.parse(serverUrl + '/captcha/' + Uri.encodeComponent(captchaId) + '/submitResult?phrase=' + Uri.encodeComponent(phrase))
  );

  if (httpResponse.statusCode != 200) {
    if(httpResponse.body.isEmpty){
      throw errTransferFunc(1);
    }else{
      late dynamic decodedResponseMap;
      try{
        decodedResponseMap = json.decode(httpResponse.body);
      }catch(e){
        throw errTransferFunc(1);
      }

      if(decodedResponseMap is! Map<String,dynamic>){
        throw errTransferFunc(1);
      }
      late APIReturnData<CaptchaInfo> decodedResponse;

      try{
        decodedResponse = APIReturnData.fromJson(decodedResponseMap, CaptchaInfo.fromJson);
      }catch(e){
        throw errTransferFunc(1);
      }

      throw errTransferFunc(decodedResponse.errorCode);
    }
  }else{
    return;
  }
}