[deeplink] 딥링크 작업 일부 추가 및 공유

This commit is contained in:
jangheon Pyo
2024-04-18 19:51:52 +09:00
parent 59af6a59aa
commit 619b5f2121
2 changed files with 187 additions and 17 deletions

View File

@@ -4,43 +4,199 @@ import { panel_names } from "../utils/Config";
//V2_진입경로코드_진입경로명_MT_노출순번
export const handleDeepLink = (contentTarget) => (dispatch, getState) => {
const tokens = contentTarget.split("_");
if (tokens[0] === "V2") {
if (tokens[0] === "V3") {
const linkTpCd = tokens[1]; // 진입경로코드
const linkTpName = tokens[1]; // 진입경로명
const linkTpName = tokens[2]; // 진입경로명
const type = tokens[3]; // 링크 타입.
let patnrId; // 파트너아이디
let prdtId; // 상품아이디
let curationId; // 큐레이션아이디
let showId; // 방송아이디
let exposureOrder; // 노출순번
let grNumber; // 그룹번호
let evntId; // 이벤트아이디
let lgCatCd; // LG카테고리Code
let lgCatNm; // 서브카테고리명
let tabType; // 카테고리 탭명
let panelName = "";
let panelInfo = {};
switch (type) {
case "LS":
case "MT":
// "MT": Main TOP
// V3_진입경로코드_진입경로명_MT_노출순번
panelName = panel_names.HOME_PANEL;
break;
case "PD":
// "PD": Product Detail
// V3_진입경로코드_진입경로명_PD_파트너아이디_상품아이디_노출순번_큐레이션아이디
patnrId = tokens[4]; // 파트너아이디
prdtId = tokens[5]; // 상품아이디
exposureOrder = tokens[6]; // 노출순번
curationId = tokens[7]; // 큐레이션아이디
panelName = panel_names.DETAIL_PANEL;
panelInfo = {
patnrId: patnrId,
prdtId: prdtId,
curationId: curationId,
// exposureOrder: exposureOrder,
};
break;
case "SD":
case "LS":
// "LS": Live Show
// V3_진입경로코드_진입경로명_LS_파트너아이디_방송아이디_노출순번_큐레이션아이디
patnrId = tokens[4]; // 파트너아이디
showId = tokens[5]; // 방송아이디
exposureOrder = tokens[6]; // 노출순번
curationId = tokens[7]; // 큐레이션아이디
panelName = panel_names.PLAYER_PANEL;
panelInfo = {
patnrId: patnrId,
showId: showId,
shptmBanrTpNm: "LIVE",
// exposureOrder: exposureOrder,
};
break;
case "MA":
case "VS":
// "VS": VOD Show
// V3_진입경로코드_진입경로명_VS_파트너아이디_방송아이디_노출순번_큐레이션아이디
patnrId = tokens[4]; // 파트너아이디
showId = tokens[5]; // 방송아이디
exposureOrder = tokens[6]; // 노출순번
curationId = tokens[7]; // 큐레이션아이디
panelName = panel_names.PLAYER_PANEL;
panelInfo = {
patnrId: patnrId,
showId: showId,
shptmBanrTpNm: "VOD",
// exposureOrder: exposureOrder,
};
break;
case "TD":
break;
case "OS":
panelName = panel_names.ON_SALE_PANEL;
break;
case "HP":
// "TD": Theme Detail
// V3_진입경로코드_진입경로명_TD_파트너아이디_큐레이션아이디_상품아이디_노출순번_그룹번호
// 상품아이디 (M): 테마상세 진입시 상품을 포커싱하기 위함
// 노출순번 (O) : 상품아이디+그룹번호가 설정된 경우 필수 (없을시 "0" 설정)
// 그룹번호 (O) : TCHH 유형만 적용
patnrId = tokens[4]; // 파트너아이디
curationId = tokens[5]; // 큐레이션아이디
prdtId = tokens[6]; // 상품아이디
exposureOrder = tokens[7]; // 노출순번
grNumber = tokens[8]; // 그룹번호
panelName = panel_names.DETAIL_PANEL;
panelInfo = {
patnrId: patnrId,
curationId: curationId,
prdtId: prdtId,
grNumber: grNumber,
type: "theme",
// exposureOrder: exposureOrder,
};
break;
case "HD":
// "HD": Hotel Detail
// V3_진입경로코드_진입경로명_HD_파트너아이디_큐레이션아이디_노출순번
patnrId = tokens[4]; // 파트너아이디
curationId = tokens[5]; // 큐레이션아이디
exposureOrder = tokens[6]; // 노출순번
panelName = panel_names.DETAIL_PANEL;
panelInfo = {
patnrId: patnrId,
curationId: curationId,
type: "hotel",
// exposureOrder: exposureOrder,
};
break;
case "APD":
case "HP":
// 미완성
// Hot Picks에서 파트너 아이디 체크
// "HP": Hot Picks
// V3_진입경로코드_진입경로명_HP_파트너아이디_큐레이션아이디_노출순번
patnrId = tokens[4]; // 파트너아이디
curationId = tokens[5]; // 큐레이션아이디
exposureOrder = tokens[6]; // 노출순번
panelName = panel_names.HOT_PICKS_PANEL;
panelInfo = {
patnrId: patnrId,
curationId: curationId,
// exposureOrder: exposureOrder,
};
break;
case "AMD":
case "WE":
// 미완성
// 현재 welcome 진입 불가
// "WE": Welcome Event
// V3_진입경로코드_진입경로명_WE_이벤트아이디
evntId = tokens[4]; // 이벤트아이디
panelName = panel_names.WELCOME_EVENT_PANEL;
panelInfo = {
evntId: evntId,
};
break;
case "ATD":
case "OS":
// 미완성
// 서브카테고리명 확인 필요
// "OS": On Sale
// V3_진입경로코드_진입경로명_OS_LG카테고리Code_서브카테고리명
lgCatCd = tokens[4]; // LG카테고리Code
lgCatNm = tokens[5]; // 서브카테고리명
panelName = panel_names.ON_SALE_PANEL;
panelInfo = {
lgCatCd: lgCatCd,
};
break;
case "ASD":
break;
case "TO":
case "BS":
// 미완성
// TrendingNow 페이지에서 best sellers 위치 이동 처리
// "BS": Best Sellers
// V3_진입경로코드_진입경로명_BS
panelName = panel_names.TRENDING_NOW_PANEL;
break;
case "PS":
// "PS": Popular Shows
// V3_진입경로코드_진입경로명_PS_노출순번
panelName = panel_names.TRENDING_NOW_PANEL;
break;
case "SC":
// 미완성
// 카테고리 페이지 tab type 확인
// "SC": Sub Category
// V3_진입경로코드_진입경로명_SC_LG카테고리Code_서브카테고리명_컨텐츠타입
lgCatCd = tokens[4]; // LG카테고리Code
lgCatNm = tokens[5]; // 서브카테고리명
tabType = tokens[6]; // 컨텐츠타입
panelName = panel_names.CATEGORY_PANEL;
panelInfo = {
lgCatCd: lgCatCd,
};
// * LG 카테고리 Code :
// - 코드정의 : Admin > Master > Master Upload Mgmt. > Category Info(LG) > Show Data 버튼
// - 복수개 가능 ( 콤마 "," 구분자)
// * 서브카테고리명 : 서브 카테고리 화면 상단에 출력 (스페이스 가능)
// "SC": Sub Category
// * 컨텐츠 타입 : Show / Item
break;
case "FB":
// "FB": Featured Brands
// V3_진입경로코드_진입경로명_FB_파트너아이디_노출순번
patnrId = tokens[4]; // 파트너아이디
panelName = panel_names.FEATURED_BRANDS_PANEL;
panelInfo = {
patnrId: patnrId,
};
break;
}
if (panelName) {