fix. 이미지 경로 수정

This commit is contained in:
clkim
2025-11-06 17:57:24 +09:00
parent 2d413c865c
commit a2112f7b2d
8 changed files with 69 additions and 21 deletions

View File

@@ -10,28 +10,26 @@ const props = withDefaults(defineProps<Props>(), {
imageType: 'game',
})
const isDev = process.env.NODE_ENV === 'development'
const rootPath = isDev ? '' : '/templates/brand'
const isResponsiveMode = computed(() => {
return typeof props.src === 'object' && !!props.src.pc && !!props.src.mo
})
const imagePaths = computed(() => {
if (typeof props.src === 'string') {
const resolved = getImageHost(`${rootPath}${props.src}`, {
const resolved = getImageHost(props.src, {
imageType: props.imageType,
})
return { pc: resolved, mo: '' }
return { pc: '', mo: resolved }
}
return {
pc: props.src.pc
? getImageHost(`${rootPath}${props.src.pc}`, {
? getImageHost(props.src.pc, {
imageType: props.imageType,
})
: '',
mo: props.src.mo
? getImageHost(`${rootPath}${props.src.mo}`, {
? getImageHost(props.src.mo, {
imageType: props.imageType,
})
: '',
@@ -46,11 +44,5 @@ const imagePaths = computed(() => {
<img :src="imagePaths.pc" :alt="alt" v-bind="$attrs" loading="lazy" />
</picture>
<img
v-else
:src="imagePaths.pc || imagePaths.mo"
:alt="alt"
v-bind="$attrs"
loading="lazy"
/>
<img v-else :src="imagePaths.mo" :alt="alt" v-bind="$attrs" loading="lazy" />
</template>

View File

@@ -0,0 +1,27 @@
<script setup lang="ts">
interface Props {
size?: number | string
color?: string
}
withDefaults(defineProps<Props>(), {
size: 16,
color: '#7F7F7F',
})
</script>
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
:width="size"
:height="size"
viewBox="0 0 16 16"
:fill="color"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M2.86201 5.19526C3.12236 4.93491 3.54447 4.93491 3.80482 5.19526L8.00008 9.39052L12.1953 5.19526C12.4557 4.93491 12.8778 4.93491 13.1382 5.19526C13.3985 5.45561 13.3985 5.87772 13.1382 6.13807L8.47149 10.8047C8.21114 11.0651 7.78903 11.0651 7.52868 10.8047L2.86201 6.13807C2.60166 5.87772 2.60166 5.45561 2.86201 5.19526Z"
/>
</svg>
</template>

View File

@@ -0,0 +1,27 @@
<script setup lang="ts">
interface Props {
size?: number | string
color?: string
}
withDefaults(defineProps<Props>(), {
size: 24,
color: '#666666',
})
</script>
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
:width="size"
:height="size"
viewBox="0 0 24 24"
:fill="color"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M20.5607 5.93934C21.1465 6.52513 21.1465 7.47487 20.5607 8.06066L10.5607 18.0607C10.2652 18.3561 9.85997 18.5149 9.44246 18.4989C9.02495 18.4829 8.63305 18.2934 8.36114 17.9762L3.36114 12.1429C2.82201 11.5139 2.89485 10.5669 3.52384 10.0278C4.15283 9.48865 5.09978 9.56149 5.63891 10.1905L9.58475 14.794L18.4394 5.93934C19.0252 5.35355 19.9749 5.35355 20.5607 5.93934Z"
/>
</svg>
</template>

View File

@@ -39,6 +39,7 @@ export const useResponsiveSrc = () => {
path: PageDataResourceGroupResPath,
options?: {
resourcesType?: 'image' | 'video'
imageType?: 'game' | 'common'
}
) => {
const result = getDeviceSrc(path, options)

View File

@@ -48,7 +48,7 @@ export const useCheckGameStart = () => {
// 일시적으로 오류가 발생했습니다. 잠시 후 다시 이용해 주세요. 동일한 현상이 계속 발생할 경우 고객센터로 문의해 주세요.
modalStore.handleOpenConfirm({
contentText: tm('Alert_Error'),
confirmButtonText: tm('Text_StoveLogin'),
confirmButtonText: tm('Text_Customer'),
confirmButtonEvent: () => {
window.open(customerService, '_blank')
},
@@ -87,7 +87,7 @@ export const useCheckGameStart = () => {
const gameDataStore = useGameDataStore()
const { gameData } = storeToRefs(gameDataStore)
const accessTokenSub = useCookie('SUAT')
const accessTokenSub = csrGetAccessToken()
const stoveGameId = gameData.value?.game_id || ''
const nationCookie = useCookie('NNTO').value
const localeCookie = useCookie('LOCALE').value
@@ -96,7 +96,7 @@ export const useCheckGameStart = () => {
// 토큰 유효성 체크
const validateTokenResult = await handleTokenValidation(
accessTokenSub.value || ''
accessTokenSub || ''
)
// 토큰 유효성 체크 실패 시

View File

@@ -37,7 +37,7 @@ export const useTokenValidation = () => {
const showErrorModal = () => {
modalStore.handleOpenConfirm({
contentText: tm('Alert_Error'),
confirmButtonText: tm('Text_StoveLogin'),
confirmButtonText: tm('Text_Customer'),
confirmButtonEvent: () => {
window.open(customerServiceUrl, '_blank')
},

View File

@@ -52,12 +52,13 @@ export const getDeviceSrc = (
pathArray: PageDataResourceGroupResPath,
options?: {
resourcesType?: 'image' | 'video'
imageType?: 'common' | 'game'
}
) => {
// pathArray가 없으면 null 반환
if (!pathArray) return null
const { resourcesType = 'image' } = options ?? {}
const { resourcesType = 'image', imageType = 'game' } = options ?? {}
const pcField = resourcesType === 'video' ? 'path_vid_pc' : 'path_pc'
const mobileField = resourcesType === 'video' ? 'path_vid_mo' : 'path_mo'
@@ -68,8 +69,8 @@ export const getDeviceSrc = (
if (!pcPath && !mobilePath) return null
const resolvedImages = {
pc: pcPath ? getImageHost(pcPath) : '',
mobile: mobilePath ? getImageHost(mobilePath) : '',
pc: pcPath ? getImageHost(pcPath, { imageType }) : '',
mobile: mobilePath ? getImageHost(mobilePath, { imageType }) : '',
}
return {

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB