TrackParamConvert.ets
3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import { CompInfoBean, ContentDetailDTO, ContentDTO, PageInfoBean, PageInfoDTO } from 'wdBean/Index';
import { ParamType } from './PublicParams';
import { TrackConstants } from './TrackConstants';
import { TrackingUtils } from './TrackingUtils';
export class TrackParamConvert {
/// 页面pageInfo 转换 埋点参数
static page(pageInfo?: PageInfoDTO) : ParamType {
return TrackParamConvert.pageCompProgram(pageInfo, undefined, undefined)
}
// 页面comp 转换 埋点参数
static pageAndComp(pageInfo?: PageInfoDTO, comp?: CompInfoBean) : ParamType {
return TrackParamConvert.pageCompProgram(pageInfo, comp, undefined)
}
// 运营位数据 转换 埋点参数
static program(program?: ContentDTO) : ParamType {
return TrackParamConvert.pageCompProgram(undefined, undefined, program)
}
static pageCompProgram(pageInfo?: PageInfoDTO, comp?: CompInfoBean, program?: ContentDTO) : ParamType {
let params = TrackingUtils.generateParams()
//TODO: 转换参数
return params
}
static contentDetail(detail: ContentDetailDTO) : ParamType {
let param: ParamType = {
"contentType": detail.newsType.toFixed(0),
"contentId": detail.newsId,
"contentName": detail.newsTitle,
"channelSourceId": detail.reLInfo?.channelId || "",
"rmhPlatform": detail.rmhPlatform,
}
if (detail.rmhInfo && detail.rmhInfo.rmhId.length > 0) {
param["saAuthorId"] = detail.rmhInfo.rmhId
param["saAuthorName"] = detail.rmhInfo.rmhName || ""
}
// 图文和音频
if (detail.newsType == 8 || detail.newsType == 13) {
param["readFlag"] = detail.readFlag ? detail.readFlag : 0
}
// TODO: 频道处理
// if (detail.channelsList) {
// param["contentShowChannelId"] = X
// }
// TODO: 专题处理
// detail.topicInfo.
// param["summaryType"] = X
// param["summaryId"] = X
// TODO: 直播
if (detail.newsType == 2 && detail.liveInfo) {
// param["vliveId"] = X
// param["vliveName"] = X
// param["liveMode"] = X
// param["liveStreamType"] = X
// param["liveType"] = X
}
TrackParamConvert.appendRecommend(detail, param)
return param
}
private static appendRecommend(detail: object, to: ParamType) {
//TODO: ContentDetailDTO 增加推荐字段
to["sceneId"] = "9999"
to["subSceneId"] = ""
to["cnsTraceId"] = "selfHold"
to["itemId"] = ""
to["expIds"] = ""
/// 这里填写默认值,后续在分享处 再重写
to["shareChannel"] = ""
/// 这里填写默认值,后续在action=browse时,再重写
to["duration"] = 0
}
///早晚报 专题
static pageInfoBean_ParamType(pageInfo: PageInfoBean) : ParamType {
let topTypeString: string = '';
switch (pageInfo.topicInfo.topicType){
case 21:
topTypeString = TrackConstants.SummaryType.Article
break;
case 22:
topTypeString = TrackConstants.SummaryType.Audio
break;
case 23:
topTypeString = TrackConstants.SummaryType.Live
break;
case 24:
topTypeString = TrackConstants.SummaryType.Talk
break;
case 25:
topTypeString = TrackConstants.SummaryType.MorningAndEveningNews
break;
case 26:
topTypeString = TrackConstants.SummaryType.TimeAxis
break;
}
let param: ParamType = {
"summaryId": pageInfo.topicInfo.topicId,
"summaryType": topTypeString,
"specialLink": pageInfo.topicInfo.shareUrl,
"channelSourceId": pageInfo.name,
"pageId": 'summaryDetailPage',
}
TrackParamConvert.appendRecommend(pageInfo, param)
return param
}
}