diff --git a/.env.dev b/.env.dev index 902285f..22dc22d 100644 --- a/.env.dev +++ b/.env.dev @@ -11,7 +11,7 @@ STOVE_API_URL_SERVERL=https://i-api-dev.onstove.com STOVE_M_API_URL=https://maintenance.gate8.com # STOVE - GNB -STOVE_GNB=https://js-cdn-dev.onstove.com/libs/common-gnb/latest/cp-header.js +STOVE_GNB=https://js-cdn-dev.onstove.com/libs/common-gnb/latest/stove-gnb.js # STOVE - Client Download STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/launcher-pack.js diff --git a/.env.live b/.env.live index f6ea327..9dc352f 100644 --- a/.env.live +++ b/.env.live @@ -11,7 +11,7 @@ STOVE_API_URL_SERVERL=https://i-api.onstove.com STOVE_M_API_URL=https://maintenance.onstove.com # STOVE - GNB -STOVE_GNB=https://js-cdn.onstove.com/libs/common-gnb/latest/cp-header.js +STOVE_GNB=https://js-cdn.onstove.com/libs/common-gnb/latest/stove-gnb.js # STOVE - Client Download STOVE_LAUNCHER_SCRIPT=https://js-cdn.onstove.com/libs/stove-js-service/latest/launcher-pack.js diff --git a/.env.qa b/.env.qa index 4a586e2..c389adc 100644 --- a/.env.qa +++ b/.env.qa @@ -11,7 +11,7 @@ STOVE_API_URL_SERVERL=https://i-api.gate8.com STOVE_M_API_URL=https://maintenance.gate8.com # STOVE - GNB -STOVE_GNB=https://js-cdn-qa.onstove.com/libs/common-gnb/latest/cp-header.js +STOVE_GNB=https://js-cdn-qa.onstove.com/libs/common-gnb/latest/stove-gnb.js # STOVE - Client Download STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/launcher-pack.js diff --git a/.env.sandbox b/.env.sandbox index baf4b74..384862f 100644 --- a/.env.sandbox +++ b/.env.sandbox @@ -11,7 +11,7 @@ STOVE_API_URL_SERVERL=https://i-api.gate8.com STOVE_M_API_URL=https://maintenance.gate8.com # STOVE - GNB -STOVE_GNB=https://js-cdn.gate8.com/libs/common-gnb/latest/cp-header.js +STOVE_GNB=https://js-cdn.gate8.com/libs/common-gnb/latest/stove-gnb.js # STOVE - Client Download STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/launcher-pack.js diff --git a/app/pages/[d1]/index.vue b/app/pages/[d1]/index.vue index 6d1ae69..dceae28 100644 --- a/app/pages/[d1]/index.vue +++ b/app/pages/[d1]/index.vue @@ -9,7 +9,6 @@ const currentLayout = computed(() => getLayoutType(pageData.value)) definePageMeta({ layout: false, // 동적 레이아웃을 위해 기본 레이아웃 비활성화 - middleware: ['inspection'] }) diff --git a/app/pages/error.vue b/app/pages/error.vue new file mode 100644 index 0000000..6de5f13 --- /dev/null +++ b/app/pages/error.vue @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + {{ errorTitle }} + + + {{ errorDescription }} + + + + + + + {{ homeButtonText }} + + + + + + + + \ No newline at end of file diff --git a/app/pages/index.vue b/app/pages/index.vue index 6db7172..a151a5c 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -7,13 +7,10 @@ const { pageData } = storeToRefs(pageDataStore) const currentLayout = computed(() => getLayoutType(pageData.value)) -console.log("🚀 ~ currentLayout:", currentLayout) definePageMeta({ layout: false, // 동적 레이아웃을 위해 기본 레이아웃 비활성화 - middleware: ['inspection'] }) - diff --git a/error.vue b/error.vue index 4055e3d..2509015 100644 --- a/error.vue +++ b/error.vue @@ -1,25 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + {{ errorTitle }} + + + {{ errorDescription }} + + + + + + + {{ homeButtonText }} + + + + + + +const gameDataStore = useGameDataStore() +const { gameData } = storeToRefs(gameDataStore) +const localePath = useLocalePath() - - - {{ error?.statusCode }} - {{ error?.statusMessage }} - - Clear errors - - - +const gameName = computed(() => gameData.value?.game_name || '게임') +const homeButtonText = computed(() => `${gameName.value} 홈페이지 가기`) - + +// 에러 상태 코드에 따른 메시지 설정 +const errorTitle = computed(() => { + if (props.error?.statusCode === 404) { + return '페이지를 찾을 수 없어요.' + } + return '페이지를 찾을 수 없어요.' +}) + +const errorDescription = computed(() => { + if (props.error?.statusCode === 404) { + return '주소가 바뀌었거나 잘못 입력된 것 같아요. 주소를 다시 확인해 주세요.' + } + return '주소가 바뀌었거나 잘못 입력된 것 같아요. 주소를 다시 확인해 주세요.' +}) + +definePageMeta({ + layout: 'only-stove' +}) + + + + \ No newline at end of file diff --git a/layers/components/blocks/StoveGnbNew.vue b/layers/components/blocks/StoveGnbNew.vue new file mode 100644 index 0000000..996902d --- /dev/null +++ b/layers/components/blocks/StoveGnbNew.vue @@ -0,0 +1,61 @@ + + + + \ No newline at end of file diff --git a/layers/components/layouts/Footer.vue b/layers/components/layouts/Footer.vue index 60a51bd..936d456 100644 --- a/layers/components/layouts/Footer.vue +++ b/layers/components/layouts/Footer.vue @@ -56,7 +56,7 @@ {{ footerAgeRatingInfo[0] }} - {{ footerData.game_rating_info.company_name }} + {{ footerData.game_rating_info.title }} {{ footerAgeRatingInfo[1] }} @@ -114,14 +114,14 @@ @@ -158,8 +158,7 @@ const { tm } = useI18n({ const gameDataStore = useGameDataStore() const { gameData } = storeToRefs(gameDataStore) - -const path = ref(`${staticUrl}/local/template/${gameData.value.s3_folder_name}`) +// const path = ref(`${staticUrl}/local/template/${gameData.value.s3_folder_name}`) // 공통다국어 data const footerLinks = computed((): FooterMenuItem[] => { @@ -179,17 +178,17 @@ const getGameRatingImage = computed((): string[] => { return contentInfo.map(item => { switch (item) { case '12': - return `${path.value}/common/grades_age/Type12.svg` + return getImageHost('/images/common/grades_age/Type12.svg', { imageType: 'common' }) case '15': - return `${path.value}/common/grades_age/Type15.svg` + return getImageHost('/images/common/grades_age/Type15.svg', { imageType: 'common' }) case '19': - return `${path.value}/common/grades_age/Type19.svg` + return getImageHost('/images/common/grades_age/Type19.svg', { imageType: 'common' }) case 'all': - return `${path.value}/common/grades_age/TypeAll.svg` + return getImageHost('/images/common/grades_age/TypeAll.svg', { imageType: 'common' }) case 'e': - return `${path.value}/common/grades_age/TypeExempt.svg` + return getImageHost('/images/common/grades_age/TypeExempt.svg', { imageType: 'common' }) default: - return `${path.value}/common/grades_age/TypeTest.svg` + return getImageHost('/images/common/grades_age/TypeTest.svg', { imageType: 'common' }) } }) }) @@ -201,19 +200,19 @@ const getContentInfoImage = computed((): string[] => { return contentInfo.map(item => { switch (item) { case '1': - return `${path.value}/common/grades_use/Type-sexual.svg` + return getImageHost('/images/common/grades_use/Type-sexual.svg', { imageType: 'common' }) case '2': - return `${path.value}/common/grades_use/Type-fear.svg` + return getImageHost('/images/common/grades_use/Type-fear.svg', { imageType: 'common' }) case '3': - return `${path.value}/common/grades_use/Type-inapposite.svg` + return getImageHost('/images/common/grades_use/Type-inapposite.svg', { imageType: 'common' }) case '4': - return `${path.value}/common/grades_use/Type-drug.svg` + return getImageHost('/images/common/grades_use/Type-drug.svg', { imageType: 'common' }) case '5': - return `${path.value}/common/grades_use/Type-crime.svg` + return getImageHost('/images/common/grades_use/Type-crime.svg', { imageType: 'common' }) case '6': - return `${path.value}/common/grades_use/Type-speculation.svg` + return getImageHost('/images/common/grades_use/Type-speculation.svg', { imageType: 'common' }) case '7': - return `${path.value}/common/grades_use/Type-violence.svg` + return getImageHost('/images/common/grades_use/Type-violence.svg', { imageType: 'common' }) } }) }) diff --git a/layers/components/layouts/Header.vue b/layers/components/layouts/Header.vue index ef03c13..3fa922d 100644 --- a/layers/components/layouts/Header.vue +++ b/layers/components/layouts/Header.vue @@ -171,7 +171,7 @@ onBeforeUnmount(() => { - + diff --git a/layers/components/layouts/StoveHeader.vue b/layers/components/layouts/StoveHeader.vue new file mode 100644 index 0000000..ae4abe8 --- /dev/null +++ b/layers/components/layouts/StoveHeader.vue @@ -0,0 +1,18 @@ + + + + + + + + + + +c \ No newline at end of file diff --git a/layers/layouts/inspection.vue b/layers/layouts/onlyStove.vue similarity index 73% rename from layers/layouts/inspection.vue rename to layers/layouts/onlyStove.vue index ddd7e8c..33b1bcd 100644 --- a/layers/layouts/inspection.vue +++ b/layers/layouts/onlyStove.vue @@ -1,6 +1,6 @@ - + diff --git a/layers/server/middleware/gameData.ts b/layers/server/middleware/gameData.ts index a5a251e..1998582 100644 --- a/layers/server/middleware/gameData.ts +++ b/layers/server/middleware/gameData.ts @@ -203,6 +203,7 @@ export default defineEventHandler(async event => { game_domain: event.context.gameDomain || '', lang_code: finalLocale, } + console.log("🚀 ~ apiUrl:", queryParams) const response = (await $fetch(apiUrl, { query: queryParams, })) as GameDataResponse | null diff --git a/layers/types/Common.ts b/layers/types/Common.ts index 70c472a..5b60274 100644 --- a/layers/types/Common.ts +++ b/layers/types/Common.ts @@ -37,6 +37,7 @@ interface FooterMenuItem { } interface GameRatingInfo { + title: string company_name: string rating_grade: string reg_no: string @@ -47,8 +48,13 @@ interface GameRatingInfo { } interface FooterData { + use_game_rating: boolean game_rating_info: GameRatingInfo - use_dev_ci_url?: string + use_dev_ci_url?: boolean + dev_ci_url?: string + dev_ci_img_path?: string + fund_display_yn?: string + fund_display_url?: string } interface DevCiConfig { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 336f762..b3f4e6b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,7 +112,7 @@ importers: specifier: ^3.4.17 version: 3.4.17 typescript: - specifier: ^5.3.3 + specifier: ^5.5.0 version: 5.9.2 vue-tsc: specifier: ^3.0.7
+ {{ errorDescription }} +
{{ error?.statusMessage }}