fix: 优化阿里云失败结果和操作显示
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -86,10 +86,12 @@
|
||||
if (stageNode) stageNode.textContent = data.stage || data.status || '认证处理中';
|
||||
if (messageNode) messageNode.textContent = data.message || '认证结果以站点服务端主动查询为准。';
|
||||
if (continueLink) {
|
||||
continueLink.hidden = !data.redirect_url;
|
||||
if (data.redirect_url) continueLink.href = data.redirect_url;
|
||||
var canContinue = data.next_action === 'poll' && data.redirect_url;
|
||||
continueLink.hidden = !canContinue;
|
||||
if (canContinue) continueLink.href = data.redirect_url;
|
||||
}
|
||||
if (manualButton) manualButton.hidden = data.next_action !== 'manual_or_retry';
|
||||
if (data.next_action === 'manual_or_retry' && manualForm) manualForm.hidden = true;
|
||||
shouldPoll = data.next_action === 'poll';
|
||||
if (data.status === 'verified') {
|
||||
shouldPoll = false;
|
||||
|
||||
@@ -95,6 +95,10 @@ final class AliyunProvider implements ProviderInterface {
|
||||
return ProviderResult::passed(['request_id' => (string) ($response['RequestId'] ?? ''), 'result_code' => 'passed']);
|
||||
}
|
||||
$status = strtoupper((string) ($object['SubCode'] ?? $object['Status'] ?? $object['subCode'] ?? $object['status'] ?? ''));
|
||||
$message = $object['MaterialInfo'] ?? $object['Message'] ?? $object['message'] ?? __('阿里云仍在处理认证结果', 'aksrt');
|
||||
if ($passed === 'F') {
|
||||
return ProviderResult::failed($status ?: 'not_passed', sanitize_text_field((string) $message));
|
||||
}
|
||||
if ($object === []) {
|
||||
$debug = $this->response_debug_summary($response, $object);
|
||||
$this->log_debug('DescribeFaceVerify empty ResultObject', $debug);
|
||||
@@ -105,10 +109,9 @@ final class AliyunProvider implements ProviderInterface {
|
||||
]);
|
||||
}
|
||||
if ($status === '' || in_array($status, ['PROCESSING', 'INIT', 'PENDING'], true)) {
|
||||
$message = $object['MaterialInfo'] ?? $object['Message'] ?? $object['message'] ?? __('阿里云仍在处理认证结果', 'aksrt');
|
||||
return ProviderResult::pending(['result_code' => $status ?: 'processing', 'message' => sanitize_text_field((string) $message)]);
|
||||
}
|
||||
return ProviderResult::failed($status, sanitize_text_field((string) ($object['MaterialInfo'] ?? $object['Message'] ?? $object['message'] ?? __('实人认证未通过', 'aksrt'))));
|
||||
return ProviderResult::failed($status, sanitize_text_field((string) $message));
|
||||
}
|
||||
|
||||
private function is_public_https_url(string $url): bool {
|
||||
|
||||
Reference in New Issue
Block a user