- app/work/saju/layout.tsx: isServiceVisible 가드 제거, 사주 서비스 공개 전환 - lib/service-visibility.ts: HideableService에서 saju 제거 - app/api/admin/services/route.ts: DEFAULT_SERVICES에서 saju 행 제거 - app/api/saju/analyze/route.ts: saju_detail 결제 게이트(403) 제거, 로그인(401) + 서버측 일일 1회 제한(429, ai_usage_log 기반)으로 교체. recordUsage는 실제 Gemini 해석 성공 반환 직전에만 호출(MOCK 폴백 제외) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
28 lines
853 B
TypeScript
28 lines
853 B
TypeScript
import type { Metadata } from 'next';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'AI 사주 분석',
|
|
description:
|
|
'생년월일시를 입력하면 Gemini AI가 사주팔자를 분석합니다. 일간·오행·대운·세운 기반 12개 항목 상세 해석. 재물운·애정운·직업·건강 포함.',
|
|
keywords: [
|
|
'AI 사주',
|
|
'사주풀이',
|
|
'사주팔자',
|
|
'사주 분석',
|
|
'오행 분석',
|
|
'대운',
|
|
'세운',
|
|
'사주 운세',
|
|
],
|
|
openGraph: {
|
|
title: 'AI 사주 분석 | 쟁승메이드',
|
|
description:
|
|
'Gemini AI 기반 사주팔자 분석. 일간·오행·대운·세운·재물운·애정운 12개 항목 해석.',
|
|
url: 'https://jaengseung-made.com/work/saju',
|
|
},
|
|
};
|
|
|
|
export default function SajuLayout({ children }: { children: React.ReactNode }) {
|
|
return <>{children}</>;
|
|
}
|