diff --git a/layers/composables/usePreregist.ts b/layers/composables/usePreregist.ts index cc84690..ad9e748 100644 --- a/layers/composables/usePreregist.ts +++ b/layers/composables/usePreregist.ts @@ -88,6 +88,7 @@ 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, @@ -98,6 +99,7 @@ const usePreregist = () => { headers, body, })) as ResPreorderSelectEvent + console.log("๐Ÿš€ ~ getPreregist ~ res:", res.value) // ์‘๋‹ต ๊ฒ€์ฆ if (!res) { @@ -184,11 +186,13 @@ 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 ec2ef51..e45f274 100644 --- a/layers/middleware/pageData.global.ts +++ b/layers/middleware/pageData.global.ts @@ -11,7 +11,6 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { const runtimeConfig = useRuntimeConfig() const stoveApiBaseUrl = runtimeConfig.public.stoveApiUrl - const apiUrl = `${stoveApiBaseUrl}/pub-comm/v2.0/template/page` const gameDomain = useGetGameDomain() const gameDataStore = useGameDataStore() @@ -107,20 +106,33 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { Authorization: `Bearer ${accessToken}`, } - // ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์—์„œ f ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’ ์ถ”์ถœ (CSR์šฉ) - // const fValue = (to.query.f as string) || '' + // ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’ ์ถ”์ถœ + // preview?page_seq=1&page_ver=1&lang_code=ko + 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 - // // ๋ฏธ๋ฆฌ๋ณด๊ธฐ API ํ˜ธ์ถœ ์ฒ˜๋ฆฌ - // let finalGameDomain = gameDomain - // if (fValue === 'preview') { - // finalGameDomain = 'samplegame.onstove.com' - // } - - const queryParams: Record = { - game_domain: gameDomain, - lang_code: langCode, - page_url: pageUrl, - _t: Date.now().toString(), // ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ์œ„ํ•œ ํƒ€์ž„์Šคํƒฌํ”„ + let queryParams: Record; + let apiUrl: string; + if (pageUrl === '/preview') { + apiUrl = `${stoveApiBaseUrl}/pub-comm/v1.0/template/page/preview` + queryParams = { + lang_code: queryLangCode, + page_seq: pageSeq, + page_ver: pageVer, + _t: Date.now().toString(), // ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ์œ„ํ•œ ํƒ€์ž„์Šคํƒฌํ”„ + } + + } else { + apiUrl = `${stoveApiBaseUrl}/pub-comm/v2.0/template/page` + queryParams = { + game_domain: gameDomain, + lang_code: langCode, + page_url: pageUrl, + _t: Date.now().toString(), // ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ์œ„ํ•œ ํƒ€์ž„์Šคํƒฌํ”„ + } } const response = (await commonFetch('GET', apiUrl, { @@ -145,7 +157,13 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { }) } - if (response?.code === 91002 && response?.message === 'Invalid LangCode') { + // 404 ์—๋Ÿฌ ์ฝ”๋“œ ์ฒดํฌ + const isNotFoundError = + (response?.code === 91002 && response?.message === 'Invalid LangCode') || + response?.code === 91003 || + response?.code === 90004 + + if (isNotFoundError) { //ํด๋ฆญํ•œ ์ฃผ์†Œ๋Š” ์ฃผ์†Œํ‘œ์‹œ์ค„์— ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ • if (import.meta.client) { window.history.replaceState({}, '', to.path) @@ -154,15 +172,14 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { showError( createError({ statusCode: 404, - statusMessage: 'ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด์š”.', + statusMessage: response?.message, fatal: false, // ์ฆ‰์‹œ ์—๋Ÿฌ ํŽ˜์ด์ง€๋กœ - data: { reason: 'post-not-found Invalid LangCode' }, + data: { reason: response?.message }, }) ) } - if (response?.code === 91003) { - // return navigateTo(`/${langCode}/error`, { external: false }) + if (response?.code === 90002) { //ํด๋ฆญํ•œ ์ฃผ์†Œ๋Š” ์ฃผ์†Œํ‘œ์‹œ์ค„์— ํ‘œ์‹œํ•˜๋„๋ก ์ˆ˜์ • if (import.meta.client) { window.history.replaceState({}, '', to.path) @@ -170,10 +187,10 @@ export default defineNuxtRouteMiddleware(async (to, _from) => { // ๋’ค๋กœ๊ฐ€๊ธฐ ์ด๋™ ์‹œ ์ด์ „ ํŽ˜์ด์ง€๋กœ ์ด๋™๋˜๋„๋ก ์ˆ˜์ • showError( createError({ - statusCode: 404, - statusMessage: 'ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด์š”.', + statusCode: 500, + statusMessage: response?.message, fatal: false, // ์ฆ‰์‹œ ์—๋Ÿฌ ํŽ˜์ด์ง€๋กœ - data: { reason: 'post-not-found' }, + data: { reason: response?.message }, }) ) } diff --git a/layers/server/middleware/gameData.ts b/layers/server/middleware/gameData.ts index 80f0fc6..95612e1 100644 --- a/layers/server/middleware/gameData.ts +++ b/layers/server/middleware/gameData.ts @@ -256,25 +256,6 @@ export default defineEventHandler(async event => { initLangCodes, initDefaultLocale ) - - // ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์—์„œ f ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’ ์ถ”์ถœ - const path = event?.node.req.url || '' - let fValue = '' - if (path.includes('?')) { - try { - const queryString = path.split('?')[1] - const urlParams = new URLSearchParams(queryString) - fValue = urlParams.get('f') || '' - } catch (e) { - console.error('์ฟผ๋ฆฌ์ŠคํŠธ๋ง ํŒŒ์‹ฑ ์—๋Ÿฌ:', e) - } - } - - // ๋ฏธ๋ฆฌ๋ณด๊ธฐ API ํ˜ธ์ถœ ์ฒ˜๋ฆฌ - if (fValue === 'preview') { - cleanHost = 'samplegame.onstove.com' - } - const queryParams: Record = { game_domain: cleanHost || '', lang_code: finalLocale, @@ -313,20 +294,25 @@ export default defineEventHandler(async event => { } else { // ์ ๊ฒ€ ๋ฐ์ดํ„ฐ ์กฐํšŒ if (response?.value?.game_id) { - const inspectionApiUrl = `${iBaseApiUrl}/pub-comm/v3.0/inspection/${response?.value?.game_id}` - // ์ง์ ‘ $fetch ์‚ฌ์šฉ (composable ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ) - const inspectionResponse = await $fetch( - inspectionApiUrl, - { - method: 'GET', - headers: { - 'Content-Type': 'application/json', - }, - } - ) - inspectionData = inspectionResponse?.value?.inspection - console.log("๐Ÿš€ ~ inspectionData:", inspectionData) - cache.set(cacheKey, inspectionData) // ์บ์‹œ์— ์ €์žฅ + try { + const inspectionApiUrl = `${iBaseApiUrl}/pub-comm/v3.0/inspection/${response?.value?.game_id}` + // ์ง์ ‘ $fetch ์‚ฌ์šฉ (composable ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ) + const inspectionResponse = await $fetch( + inspectionApiUrl, + { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + } + ) + inspectionData = inspectionResponse?.value?.inspection + console.log("๐Ÿš€ ~ inspectionData:", inspectionData) + cache.set(cacheKey, inspectionData) // ์บ์‹œ์— ์ €์žฅ + } catch (error) { + console.error('inspection data load error:', error) + // ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ inspectionData๋Š” undefined๋กœ ์œ ์ง€ + } } }