diff --git a/src/AKSRT/Identity/Provider/AliyunProvider.php b/src/AKSRT/Identity/Provider/AliyunProvider.php index cf86db16..246b3eba 100644 --- a/src/AKSRT/Identity/Provider/AliyunProvider.php +++ b/src/AKSRT/Identity/Provider/AliyunProvider.php @@ -95,6 +95,15 @@ 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'] ?? '')); + if ($object === []) { + $debug = $this->response_debug_summary($response, $object); + $this->log_debug('DescribeFaceVerify empty ResultObject', $debug); + return ProviderResult::pending([ + 'request_id' => sanitize_text_field((string) ($response['RequestId'] ?? '')), + 'result_code' => 'processing', + 'message' => sprintf(__('阿里云已返回成功状态,认证明细仍在生成中:%s', 'aksrt'), $debug), + ]); + } 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)]);