Skip to content

[FEATURE] 페이지 불가용 분석 응답 처리#84

Merged
kbh0218 merged 1 commit into
devfrom
feat/#83-page-unavailable-analysis-response
Jun 1, 2026
Merged

[FEATURE] 페이지 불가용 분석 응답 처리#84
kbh0218 merged 1 commit into
devfrom
feat/#83-page-unavailable-analysis-response

Conversation

@kbh0218

@kbh0218 kbh0218 commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Closes #83

개요

백엔드 LinClean-BE-spring PR #47에서 추가된 페이지 불가용(PAGE_UNAVAILABLE) 처리 결과를 프론트에 반영했습니다.

Spring 분석 응답에 추가된 contentAnalysisError 필드를 프론트 타입에 반영하고, 분석 결과 화면에서 페이지 본문을 가져오지 못한 사유를 사용자에게 안내하도록 처리했습니다.

또한 분석 자체가 FAILED로 종료되고 errorCodePAGE_UNAVAILABLE인 경우에는 검사 중 화면에서 페이지 불가용 전용 안내 문구를 표시하도록 보완했습니다.

주요 구현 내용

  • AnalysisResponse 타입에 contentAnalysisError 필드 추가
  • contentAnalysisError를 사용자 안내 문구로 변환하는 유틸 추가
  • 코드성 에러 값이 내려와도 원문을 그대로 노출하지 않고 기본 안내 문구 표시
  • 안전/주의/위험 결과 화면에 페이지 접근 안내 카드 추가
  • contentAnalysisError가 없는 기존 결과 화면은 기존 UI 유지
  • ScanResultReasonlabel prop 추가
  • 기존 판정 이유 라벨은 기본값으로 유지
  • FAILED + PAGE_UNAVAILABLE 응답은 검사 중 화면에서 전용 실패 안내로 처리
  • 페이지 불가용 실패 시 기존 다시 검사, 돌아가기 흐름 유지
  • 기존 분석 요청, polling, 결과 화면 이동 정책 유지

파일별 역할

  • api/analyses.ts: 분석 응답 타입에 contentAnalysisError?: string 추가
  • utils/analysis-result-display.ts: contentAnalysisError를 사용자용 문구로 변환하는 getContentAnalysisErrorText 추가
  • components/ui/scan-result-reason.tsx: 결과 사유 카드의 라벨을 외부에서 지정할 수 있도록 label prop 추가
  • app/(tabs)/(home)/scan-result.tsx: 안전 결과 화면에 페이지 접근 안내 카드 표시
  • app/(tabs)/(home)/scan-result-caution.tsx: 주의 결과 화면에 페이지 접근 안내 카드 표시
  • app/(tabs)/(home)/scan-result-block.tsx: 위험 결과 화면에 페이지 접근 안내 카드 표시
  • app/(tabs)/(home)/scanning.tsx: FAILED + PAGE_UNAVAILABLE 응답에 대한 전용 안내 문구 처리

해결한 이슈 목록

  • 백엔드 PR #47의 분석 응답 변경 사항 확인
  • api/analyses.tsAnalysisResponse 타입에 contentAnalysisError?: string 필드 추가
  • contentAnalysisError가 없는 기존 정상 분석 응답 흐름 유지
  • contentAnalysisError가 있는 응답을 검사 결과 화면에서 안내할 수 있도록 처리
  • 페이지 불가용 사유를 사용자에게 자연스러운 한글 문구로 변환
  • 코드성 또는 예상하지 못한 contentAnalysisError 값이 와도 화면이 깨지지 않도록 방어 처리
  • 페이지 본문 분석을 완료하지 못한 경우에도 기존 verdict 결과 화면 이동 흐름 유지
  • 안전 결과 화면에서 페이지 접근 안내 카드 표시
  • 주의 결과 화면에서 페이지 접근 안내 카드 표시
  • 위험 결과 화면에서 페이지 접근 안내 카드 표시
  • 기존 summaryreasons 표시 우선순위 유지
  • ScanResultReason의 기존 판정 이유 카드 동작 유지
  • 저장 링크 모달에 전달되는 기존 제목/설명 흐름 유지
  • 저장 링크 API 호출 시 analysisId 기반 저장 흐름 유지
  • FAILED + PAGE_UNAVAILABLE 케이스에서 검사 중 화면에 페이지 불가용 안내 표시
  • FAILED + PAGE_UNAVAILABLE 케이스에서 다시 검사, 돌아가기 버튼 흐름 유지

체크 사항

  • 커밋/코딩 컨벤션에 맞게 작성
  • 기존 분석 요청 및 polling 흐름 유지
  • 기존 안전/주의/위험 결과 화면 이동 정책 유지
  • contentAnalysisError가 없는 결과 화면 UI 영향 없음
  • npm run lint 통과

참고사항

  • 백엔드 PR: [FEATURE] 페이지 불가용(PAGE_UNAVAILABLE) 처리 추가 LinClean-BE-spring#47
  • contentAnalysisError는 Spring 응답의 AnalysisResponse에 추가된 필드입니다.
  • 백엔드 분석 API는 { data: AnalysisResponse } 형태로 응답하지만, 프론트 공통 API 클라이언트가 data를 unwrap하므로 화면에서는 기존처럼 AnalysisResponse로 다룹니다.
  • status: succeeded이고 contentAnalysisError가 있는 경우에는 결과 화면에서 페이지 접근 안내 카드를 표시합니다.
  • status: failed이고 errorCode: PAGE_UNAVAILABLE인 경우에는 결과 화면으로 이동하지 않고 검사 중 화면에서 실패 안내를 표시합니다.

Screenshots or Video

  • contentAnalysisError가 있는 분석 결과에서만 페이지 접근 안내 카드가 추가로 표시됩니다.
  • PAGE_UNAVAILABLE 실패 응답에서는 검사 중 화면의 실패 안내 문구가 보강됩니다
image

@kbh0218 kbh0218 requested review from minsoo0506 and sunm2n June 1, 2026 05:14
@kbh0218 kbh0218 self-assigned this Jun 1, 2026
@kbh0218 kbh0218 added the feature 기능개발 label Jun 1, 2026

@minsoo0506 minsoo0506 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했는데 코멘트할 부분은 없는 것 같습니다! 고생하셨습니다 :)

@kbh0218 kbh0218 merged commit 95148ce into dev Jun 1, 2026
@kbh0218 kbh0218 deleted the feat/#83-page-unavailable-analysis-response branch June 1, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 기능개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] 페이지 불가용(PAGE_UNAVAILABLE) 분석 응답 처리

2 participants