diff --git a/com.twin.app.shoptime/src/App/App.js b/com.twin.app.shoptime/src/App/App.js index 535effed..ebb906b0 100644 --- a/com.twin.app.shoptime/src/App/App.js +++ b/com.twin.app.shoptime/src/App/App.js @@ -35,6 +35,7 @@ import { getSystemSettings, checkFirstLaunch, setDeepLink, + setDeepLinkDebug, setGNBMenu, setSecondLayerInfo, } from "../actions/commonActions"; @@ -252,7 +253,45 @@ function AppBase(props) { dispatch(getMyUpcomingAlertShow()); } - const launchParams = getLaunchParams(dispatch); + const launchParams = getLaunchParams(); + + // 디버그 정보 직접 수집 + let debugInfo = { + rawLaunchParams: "", + parsedParams: null, + finalParams: null, + containerLaunch: false, + parseError: null, + }; + + if ( + typeof window === "object" && + window.PalmSystem && + window.PalmSystem.launchParams + ) { + try { + debugInfo.rawLaunchParams = window.PalmSystem.launchParams; + const parsed = JSON.parse(window.PalmSystem.launchParams); + debugInfo.parsedParams = JSON.parse(JSON.stringify(parsed)); + + if (parsed["x-webos-app-container-launch"] === true) { + debugInfo.containerLaunch = true; + debugInfo.finalParams = JSON.parse( + JSON.stringify(parsed.details || {}) + ); + } else { + debugInfo.finalParams = JSON.parse(JSON.stringify(parsed)); + } + } catch (e) { + debugInfo.parseError = e.message; + } + } else { + debugInfo.rawLaunchParams = "No PalmSystem or launchParams available"; + debugInfo.finalParams = {}; + } + + // 디버그 정보 dispatch + dispatch(setDeepLinkDebug(debugInfo)); console.log( "initService...{haveyInit, launchParams}", @@ -457,7 +496,7 @@ function AppBase(props) { }, [introTermsAgree, deviceRegistered, dispatch, initService, termsLoading]); useEffect(() => { - const launchParmas = getLaunchParams(dispatch); + const launchParmas = getLaunchParams(); const linkTpNm = launchParmas.contentTarget ? launchParmas.contentTarget.split("_")[2] || "" : Config.LOG_MENU.APP; diff --git a/com.twin.app.shoptime/src/utils/helperMethods.js b/com.twin.app.shoptime/src/utils/helperMethods.js index 047d633a..e65ba6cd 100644 --- a/com.twin.app.shoptime/src/utils/helperMethods.js +++ b/com.twin.app.shoptime/src/utils/helperMethods.js @@ -147,15 +147,8 @@ let localLaunchParams = { // contentTarget: "V3_2001_HOMEBANNER:1240712_TM_10", }; -export const getLaunchParams = (dispatch = null) => { +export const getLaunchParams = () => { let params = {}; - let debugInfo = { - rawLaunchParams: "", - parsedParams: null, - finalParams: null, - containerLaunch: false, - parseError: null, - }; if ( typeof window === "object" && @@ -163,16 +156,13 @@ export const getLaunchParams = (dispatch = null) => { window.PalmSystem.launchParams ) { try { - debugInfo.rawLaunchParams = window.PalmSystem.launchParams; console.log("[DEBUG] Raw launchParams:", window.PalmSystem.launchParams); params = JSON.parse(window.PalmSystem.launchParams); - debugInfo.parsedParams = JSON.parse(JSON.stringify(params)); console.log("[DEBUG] Parsed params:", JSON.stringify(params, null, 2)); if (params["x-webos-app-container-launch"] === true) { - debugInfo.containerLaunch = true; console.log( "[DEBUG] Container launch detected, extracting details:", params.details @@ -180,41 +170,14 @@ export const getLaunchParams = (dispatch = null) => { params = params.details || {}; } - debugInfo.finalParams = JSON.parse(JSON.stringify(params)); console.log("[DEBUG] Final params:", JSON.stringify(params, null, 2)); } catch (e) { console.log("[DEBUG] LaunchParams parsing error:", e); - debugInfo.parseError = e.message; params = {}; } - - // Redux dispatch가 전달된 경우 디버그 정보 저장 - if (dispatch && typeof dispatch === "function") { - try { - const { setDeepLinkDebug } = require("../actions/commonActions"); - dispatch(setDeepLinkDebug(debugInfo)); - } catch (importError) { - console.log("[DEBUG] Failed to dispatch debug info:", importError); - } - } - return params; } else { - debugInfo.rawLaunchParams = "No PalmSystem or launchParams available"; - debugInfo.finalParams = localLaunchParams; - console.log("[DEBUG] No PalmSystem or launchParams, using local params"); - - // Redux dispatch가 전달된 경우 디버그 정보 저장 - if (dispatch && typeof dispatch === "function") { - try { - const { setDeepLinkDebug } = require("../actions/commonActions"); - dispatch(setDeepLinkDebug(debugInfo)); - } catch (importError) { - console.log("[DEBUG] Failed to dispatch debug info:", importError); - } - } - return localLaunchParams; } };