[Log] IF-LGSP-LOG-004(2ndLayer), modify

Detail Note:

1. add action type `SET_SECOND_LAYER_INFO` (actionTypes.js)
2. add action `setSecondLayerInfo` (commonActions.js)
3. modify `sendLogSecondLayer` and `sendLogGNB` functions (logActions.js)
4. modify `initService` function and `setDeepLink` in useEffect (App.js)
5. remove unnecessary function `getMenuByTargetContent` (deepLinkHandler.js)
6. add state and case for `secondLayerInfo` (commonReducer.js)
7. edit selected state variable to `isDeepLink` (HomePanel.jsx)
This commit is contained in:
younghoon100.park
2024-07-28 22:26:59 +09:00
parent b8f43c8444
commit 118fe825b9
7 changed files with 311 additions and 345 deletions

View File

@@ -3,6 +3,7 @@ import { TLogEvent } from "../api/TLogEvent";
import { LOG_TP_NO } from "../utils/Config";
import { formatGMTString } from "../utils/helperMethods";
import { types } from "./actionTypes";
import { setSecondLayerInfo } from "./commonActions";
export const getUrlByLogTpNo = (logTpNo) => {
switch (logTpNo) {
@@ -174,6 +175,7 @@ export const postLog = (params) => (dispatch, getState) => {
onFail
);
};
/**
* IG-LGSP-LOG-001 / Live 시청 이력
*
@@ -233,6 +235,7 @@ export const sendLogLive = (params, callback) => (dispatch, getState) => {
}
}
};
/**
* IG-LGSP-LOG-002 / VOD 시청 이력
*
@@ -265,7 +268,6 @@ export const sendLogLive = (params, callback) => (dispatch, getState) => {
export const sendLogVOD = (params, callback) => (dispatch, getState) => {
const { logTpNo, watchStrtDt } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!logTpNo || !watchStrtDt) {
console.error("sendLogLive invalid params", params);
return;
@@ -286,6 +288,7 @@ export const sendLogVOD = (params, callback) => (dispatch, getState) => {
}
}
};
/**
* IF-LGSP-LOG-003 / Curations View 이력
*
@@ -341,6 +344,7 @@ export const sendLogCuration = (params) => (dispatch, getState) => {
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-004 / 2ndLayer 이력
*
@@ -375,16 +379,15 @@ export const sendLogCuration = (params) => (dispatch, getState) => {
* (O) showNm 방송 이름
*/
export const sendLogSecondLayer = (params) => (dispatch, getState) => {
const { entryMenu } = params;
if (!entryMenu) {
console.error("sendLogSecondLayer invalid params", params);
const secondLayerInfo = getState().common.secondLayerInfo;
if (secondLayerInfo && Object.keys(secondLayerInfo).length === 0) {
return;
}
dispatch({ type: types.SET_GNB_MENU, payload: entryMenu });
dispatch(postLog(params));
dispatch(setSecondLayerInfo({}));
};
/**
* IF-LGSP-LOG-005 / GNB 클릭 이력
*
@@ -402,13 +405,13 @@ export const sendLogSecondLayer = (params) => (dispatch, getState) => {
*/
export const sendLogGNB = (menu) => (dispatch, getState) => {
const { menuMovSno, nowMenu } = getState().common.menu;
const secondLayerInfo = getState().common.secondLayerInfo;
if (!menu) {
console.error("sendLogGNB invalid params", menu);
return;
}
if (menu === nowMenu || menuMovSno === null || menuMovSno === undefined) {
if (menu === nowMenu || !menuMovSno) {
return;
}
@@ -420,9 +423,25 @@ export const sendLogGNB = (menu) => (dispatch, getState) => {
nowMenu: menu,
outDt: "",
};
dispatch({ type: types.SET_GNB_MENU, payload: menu });
dispatch(postLog(newParams));
if (
[1, 2].includes(menuMovSno) &&
secondLayerInfo &&
Object.keys(secondLayerInfo).length > 0
) {
dispatch(
sendLogSecondLayer({
...secondLayerInfo,
entryMenu: nowMenu,
nowMenu: menu,
})
);
}
};
/**
* IF-LGSP-LOG-006 / 상품 상세 이력
*
@@ -511,7 +530,6 @@ export const sendLogProductDetail = (params) => (dispatch, getState) => {
export const sendLogDetail = (params) => (dispatch, getState) => {
const { logTpNo, patncNm, patnrId } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!logTpNo || !patncNm || !patnrId) {
console.error("sendLogDetail invalid params", params);
return;
@@ -615,7 +633,6 @@ export const sendLogShopByMobile = (params) => (dispatch, getState) => {
export const sendLogPartners = (params) => (dispatch, getState) => {
const { patncNm, patnrId } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!patncNm || !patnrId) {
console.error("sendLogPartners invalid params", params);
return;
@@ -646,7 +663,6 @@ export const sendLogPartners = (params) => (dispatch, getState) => {
export const sendLogMyPageAlertFlag = (params) => (dispatch, getState) => {
const { alertFlag } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!alertFlag) {
console.error("sendLogMyPageAlertFlag invalid params", params);
return;
@@ -676,7 +692,6 @@ export const sendLogMyPageAlertFlag = (params) => (dispatch, getState) => {
export const sendLogMyPageMyDelete = (params) => (dispatch, getState) => {
const { cnt } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!cnt) {
console.error("sendLogMyPageMyDelete invalid params", params);
return;
@@ -708,7 +723,6 @@ export const sendLogMyPageMyDelete = (params) => (dispatch, getState) => {
export const sendLogMyPageNotice = (params) => (dispatch, getState) => {
const { itemId, title } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!itemId || !title) {
console.error("sendLogNoticeView invalid params", params);
return;
@@ -796,7 +810,6 @@ export const sendLogSearch = (params) => (dispatch, getState) => {
export const sendLogSearchClick = (params) => (dispatch, getState) => {
const { keyword, patncNm, patnrId } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!keyword || !patncNm || !patnrId) {
console.error("sendLogSearchClick invalid params", params);
return;
@@ -850,24 +863,8 @@ export const sendLogSearchClick = (params) => (dispatch, getState) => {
* (M) showNm 방송 이름
*/
export const sendLogUpcomingFlag = (params) => (dispatch, getState) => {
// pyh Todo, 왜 키가 문서와 맞지 않고 1.0과 같은가..?
// const { alertFlag, patncNm, patnrId, remainSec, showId, showNm } = params;
// if (
// !alertFlag ||
// !patncNm ||
// !patnrId ||
// !remainSec ||
// !showId ||
// !showNm
// ) {
// console.error("sendLogUpcomingFlag invalid params", params);
// return;
// }
const { items } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!items) {
console.error("sendLogUpcomingFlag invalid params", params);
return;
@@ -876,10 +873,7 @@ export const sendLogUpcomingFlag = (params) => (dispatch, getState) => {
const newParams = {
...params,
entryMenu: entryMenu,
// hstNm: params?.hstNm ?? "",
logTpNo: LOG_TP_NO.UPCOMING_FLAG,
// lgCatCd: params?.lgCatCd ?? "",
// lgCatNm: params?.lgCatNm ?? "",
nowMenu: nowMenu,
};
@@ -920,7 +914,6 @@ export const sendLogUpcomingFlag = (params) => (dispatch, getState) => {
export const sendLogAlarmPop = (params) => (dispatch, getState) => {
const { alarmDt, alarmType, cnt, patncNm, patnrId, showId, showNm } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (
!alarmDt ||
!alarmType ||
@@ -946,6 +939,7 @@ export const sendLogAlarmPop = (params) => (dispatch, getState) => {
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-018 / 알람 팝업 OK/NO 클릭
*
@@ -1120,6 +1114,7 @@ export const sendLogTopContents = (params) => (dispatch, getState) => {
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-101 / 약관 동의, 미동의 클릭 이력
*
@@ -1132,7 +1127,6 @@ export const sendLogTopContents = (params) => (dispatch, getState) => {
export const sendLogTerms = (params) => (dispatch, getState) => {
const { logTpNo } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!logTpNo) {
console.error("sendLogTerms invalid params", params);
return;
@@ -1163,7 +1157,6 @@ export const sendLogTerms = (params) => (dispatch, getState) => {
export const sendLogLgAccountLogin = (params) => (dispatch, getState) => {
const { lginTpNm, usrNo } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!lginTpNm || !usrNo) {
console.error("sendLogLgAccountLogin invalid params", params);
return;
@@ -1194,7 +1187,6 @@ export const sendLogLgAccountLogin = (params) => (dispatch, getState) => {
export const sendLogOrderBtnClick = (params) => (dispatch, getState) => {
const { btnNm } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!btnNm) {
console.error("sendLogOrderBtnClick invalid params", params);
return;
@@ -1227,7 +1219,6 @@ export const sendLogOrderBtnClick = (params) => (dispatch, getState) => {
export const sendLogOrderChange = (params) => (dispatch, getState) => {
const { reqRsn, reqTpNm } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!reqRsn || !reqTpNm) {
console.error("sendLogOrderChange invalid params", params);
return;
@@ -1433,7 +1424,6 @@ export const sendLogPaymentComplete = (params) => (dispatch, getState) => {
export const sendLogFeaturedBrands = (params) => (dispatch, getState) => {
const { patncNm, patnrId } = params;
const { entryMenu, nowMenu } = getState().common.menu;
if (!patncNm || !patnrId) {
console.error("sendLogFeaturedBrands invalid params", params);
return;
@@ -1455,6 +1445,7 @@ export const sendLogFeaturedBrands = (params) => (dispatch, getState) => {
dispatch(postLog(newParams));
};
/**
* IF-LGSP-LOG-111 / 카드, 주소 ADD/EDIT 이력
*