feat: 점검 페이지 추가, 언어 정책 추가

This commit is contained in:
“hyeonggkim”
2025-10-31 15:30:06 +09:00
parent 7f040d432b
commit 74851e01ed
13 changed files with 629 additions and 356 deletions

View File

@@ -119,15 +119,10 @@
class="nx3 ml-2.5 md:ml-4"
>
<img
src="https://static-pubcomm.gate8.com/local/template/l9/common/logo_nx3.png"
:src="`${staticUrl}${setDevCi.dev_ci_img_path}`"
alt="CI"
class="w-auto h-auto"
/>
<!-- <img
:src="setDevCi.dev_ci_img_path"
alt="CI"
class="w-auto h-auto"
/> -->
</a>
</div>
@@ -144,6 +139,7 @@
</template>
<script setup lang="ts">
import type { FooterMenuItem, FooterData, DevCiConfig } from '#layers/types/Common'
const config = useRuntimeConfig()
const staticUrl = config.public.staticUrl
@@ -163,33 +159,7 @@ const { tm } = useI18n({
const gameDataStore = useGameDataStore()
const { gameData } = storeToRefs(gameDataStore)
// 타입 정의
interface FooterMenuItem {
title: string
url: string
target?: string
active?: string
}
interface GameRatingInfo {
company_name: string
rating_grade: string
reg_no: string
prod_date: string
rating_class_no: string
rating_type: string
content_info: string
}
interface FooterData {
game_rating_info: GameRatingInfo
use_dev_ci_url?: string
}
interface DevCiConfig {
dev_ci_yn: boolean
dev_ci_img_path: string
}
const path = ref<string>(`${staticUrl}/local/template/${gameData.value.s3_folder_name}`)
// 공통다국어 data
const footerLinks = computed((): FooterMenuItem[] => {
@@ -207,42 +177,43 @@ const getGameRatingImage = computed((): string[] => {
const contentInfo = footerData.value.game_rating_info.rating_type.split(',')
// rating_type 12, 15, 18, 19 에 따라 이미지명을 가져오고 이미지를 반환
return contentInfo.map(item => {
if (item === '12') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/Type12.svg`
} else if (item === '15') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/Type15.svg`
} else if (item === '19') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/Type19.svg`
} else if (item === 'all') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/TypeAll.svg`
} else if (item === 'e') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/TypeExempt.svg`
} else {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_age/TypeTest.svg`
switch (item) {
case '12':
return `${path.value}/common/grades_age/Type12.svg`
case '15':
return `${path.value}/common/grades_age/Type15.svg`
case '19':
return `${path.value}/common/grades_age/Type19.svg`
case 'all':
return `${path.value}/common/grades_age/TypeAll.svg`
case 'e':
return `${path.value}/common/grades_age/TypeExempt.svg`
default:
return `${path.value}/common/grades_age/TypeTest.svg`
}
})
})
const getContentInfoImage = computed((): string[] => {
const contentInfo = footerData.value.game_rating_info.content_info.split(',')
contentInfo.pop()
return contentInfo.map(item => {
if (item === '1') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-sexual.svg`
} else if (item === '2') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-fear.svg`
} else if (item === '3') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-inapposite.svg`
} else if (item === '4') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-drug.svg`
} else if (item === '5') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-crime.svg`
} else if (item === '6') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-speculation.svg`
} else if (item === '7') {
return `${staticUrl}/local/template/${gameData.value.s3_folder_name}/common/grades_use/Type-violence.svg`
switch (item) {
case '1':
return `${path.value}/common/grades_use/Type-sexual.svg`
case '2':
return `${path.value}/common/grades_use/Type-fear.svg`
case '3':
return `${path.value}/common/grades_use/Type-inapposite.svg`
case '4':
return `${path.value}/common/grades_use/Type-drug.svg`
case '5':
return `${path.value}/common/grades_use/Type-crime.svg`
case '6':
return `${path.value}/common/grades_use/Type-speculation.svg`
case '7':
return `${path.value}/common/grades_use/Type-violence.svg`
}
})
})