fix: read nested review points payload safely

This commit is contained in:
wren
2026-05-06 17:38:31 +08:00
parent 68139631d9
commit f758acaa18
+7 -1
View File
@@ -320,6 +320,10 @@ function getNestedReviewPayload(value: unknown): NestedReviewPayload | null {
return candidate;
}
function getReviewPointsArray(value: unknown): ReviewPoint[] {
return Array.isArray(value) ? (value as ReviewPoint[]) : [];
}
export const meta: MetaFunction = () => {
return [
{ title: "评查详情 - 中国烟草AI合同及卷宗审核系统" },
@@ -463,8 +467,10 @@ export default function ReviewDetails() {
const isLoaderError = isReviewsTestLoaderError(loaderData);
const successLoaderData = isLoaderError ? null : loaderData;
const nestedReviewPayload = getNestedReviewPayload(successLoaderData?.reviewPoints);
const directReviewPoints = getReviewPointsArray(successLoaderData?.reviewPoints);
const nestedReviewPoints = getReviewPointsArray(nestedReviewPayload?.data);
const document = successLoaderData?.document ?? nestedReviewPayload?.document ?? null;
const reviewPoints = successLoaderData?.reviewPoints ?? nestedReviewPayload?.data ?? [];
const reviewPoints = directReviewPoints.length > 0 ? directReviewPoints : nestedReviewPoints;
const statistics = {
...EMPTY_STATISTICS,
...(nestedReviewPayload?.stats ?? null),