30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# 라우팅/조건 매칭(1차: exact)
|
|
|
|
## 라우팅 기본값
|
|
- `host + path` exact 매칭(정확 일치) 사용
|
|
- 기본 도메인: `aaa.com`
|
|
- 기본 라우트 path: `/`
|
|
- 예시: `aaa.com` + `/` , `aaa.com/google`
|
|
|
|
## 렌더 우선순위
|
|
1. `landingRoute` 조회 (`host`, `path`, `isActive`)
|
|
2. 해당 route의 `RouteCondition` 중 active 조건만 필터
|
|
3. 요일/시간/날짜 조건 일치 검사
|
|
4. `priority desc`, `updatedAt desc`로 정렬 후 첫 번째 사용
|
|
5. 조건 미매칭 시 기본 페이지 사용
|
|
|
|
## 호스트 정규화
|
|
- 요청 host는 소문자 변환, `www.` 제거, 포트(`:4000`, `:3000`) 분리 후 비교
|
|
- path는 정확 일치(`exact`) 방식
|
|
|
|
## 조건 스펙
|
|
- weekday: `weekMask` 7자리 문자열(일~토: `sun`~`sat`)에서 1이면 매칭
|
|
- time: `startMinute`~`endMinute` (0~1439)
|
|
- `start <= end` : 당일 범위
|
|
- `start > end` : 자정을 넘는 범위(예: 20:00~06:00)
|
|
- date: `startDate`, `endDate`
|
|
|
|
## 블록 정책(빌더)
|
|
- 블록형 구성 + 드래그 정렬
|
|
- 카카오 버튼 블록은 `kakaoSyncCode`를 페이지 블록 설정에 저장
|