안전미션 페이지 직접 진입
미션 API 에러가 startWalk보다 먼저 발생합니다.
GET /main 또는 /missions 에러
→ initializeMission 중단
→ resumeOrStart 실행 안 함
→ startWalk 실행 안 함
→ 게이트로 이동
쉽게 말하면, 위젯과 미션 페이지가 같은 걸음수 측정기를 함께 조작합니다. 위젯이 측정기를 끄면, 미션 페이지가 그 사실을 즉시 모를 수 있습니다.
/main → 걸음수 복원 → 미션 API들 → 성공 후 getWalkStatus → idle이면 startWalk 순서입니다.stop 시 네이티브 내부 걸음수는 0으로 초기화되지만, stop 순간 기존 JS 콜백에 0을 보내지는 않습니다. JS 콜백 연결도 끊지 않습니다.
미션 API 에러가 startWalk보다 먼저 발생합니다.
게이트에서 미션 페이지로 이동해도, 미션 API가 다시 검증합니다. 운영시간 외면 에러 후 게이트로 돌아갑니다.
네이티브 startWalk가 서버 POST /start보다 먼저 실행됩니다. 네이티브가 허용했는데 서버가 거부하면 네이티브 측정만 남을 수 있습니다. 현재 start API 실패 시 stop 롤백이 없습니다.
| 영역 | 상태 |
|---|---|
| 프론트 화면 | 8,000걸음 유지 |
| localStorage | 8,000걸음 유지 |
| 네이티브 | idle, 내부 걸음수 0 |
| JS 콜백 | 연결 유지 |
| 실제 측정 | 중지 |
현재 미션 페이지는 Foreground를 처리하지 않습니다. Active에서도 EMART_PAY 미션만 재조회합니다. 따라서 포그라운드 직후 자동 startWalk나 상태 재검증은 없습니다.
| 상황 | 현재 동작 | 결과 |
|---|---|---|
| 미션 페이지 유지 | Foreground 처리 없음 | 이전 걸음수 고정, 실제 측정 중지 |
| 미션 페이지 유지 후 재시작 | 새 콜백을 기존 값에 그대로 대입 | 8,000 → 20처럼 급감, 저장·로그도 새 값으로 변경 |
| 웹뷰 재생성 + 진행 불가 API | API 에러 후 게이트 이동 | startWalk 실행 안 됨 |
| 웹뷰 재생성 + API 성공 | idle 확인 후 startWalk | 0부터 재측정, 첫 콜백이 기존 값을 덮음 |
| 게이트 화면 유지 | Foreground 재조회 없음 | 오래된 accessible/started/button 상태 유지 |
운영시간 외·비운영 요일·대상 점포 아님 등은 게이트 안내를 표시합니다. measuring이면 stopWalk를 호출합니다.
게이트 리다이렉트 코드이면 예외 처리 후 router.replace(Gate)합니다. 이 에러가 발생하면 미션 페이지의 startWalk까지 가지 않습니다.
랭킹·배너·건강 다이어리·추천상품은 병렬 호출됩니다. 일부 응답은 게이트 이동 직전까지 남을 수 있습니다.
Foreground에서 서버 이용 가능 여부를 다시 확인하지 않습니다.Active에서도 걸음수 상태나 WALKING 미션을 갱신하지 않고 EMART_PAY만 확인합니다.idle은 시작 전, 위젯 중지, 운영시간 외, 자정 초기화 등을 구분하지 못합니다./start 실패 시 네이티브 측정 중지 롤백이 없습니다.getWalkStatus로 실제 네이티브 상태를 확인합니다.POST /start 실패 시 네이티브 측정을 롤백하거나, 네이티브가 서버 가능 여부를 확인한 뒤 시작합니다.