feat: 점검 페이지 추가, external gamedata 호출 추가

This commit is contained in:
“hyeonggkim”
2025-11-03 13:06:58 +09:00
parent 9062e45fff
commit 33aece1011
8 changed files with 114 additions and 47 deletions

View File

@@ -1,4 +1,4 @@
import { useGameDataStore } from '#layers/stores/useGameDataStore'
import type { GameDataRequest, GameDataValue } from '#layers/types/api/gameData'
export default defineNuxtRouteMiddleware(async (to, _from) => {
// 서버 사이드에서는 스킵
@@ -6,13 +6,6 @@ export default defineNuxtRouteMiddleware(async (to, _from) => {
return
}
const gameDataStore = useGameDataStore()
// gameData가 로드되지 않았으면 스킵 (다른 미들웨어에서 로드됨)
if (!gameDataStore.gameData) {
return
}
// 현재 경로에서 언어 코드 추출
// 예: /ko/about/story -> ko
// 예: /en/test/page -> en
@@ -20,8 +13,21 @@ export default defineNuxtRouteMiddleware(async (to, _from) => {
const match = to.path.match(languagePattern)
const currentLangCode = match ? match[1] : null
//현재 url에서 게임 도메인만 추출
const currentDomain = window.location.hostname;
const req: GameDataRequest = {
gameDomain: `${currentDomain}`,
langCode: `${currentLangCode}`,
}
const { getGameDataExternal } = useGetGameDataExternal()
await getGameDataExternal(req)
const gameDataStore = useGameDataStore()
const gameData = gameDataStore.gameData as GameDataValue
const langCodes = gameData?.lang_codes
// 허용된 언어 코드 목록
const allowedLangCodes = gameDataStore.gameData.lang_codes || []
const allowedLangCodes = langCodes || []
// 현재 언어가 허용된 언어 목록에 없으면 에러 페이지로 이동
if (currentLangCode && !allowedLangCodes.includes(currentLangCode)) {