xcSaveDevicePwdQuestionDetail method

Future xcSaveDevicePwdQuestionDetail({
  1. required String deviceId,
  2. required String answer1,
  3. required int answer1Index,
  4. required String answer2,
  5. required int answer2Index,
  6. required String phoneOrEmail,
  7. required int codeCheckType,
})

设置密保问题、答案及验证方式 这个接口是 xcSaveDevicePwdQuestion 接口的封装 phoneOrEmail 手机号或者邮箱 codeCheckType 发送方式 0 通过app发送, 1 通过email发送

Implementation

Future<dynamic> xcSaveDevicePwdQuestionDetail(
    {required String deviceId,
    required String answer1,
    required int answer1Index,
    required String answer2,
    required int answer2Index,
    required String phoneOrEmail,
    required int codeCheckType}) async {
  //组装请求数据
  PwdQuestionSaveModel saveModel = PwdQuestionSaveModel();
  saveModel.name = 'General.PwdSafety'; //固定写死
  saveModel.sessionID = '0x00000002'; //固定写死
  GeneralPwdSafety generalPwdSafety = GeneralPwdSafety();
  PwdReset pwdReset1 = PwdReset();
  pwdReset1.questionAnswer =
      await JFApi.xcUtil.xcMD5Encode(encodeStr: answer1);
  pwdReset1.questionIndex = answer1Index;
  PwdReset pwdReset2 = PwdReset();
  pwdReset2.questionAnswer =
      await JFApi.xcUtil.xcMD5Encode(encodeStr: answer2);
  pwdReset2.questionIndex = answer2Index;
  generalPwdSafety.pwdReset = [pwdReset1, pwdReset2];
  if (phoneOrEmail.contains('@')) {
    generalPwdSafety.securityEmail = phoneOrEmail;
    generalPwdSafety.securityPhone = '';
  } else {
    generalPwdSafety.securityEmail = '';
    generalPwdSafety.securityPhone = phoneOrEmail;
  }
  generalPwdSafety.tipPageHide = false;
  generalPwdSafety.verifyCodeRestorePwdType = codeCheckType;
  saveModel.generalPwdSafety = generalPwdSafety;
  return xcSaveDevicePwdQuestion(deviceId: deviceId, saveModel: saveModel);
}