@@ -35,7 +35,6 @@ import {
|
|||||||
getSystemSettings,
|
getSystemSettings,
|
||||||
checkFirstLaunch,
|
checkFirstLaunch,
|
||||||
setDeepLink,
|
setDeepLink,
|
||||||
setDeepLinkDebug,
|
|
||||||
setGNBMenu,
|
setGNBMenu,
|
||||||
setSecondLayerInfo,
|
setSecondLayerInfo,
|
||||||
} from "../actions/commonActions";
|
} from "../actions/commonActions";
|
||||||
@@ -253,45 +252,7 @@ function AppBase(props) {
|
|||||||
dispatch(getMyUpcomingAlertShow());
|
dispatch(getMyUpcomingAlertShow());
|
||||||
}
|
}
|
||||||
|
|
||||||
const launchParams = getLaunchParams();
|
const launchParams = getLaunchParams(dispatch);
|
||||||
|
|
||||||
// 디버그 정보 직접 수집
|
|
||||||
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(
|
console.log(
|
||||||
"initService...{haveyInit, launchParams}",
|
"initService...{haveyInit, launchParams}",
|
||||||
@@ -496,7 +457,7 @@ function AppBase(props) {
|
|||||||
}, [introTermsAgree, deviceRegistered, dispatch, initService, termsLoading]);
|
}, [introTermsAgree, deviceRegistered, dispatch, initService, termsLoading]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const launchParmas = getLaunchParams();
|
const launchParmas = getLaunchParams(dispatch);
|
||||||
const linkTpNm = launchParmas.contentTarget
|
const linkTpNm = launchParmas.contentTarget
|
||||||
? launchParmas.contentTarget.split("_")[2] || ""
|
? launchParmas.contentTarget.split("_")[2] || ""
|
||||||
: Config.LOG_MENU.APP;
|
: Config.LOG_MENU.APP;
|
||||||
|
|||||||
@@ -147,8 +147,15 @@ let localLaunchParams = {
|
|||||||
// contentTarget: "V3_2001_HOMEBANNER:1240712_TM_10",
|
// contentTarget: "V3_2001_HOMEBANNER:1240712_TM_10",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getLaunchParams = () => {
|
export const getLaunchParams = (dispatch = null) => {
|
||||||
let params = {};
|
let params = {};
|
||||||
|
let debugInfo = {
|
||||||
|
rawLaunchParams: "",
|
||||||
|
parsedParams: null,
|
||||||
|
finalParams: null,
|
||||||
|
containerLaunch: false,
|
||||||
|
parseError: null,
|
||||||
|
};
|
||||||
|
|
||||||
if (
|
if (
|
||||||
typeof window === "object" &&
|
typeof window === "object" &&
|
||||||
@@ -156,13 +163,16 @@ export const getLaunchParams = () => {
|
|||||||
window.PalmSystem.launchParams
|
window.PalmSystem.launchParams
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
|
debugInfo.rawLaunchParams = window.PalmSystem.launchParams;
|
||||||
console.log("[DEBUG] Raw launchParams:", window.PalmSystem.launchParams);
|
console.log("[DEBUG] Raw launchParams:", window.PalmSystem.launchParams);
|
||||||
|
|
||||||
params = JSON.parse(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));
|
console.log("[DEBUG] Parsed params:", JSON.stringify(params, null, 2));
|
||||||
|
|
||||||
if (params["x-webos-app-container-launch"] === true) {
|
if (params["x-webos-app-container-launch"] === true) {
|
||||||
|
debugInfo.containerLaunch = true;
|
||||||
console.log(
|
console.log(
|
||||||
"[DEBUG] Container launch detected, extracting details:",
|
"[DEBUG] Container launch detected, extracting details:",
|
||||||
params.details
|
params.details
|
||||||
@@ -170,14 +180,41 @@ export const getLaunchParams = () => {
|
|||||||
params = params.details || {};
|
params = params.details || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
debugInfo.finalParams = JSON.parse(JSON.stringify(params));
|
||||||
console.log("[DEBUG] Final params:", JSON.stringify(params, null, 2));
|
console.log("[DEBUG] Final params:", JSON.stringify(params, null, 2));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("[DEBUG] LaunchParams parsing error:", e);
|
console.log("[DEBUG] LaunchParams parsing error:", e);
|
||||||
|
debugInfo.parseError = e.message;
|
||||||
params = {};
|
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;
|
return params;
|
||||||
} else {
|
} else {
|
||||||
|
debugInfo.rawLaunchParams = "No PalmSystem or launchParams available";
|
||||||
|
debugInfo.finalParams = localLaunchParams;
|
||||||
|
|
||||||
console.log("[DEBUG] No PalmSystem or launchParams, using local params");
|
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;
|
return localLaunchParams;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user