in packages-fetcher/console-fetcher-risk-prompt/src/util/handle-risk-prompt-dialog-submit/get-risk-prompt-verify-result/index.ts [35:116]
export default async function getRiskPromptVerifyResult({
dialogData,
dialogSubmitProps,
updateErrorMessage,
setRiskCanceledErrorProps
}: IProps): Promise<IRiskPromptVerifyResult | null> {
try {
const {
dialogSubmitType
} = dialogSubmitProps;
const {
oldMainOrMpkData,
subVerificationParamArray,
currentSubVerificationDeviceType
} = dialogData;
switch (dialogSubmitType) {
// MPK 类型账号风控验证
case ERiskType.MPK: {
const {
accountId, codeType, verifyType
} = dialogSubmitProps;
const mpkVerifyResult = await verifyMpk({
accountId,
codeType,
verifyType,
oldMainOrMpkData
});
return mpkVerifyResult;
}
// 子账号风控验证
case ERiskType.NEW_SUB: {
const subValidatorsVerifyResult = await verifySubValidators({
subVerificationParamArray,
currentSubVerificationDeviceType,
updateErrorMessage
});
return subValidatorsVerifyResult;
}
// 旧版主账号或 MPK 降级
case ERiskType.OLD_MAIN: {
const {
verifyType
} = dialogSubmitProps;
const {
code, requestId
} = oldMainOrMpkData ?? {};
return {
verifyType,
verifyCode: code || '',
requestId: requestId || ''
};
}
default: {
return null;
}
}
} catch (error) {
const {
code = '', name = '', message
} = error as FetcherError;
const isExpectedError = COMMON_EXPECTED_ERROR.includes(code) || IDENTITY_EXPECTED_ERROR.includes(code);
// 判断错误是否是非预期错误,需要排除网络错误
if (!isExpectedError && !NETWORK_ERROR.includes(name)) {
const unexpectedErrorType = dialogSubmitProps.dialogSubmitType === ERiskType.MPK ? EUnexpectedErrorType.MPK_RISK_VERIFY_FAILED : EUnexpectedErrorType.SUB_RISK_VERIFY_FAILED;
setRiskCanceledErrorProps({
unexpectedErrorType,
unexpectedErrorCode: code || name
});
}
updateErrorMessage(message);
return null;
}
}