From 23621184c7dcdfe6323e5b91b2f5d3e158764635 Mon Sep 17 00:00:00 2001 From: clkim Date: Tue, 9 Dec 2025 17:03:13 +0900 Subject: [PATCH] =?UTF-8?q?fix.=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=9A=A9=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- layers/composables/uesGameLinkedData.ts | 5 --- layers/composables/usePreregist.ts | 5 --- layers/middleware/pageData.global.ts | 53 ++++++++++++++----------- 3 files changed, 30 insertions(+), 33 deletions(-) diff --git a/layers/composables/uesGameLinkedData.ts b/layers/composables/uesGameLinkedData.ts index 6ed3f35..38aa2a4 100644 --- a/layers/composables/uesGameLinkedData.ts +++ b/layers/composables/uesGameLinkedData.ts @@ -64,12 +64,10 @@ const useGameLinkedData = () => { setHasGuid(res.value?.guid > 0) } else { res = { code: res.code, message: res.message || '' } - console.log(`${logPrefix.failure}.getGuid: `, res) res.code = -99999 // else 알럿 띄우기 용 세팅 setHasGuid(false) } } else { - console.log(`${logPrefix.failure}.getGuid - res is null: `, res) res = { code: -99999, message: '' } setHasGuid(false) } @@ -130,7 +128,6 @@ const useGameLinkedData = () => { } else if (res.code === 515) { // [515] AccessToken이 유효하지 않을 경우 res = { code: res.code, message: res.message || '' } - console.log(`${logPrefix.failure}.getCharacterList: `, res) setCharacterList([] as CharacterInfo[]) setMainCharacter({} as CharacterInfo) } else { @@ -138,14 +135,12 @@ const useGameLinkedData = () => { // [502] 유효하지 않거나 잘못된 파라미터로 호출할 경우 // [701] 존재하지 않은 게임일 경우(game_no 기준) res = { code: res.code, message: res.message || '' } - console.log(`${logPrefix.failure}.getCharacterList: `, res) res.code = -99999 // else 알럿 띄우기 용 세팅 setCharacterList([] as CharacterInfo[]) setMainCharacter({} as CharacterInfo) } } else { res = { code: -99999, message: '' } - console.log(`${logPrefix.failure}.getCharacterList: `, res) setCharacterList([] as CharacterInfo[]) setMainCharacter({} as CharacterInfo) } diff --git a/layers/composables/usePreregist.ts b/layers/composables/usePreregist.ts index ad9e748..5814506 100644 --- a/layers/composables/usePreregist.ts +++ b/layers/composables/usePreregist.ts @@ -88,18 +88,15 @@ const usePreregist = () => { const headers = { Authorization: `Bearer ${req.accessToken}`, } - console.log("🚀 ~ getPreregist ~ req.event_code:", req.event_code) const body = { event_code: req.event_code, lang: req.lang || DEFAULT_LOCALE_CODE, terms_type: req.terms_type, } - const res = (await commonFetch('POST', url, { headers, body, })) as ResPreorderSelectEvent - console.log("🚀 ~ getPreregist ~ res:", res.value) // 응답 검증 if (!res) { @@ -186,13 +183,11 @@ const usePreregist = () => { country_dialing_code: req.country_dialing_code, birth_date: req.birth_date, } - console.log("🚀 ~ setPreregist ~ parema", body) const res = (await commonFetch('POST', url, { headers, body, })) as ResPreorderReserveDataUpdate - console.log("🚀 ~ ResPreorderReserveDataUpdate ~ res:", res.value) // 응답 검증 if (!res) { diff --git a/layers/middleware/pageData.global.ts b/layers/middleware/pageData.global.ts index e45f274..c0fd4c1 100644 --- a/layers/middleware/pageData.global.ts +++ b/layers/middleware/pageData.global.ts @@ -15,7 +15,6 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { const gameDomain = useGetGameDomain() const gameDataStore = useGameDataStore() const { gameData } = storeToRefs(gameDataStore) - console.log("🚀 ~ gameData:", gameData.value) const pageDataStore = usePageDataStore() const loadingStore = useLoadingStore() const { getPathAfterLanguage } = usePathResolver() @@ -31,25 +30,31 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { const pageUrl = getPathAfterLanguage(to.path) // 루트 경로(언어 코드만 있는 경로)로 접근할 때만 intro.page_url로 리다이렉트 - const isRootPath = !pageUrl || pageUrl === '' || pageUrl === '/' || pageUrl === `/${langCode}/` - console.log("🚀 ~ isRootPath:", isRootPath) - + const isRootPath = + !pageUrl || + pageUrl === '' || + pageUrl === '/' || + pageUrl === `/${langCode}/` + console.log('🚀 ~ isRootPath:', isRootPath) + if (isRootPath) { // gameData.intro.page_url이 있으면 해당 URL로 리다이렉트 const introPageUrl = gameData.value?.intro?.page_url if (introPageUrl && introPageUrl.trim() !== '') { // 외부 URL인지 확인 - const isExternalUrl = introPageUrl.startsWith('http://') || introPageUrl.startsWith('https://') - + const isExternalUrl = + introPageUrl.startsWith('http://') || + introPageUrl.startsWith('https://') + // 내부 경로인 경우 언어 코드 추가 let finalIntroUrl = introPageUrl if (!isExternalUrl) { const normalizedIntroUrl = introPageUrl.split('?')[0] // 쿼리스트링 제외 - + // 언어 코드 패턴 확인 (예: /ko, /en, /zh-tw 등) const languagePattern = /^\/[a-z]{2}(-[a-z]{2})?(\/|$)/ const hasLanguageCode = languagePattern.test(normalizedIntroUrl) - + // 언어 코드가 없으면 추가 if (!hasLanguageCode) { // 경로가 /로 시작하지 않으면 / 추가 @@ -57,28 +62,29 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { ? normalizedIntroUrl : `/${normalizedIntroUrl}` finalIntroUrl = `/${langCode}${pathWithSlash}` - + // 쿼리스트링이 있으면 다시 추가 if (introPageUrl.includes('?')) { finalIntroUrl += '?' + introPageUrl.split('?')[1] } } } - + // 무한 리다이렉트 방지: 현재 경로와 리다이렉트할 URL 비교 const normalizedFinalUrl = finalIntroUrl.split('?')[0] // 쿼리스트링 제외 const currentPath = to.path - const isSamePath = !isExternalUrl && (currentPath === normalizedFinalUrl) - + const isSamePath = !isExternalUrl && currentPath === normalizedFinalUrl + if (!isSamePath) { // 다른 경로에서 접근한 경우에만 리다이렉트 const queryString = to.fullPath.includes('?') ? '?' + to.fullPath.split('?')[1] : '' - const redirectUrl = queryString && !finalIntroUrl.includes('?') - ? `${finalIntroUrl}${queryString}` - : finalIntroUrl - console.log("🚀 ~ pageData.global redirectUrl:", redirectUrl) + const redirectUrl = + queryString && !finalIntroUrl.includes('?') + ? `${finalIntroUrl}${queryString}` + : finalIntroUrl + console.log('🚀 ~ pageData.global redirectUrl:', redirectUrl) return navigateTo(redirectUrl, { external: isExternalUrl }) } } @@ -91,7 +97,7 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { pageUrl === '/' || pageUrl === `/${langCode}/` ) { - console.log("🚀 ~ pageData.global /home 리다이렉트") + console.log('🚀 ~ pageData.global /home 리다이렉트') return navigateTo(`/${langCode}/home`, { external: false }) } @@ -106,16 +112,18 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { Authorization: `Bearer ${accessToken}`, } - // 미리보기 쿼리스트링에서 파라미터 값 추출 + // 미리보기 쿼리스트링에서 파라미터 값 추출 // preview?page_seq=1&page_ver=1&lang_code=ko - const queryString = to.fullPath.includes('?') ? to.fullPath.split('?')[1] : '' + const queryString = to.fullPath.includes('?') + ? to.fullPath.split('?')[1] + : '' const urlParams = new URLSearchParams(queryString) const pageSeq = urlParams.get('page_seq') || '' const pageVer = urlParams.get('page_ver') || '' const queryLangCode = urlParams.get('lang_code') || langCode - let queryParams: Record; - let apiUrl: string; + let queryParams: Record + let apiUrl: string if (pageUrl === '/preview') { apiUrl = `${stoveApiBaseUrl}/pub-comm/v1.0/template/page/preview` queryParams = { @@ -124,7 +132,6 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { page_ver: pageVer, _t: Date.now().toString(), // 캐시 무효화를 위한 타임스탬프 } - } else { apiUrl = `${stoveApiBaseUrl}/pub-comm/v2.0/template/page` queryParams = { @@ -158,7 +165,7 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { } // 404 에러 코드 체크 - const isNotFoundError = + const isNotFoundError = (response?.code === 91002 && response?.message === 'Invalid LangCode') || response?.code === 91003 || response?.code === 90004