pb-sxp-ui 1.20.12 → 1.20.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +250 -173
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +250 -173
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +7 -7
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +7 -7
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +250 -173
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +7 -7
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/DiyPortalPreview/VideoWidget.js +10 -8
- package/es/core/components/SxpPageRender/LikeButton/index.js +20 -18
- package/es/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
- package/es/core/components/SxpPageRender/PictureGroup/index.js +39 -13
- package/es/core/components/SxpPageRender/VideoWidget/index.js +33 -46
- package/es/core/components/SxpPageRender/WaterFall/index.js +4 -3
- package/es/core/components/SxpPageRender/index.js +56 -40
- package/es/core/context/SxpDataSourceProvider.d.ts +5 -12
- package/es/core/context/SxpDataSourceProvider.js +83 -39
- package/es/core/hooks/useEventReport.js +6 -5
- package/lib/core/components/DiyPortalPreview/VideoWidget.js +10 -8
- package/lib/core/components/SxpPageRender/LikeButton/index.js +20 -18
- package/lib/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
- package/lib/core/components/SxpPageRender/PictureGroup/index.js +38 -12
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +33 -46
- package/lib/core/components/SxpPageRender/WaterFall/index.js +4 -3
- package/lib/core/components/SxpPageRender/index.js +56 -40
- package/lib/core/context/SxpDataSourceProvider.d.ts +5 -12
- package/lib/core/context/SxpDataSourceProvider.js +83 -39
- package/lib/core/hooks/useEventReport.js +6 -5
- package/package.json +1 -1
package/dist/pb-ui.js
CHANGED
|
@@ -660,6 +660,7 @@
|
|
|
660
660
|
const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, consentHeight, consentWidth, isOpenConsent = false, isEditor = false, utmParameter, channelQueryList, data, dataList, isDiyH5, onUpdateSchema, onUpdateChannel }) => {
|
|
661
661
|
var _a, _b, _c, _d, _e;
|
|
662
662
|
const [rtcList, setRtcList] = React.useState([]);
|
|
663
|
+
const [firstRtcList, setFirstRtcList] = React.useState([]);
|
|
663
664
|
const [tagList, setTagList] = React.useState([]);
|
|
664
665
|
const [loading, setLoading] = React.useState(true);
|
|
665
666
|
const [curReqInfo, setCurReqInfo] = React.useState({ rtc: '', requestId: '' });
|
|
@@ -691,6 +692,10 @@
|
|
|
691
692
|
const [chatlabsId, setChatlabsId] = React.useState();
|
|
692
693
|
const finalPageData = React.useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
|
|
693
694
|
const pixelPvStatusRef = React.useRef(false);
|
|
695
|
+
const isDiyPage = React.useMemo(() => {
|
|
696
|
+
var _a, _b, _c;
|
|
697
|
+
return isDiyH5 && !((_c = (_b = (_a = finalPageData === null || finalPageData === void 0 ? void 0 : finalPageData.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf) === null || _b === void 0 ? void 0 : _b.globalConfig) === null || _c === void 0 ? void 0 : _c.enablePreview);
|
|
698
|
+
}, [isDiyH5, finalPageData]);
|
|
694
699
|
React.useEffect(() => {
|
|
695
700
|
var _a, _b;
|
|
696
701
|
setGlobalConfig((_b = (_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf) === null || _b === void 0 ? void 0 : _b.globalConfig);
|
|
@@ -796,7 +801,7 @@
|
|
|
796
801
|
};
|
|
797
802
|
// bff API 请求方法
|
|
798
803
|
const bffFetch = React.useCallback((path, options, isBota = true) => {
|
|
799
|
-
var _a;
|
|
804
|
+
var _a, _b;
|
|
800
805
|
if (!bffDataSource)
|
|
801
806
|
return;
|
|
802
807
|
const url = bffDataSource.url;
|
|
@@ -809,8 +814,9 @@
|
|
|
809
814
|
val.split('=')[0];
|
|
810
815
|
val.split('=')[1];
|
|
811
816
|
});
|
|
817
|
+
options.body = Object.assign(Object.assign({}, options.body), { productUserId: fakeUserId });
|
|
812
818
|
return window
|
|
813
|
-
.fetch(`${url}/api/${path}`, Object.assign({ headers: Object.assign({ 'Content-Type': 'application/json', 'x-user-id': fakeUserId }, bffDataSource.headers), method: options.method, body: options.type === 'beacon' && isBota
|
|
819
|
+
.fetch(`${url}/api/${path}`, Object.assign({ headers: Object.assign({ 'Content-Type': 'application/json', 'x-user-id': fakeUserId, 'tenant-id': (_b = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _b === void 0 ? void 0 : _b['x-app-id'] }, bffDataSource.headers), method: options.method, body: options.type === 'beacon' && isBota
|
|
814
820
|
? JSON.stringify({
|
|
815
821
|
body: btoa(encodeURIComponent(JSON.stringify(Object.assign(Object.assign(Object.assign({}, options.body), bffDataSource.headers), { 'x-user-id': fakeUserId }))))
|
|
816
822
|
})
|
|
@@ -1095,8 +1101,8 @@
|
|
|
1095
1101
|
}, [bffDataSource]);
|
|
1096
1102
|
// 获取推荐视频数据
|
|
1097
1103
|
const getRecommendVideos = React.useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1098
|
-
var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
1099
|
-
query = Object.assign(Object.assign({ maxSize: (_f = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _f !== void 0 ? _f : maxSize, defaultSize: (_g = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _g !== void 0 ? _g : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag, pageNum: query === null || query === void 0 ? void 0 : query.pageNum, contentFilter: query === null || query === void 0 ? void 0 : query.contentFilter, productFilter: query === null || query === void 0 ? void 0 : query.productFilter }, (chatlabsId && { chatlabsId })), (
|
|
1104
|
+
var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
1105
|
+
query = Object.assign(Object.assign({ maxSize: (_f = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _f !== void 0 ? _f : maxSize, defaultSize: (_g = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _g !== void 0 ? _g : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag, pageNum: query === null || query === void 0 ? void 0 : query.pageNum, contentFilter: query === null || query === void 0 ? void 0 : query.contentFilter, productFilter: query === null || query === void 0 ? void 0 : query.productFilter }, (chatlabsId && { chatlabsId })), (isDiyPage && { type: 'story' }));
|
|
1100
1106
|
if (channel) {
|
|
1101
1107
|
query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(channel) });
|
|
1102
1108
|
}
|
|
@@ -1109,9 +1115,10 @@
|
|
|
1109
1115
|
if (val)
|
|
1110
1116
|
query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
|
|
1111
1117
|
}
|
|
1118
|
+
const isDiy = isDiyH5 && ((_o = (_m = (_l = finalPageData === null || finalPageData === void 0 ? void 0 : finalPageData.data) === null || _l === void 0 ? void 0 : _l.sxpPageConf) === null || _m === void 0 ? void 0 : _m.globalConfig) === null || _o === void 0 ? void 0 : _o.enablePreview);
|
|
1112
1119
|
if (isEditor) {
|
|
1113
1120
|
let pageNum = 1;
|
|
1114
|
-
query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] }));
|
|
1121
|
+
query = Object.assign(Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] })), (isDiy && { maxRecs: query === null || query === void 0 ? void 0 : query.maxSize }));
|
|
1115
1122
|
if (!(query === null || query === void 0 ? void 0 : query.channel) || isInit.current) {
|
|
1116
1123
|
return undefined;
|
|
1117
1124
|
}
|
|
@@ -1119,19 +1126,24 @@
|
|
|
1119
1126
|
let list = [];
|
|
1120
1127
|
let result = null;
|
|
1121
1128
|
const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1122
|
-
var
|
|
1129
|
+
var _y, _z, _0, _1, _2, _3;
|
|
1123
1130
|
query.pageNum = pageNum;
|
|
1124
|
-
result =
|
|
1131
|
+
result = isDiyH5
|
|
1132
|
+
? yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v3/recommend/direct/page/view', { method: 'POST', body: query }))
|
|
1133
|
+
: yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('recommend/direct_page', { method: 'POST', body: query }));
|
|
1125
1134
|
if (!(result === null || result === void 0 ? void 0 : result.success)) {
|
|
1126
1135
|
return undefined;
|
|
1127
1136
|
}
|
|
1128
1137
|
setLoading(false);
|
|
1129
|
-
list = list.concat((
|
|
1138
|
+
list = list.concat((_1 = (_0 = (_z = (_y = result === null || result === void 0 ? void 0 : result.data) === null || _y === void 0 ? void 0 : _y.recList) === null || _z === void 0 ? void 0 : _z.filter) === null || _0 === void 0 ? void 0 : _0.call(_z, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _1 !== void 0 ? _1 : []);
|
|
1130
1139
|
if ((rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) === 0) {
|
|
1131
1140
|
setRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
|
1132
1141
|
setCacheRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
|
1142
|
+
if (isDiyPage) {
|
|
1143
|
+
setFirstRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
|
1144
|
+
}
|
|
1133
1145
|
}
|
|
1134
|
-
const isNotNullList = (
|
|
1146
|
+
const isNotNullList = (_3 = (_2 = result === null || result === void 0 ? void 0 : result.data) === null || _2 === void 0 ? void 0 : _2.recList) === null || _3 === void 0 ? void 0 : _3.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
|
|
1135
1147
|
if (isNotNullList) {
|
|
1136
1148
|
pageNum = pageNum + 1;
|
|
1137
1149
|
yield recurveRecList(query);
|
|
@@ -1139,42 +1151,61 @@
|
|
|
1139
1151
|
});
|
|
1140
1152
|
yield recurveRecList(query);
|
|
1141
1153
|
if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
|
|
1142
|
-
setCurReqInfo({ rtc: (
|
|
1154
|
+
setCurReqInfo({ rtc: (_p = result === null || result === void 0 ? void 0 : result.data) === null || _p === void 0 ? void 0 : _p.rtc, requestId: (_q = result === null || result === void 0 ? void 0 : result.data) === null || _q === void 0 ? void 0 : _q.requestId });
|
|
1143
1155
|
return Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list });
|
|
1144
1156
|
}
|
|
1145
1157
|
if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
|
|
1146
|
-
query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (
|
|
1158
|
+
query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_r = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _r !== void 0 ? _r : 1 }), (isDiy && { maxRecs: query === null || query === void 0 ? void 0 : query.maxSize }));
|
|
1147
1159
|
}
|
|
1148
|
-
const result =
|
|
1149
|
-
method: 'POST',
|
|
1150
|
-
|
|
1151
|
-
|
|
1160
|
+
const result = isDiy
|
|
1161
|
+
? yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v3/recommend/direct/page/view', { method: 'POST', body: query }))
|
|
1162
|
+
: yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/list', {
|
|
1163
|
+
method: 'POST',
|
|
1164
|
+
body: query
|
|
1165
|
+
}));
|
|
1152
1166
|
if (!(result === null || result === void 0 ? void 0 : result.success)) {
|
|
1153
1167
|
return undefined;
|
|
1154
1168
|
}
|
|
1155
1169
|
if (!(query === null || query === void 0 ? void 0 : query.hashTag))
|
|
1156
1170
|
setCurReqInfo({ rtc: result.data.rtc, requestId: result.data.requestId });
|
|
1157
1171
|
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor) {
|
|
1158
|
-
const isNotNullList = (
|
|
1172
|
+
const isNotNullList = (_t = (_s = result === null || result === void 0 ? void 0 : result.data) === null || _s === void 0 ? void 0 : _s.recList) === null || _t === void 0 ? void 0 : _t.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
|
|
1159
1173
|
if (!isNotNullList) {
|
|
1160
1174
|
setIsNoMoreData(true);
|
|
1161
1175
|
}
|
|
1162
1176
|
}
|
|
1163
1177
|
let list = [];
|
|
1164
|
-
list = list.concat((
|
|
1178
|
+
list = list.concat((_x = (_w = (_v = (_u = result === null || result === void 0 ? void 0 : result.data) === null || _u === void 0 ? void 0 : _u.recList) === null || _v === void 0 ? void 0 : _v.filter) === null || _w === void 0 ? void 0 : _w.call(_v, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _x !== void 0 ? _x : []);
|
|
1165
1179
|
return Object.assign(Object.assign({}, result.data), { recList: list });
|
|
1166
|
-
}), [
|
|
1180
|
+
}), [
|
|
1181
|
+
bffFetch,
|
|
1182
|
+
utmVal,
|
|
1183
|
+
maxSize,
|
|
1184
|
+
defaultSize,
|
|
1185
|
+
channelQueryList,
|
|
1186
|
+
channel,
|
|
1187
|
+
chatlabsId,
|
|
1188
|
+
bffFetchAdmin,
|
|
1189
|
+
isDiyPage,
|
|
1190
|
+
finalPageData,
|
|
1191
|
+
isDiyH5
|
|
1192
|
+
]);
|
|
1167
1193
|
const loadVideos = React.useCallback((pageNum) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1168
|
-
var
|
|
1194
|
+
var _4, _5, _6, _7;
|
|
1169
1195
|
if (rtcList.length <= 0) {
|
|
1170
1196
|
return;
|
|
1171
1197
|
}
|
|
1198
|
+
if (isDiyPage && (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) > 0) {
|
|
1199
|
+
setRtcList(rtcList.concat(firstRtcList));
|
|
1200
|
+
setCacheRtcList(cacheRtcList.concat(firstRtcList));
|
|
1201
|
+
return;
|
|
1202
|
+
}
|
|
1172
1203
|
const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
|
|
1173
|
-
const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((
|
|
1204
|
+
const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_4 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _4 === void 0 ? void 0 : _4.itemId) && { productFilter: [(_5 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _5 === void 0 ? void 0 : _5.itemId] })), (((_6 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _6 === void 0 ? void 0 : _6.itemId) && { contentFilter: [(_7 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _7 === void 0 ? void 0 : _7.itemId] })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
|
|
1174
1205
|
setRtcList(rtcList.concat(getFilterRecList(data)));
|
|
1175
1206
|
setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
|
|
1176
1207
|
return data;
|
|
1177
|
-
}), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
|
|
1208
|
+
}), [getRecommendVideos, rtcList, waterFallData, cacheRtcList, isDiyPage, firstRtcList]);
|
|
1178
1209
|
const refreshFeSession = React.useCallback((enableReSid, event) => {
|
|
1179
1210
|
var _a, _b, _c, _d, _e;
|
|
1180
1211
|
let expire = false;
|
|
@@ -1205,8 +1236,8 @@
|
|
|
1205
1236
|
// 用户信息都是公共的
|
|
1206
1237
|
if (!userInfo) {
|
|
1207
1238
|
userInfo = {
|
|
1208
|
-
|
|
1209
|
-
|
|
1239
|
+
productUserId: fakeUserId // 后端逻辑会从请求头获取,所以不需要传
|
|
1240
|
+
// tpChannelId: 'H5' // 后端处理
|
|
1210
1241
|
};
|
|
1211
1242
|
}
|
|
1212
1243
|
const sessionID = storeAndLoadFeSessionId();
|
|
@@ -1240,7 +1271,8 @@
|
|
|
1240
1271
|
layoutVariantId,
|
|
1241
1272
|
globalConfig,
|
|
1242
1273
|
playbookType,
|
|
1243
|
-
bffDataSource
|
|
1274
|
+
bffDataSource,
|
|
1275
|
+
fakeUserId
|
|
1244
1276
|
]);
|
|
1245
1277
|
const getEventParamsByJson = React.useCallback((_a) => {
|
|
1246
1278
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
@@ -1294,7 +1326,8 @@
|
|
|
1294
1326
|
'contents',
|
|
1295
1327
|
'image_urls',
|
|
1296
1328
|
'video_urls',
|
|
1297
|
-
'prompt'
|
|
1329
|
+
'prompt',
|
|
1330
|
+
'value'
|
|
1298
1331
|
];
|
|
1299
1332
|
deleteKeys.forEach((key) => {
|
|
1300
1333
|
if (customData === null || customData === void 0 ? void 0 : customData[key])
|
|
@@ -1426,38 +1459,40 @@
|
|
|
1426
1459
|
}
|
|
1427
1460
|
}, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
|
|
1428
1461
|
const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1462
|
+
body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
|
|
1429
1463
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
|
|
1430
1464
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1431
|
-
}), [bffFetch]);
|
|
1465
|
+
}), [bffFetch, fakeUserId]);
|
|
1432
1466
|
const bffMutateUnlike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1467
|
+
body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
|
|
1433
1468
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/unlike', { method: 'POST', body }));
|
|
1434
1469
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1435
|
-
}), [bffFetch]);
|
|
1470
|
+
}), [bffFetch, fakeUserId]);
|
|
1436
1471
|
const bffSubmitForm = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1437
1472
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/customform', { method: 'POST', body }));
|
|
1438
1473
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1439
1474
|
}), [bffFetch]);
|
|
1440
1475
|
// 获取 Tag
|
|
1441
1476
|
const bffGetTagList = React.useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1442
|
-
var
|
|
1443
|
-
const isShowTag = !!((
|
|
1477
|
+
var _8, _9, _10, _11, _12, _13, _14, _15;
|
|
1478
|
+
const isShowTag = !!((_10 = (_9 = (_8 = data === null || data === void 0 ? void 0 : data.data) === null || _8 === void 0 ? void 0 : _8.sxpPageConf) === null || _9 === void 0 ? void 0 : _9.globalConfig) === null || _10 === void 0 ? void 0 : _10.isShowTag);
|
|
1444
1479
|
if (!utmVal || !isShowTag)
|
|
1445
1480
|
return;
|
|
1446
1481
|
try {
|
|
1447
|
-
const val = (
|
|
1482
|
+
const val = (_13 = (_12 = (_11 = splitUrlParams(utmVal)) === null || _11 === void 0 ? void 0 : _11.filter((val) => {
|
|
1448
1483
|
var _a, _b;
|
|
1449
1484
|
const key = val.split('=')[0];
|
|
1450
1485
|
return (_b = ((_a = utmParameter === null || utmParameter === void 0 ? void 0 : utmParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
|
|
1451
|
-
})) === null ||
|
|
1486
|
+
})) === null || _12 === void 0 ? void 0 : _12.join('&')) !== null && _13 !== void 0 ? _13 : '';
|
|
1452
1487
|
const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
|
|
1453
|
-
setTagList((
|
|
1488
|
+
setTagList((_15 = (_14 = result === null || result === void 0 ? void 0 : result.data) === null || _14 === void 0 ? void 0 : _14.tags) !== null && _15 !== void 0 ? _15 : []);
|
|
1454
1489
|
}
|
|
1455
1490
|
catch (e) {
|
|
1456
1491
|
console.log('e', e);
|
|
1457
1492
|
}
|
|
1458
1493
|
}), [bffFetch, utmVal]);
|
|
1459
1494
|
const ctaEvent = React.useCallback((eventInfo, rec, product, position, ctaActionType, targetUrl, contentType) => {
|
|
1460
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
|
|
1495
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
|
1461
1496
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
|
1462
1497
|
const isProd = ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct) || (((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProducts) && ((_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProducts) === null || _d === void 0 ? void 0 : _d.length) > 0);
|
|
1463
1498
|
let fromKName = '';
|
|
@@ -1475,7 +1510,7 @@
|
|
|
1475
1510
|
}
|
|
1476
1511
|
const contentTags = (_p = (_m = (_h = product === null || product === void 0 ? void 0 : product.tags) !== null && _h !== void 0 ? _h : (_l = (_k = (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.bindProducts) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : (_q = rec === null || rec === void 0 ? void 0 : rec.product) === null || _q === void 0 ? void 0 : _q.tags;
|
|
1477
1512
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
1478
|
-
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (
|
|
1513
|
+
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '', sceneId: (_x = (_w = (_v = rec === null || rec === void 0 ? void 0 : rec.video) === null || _v === void 0 ? void 0 : _v.scene) === null || _w === void 0 ? void 0 : _w.sceneId) !== null && _x !== void 0 ? _x : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_13 = (_10 = (_5 = (_1 = (_y = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _y !== void 0 ? _y : (_0 = (_z = rec === null || rec === void 0 ? void 0 : rec.video) === null || _z === void 0 ? void 0 : _z.bindCta) === null || _0 === void 0 ? void 0 : _0.traceInfo) !== null && _1 !== void 0 ? _1 : (_4 = (_3 = (_2 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _2 === void 0 ? void 0 : _2.bindProduct) === null || _3 === void 0 ? void 0 : _3.bindCta) === null || _4 === void 0 ? void 0 : _4.traceInfo) !== null && _5 !== void 0 ? _5 : (_9 = (_8 = (_7 = (_6 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _6 === void 0 ? void 0 : _6.bindProducts) === null || _7 === void 0 ? void 0 : _7[0]) === null || _8 === void 0 ? void 0 : _8.bindCta) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : (_12 = (_11 = rec === null || rec === void 0 ? void 0 : rec.product) === null || _11 === void 0 ? void 0 : _11.bindCta) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : '', fromKName, fromKPage: (_14 = location === null || location === void 0 ? void 0 : location.href) !== null && _14 !== void 0 ? _14 : '', contentFormat })
|
|
1479
1514
|
});
|
|
1480
1515
|
}, [bffEventReport, isFromHashtag]);
|
|
1481
1516
|
const h5EnterLink = React.useCallback(() => {
|
|
@@ -1499,10 +1534,10 @@
|
|
|
1499
1534
|
});
|
|
1500
1535
|
}, [bffEventReport]);
|
|
1501
1536
|
const getAccount = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
1502
|
-
var
|
|
1537
|
+
var _16, _17;
|
|
1503
1538
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account', { method: 'GET' }));
|
|
1504
|
-
setChatlabsId((
|
|
1505
|
-
return ((
|
|
1539
|
+
setChatlabsId((_16 = res === null || res === void 0 ? void 0 : res.data) === null || _16 === void 0 ? void 0 : _16.chatLabsId);
|
|
1540
|
+
return ((_17 = res === null || res === void 0 ? void 0 : res.data) === null || _17 === void 0 ? void 0 : _17.consentResult) === 'true';
|
|
1506
1541
|
}), [bffFetch]);
|
|
1507
1542
|
const accountSonsent = React.useCallback((consentResult) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1508
1543
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account/consent', {
|
|
@@ -1566,6 +1601,9 @@
|
|
|
1566
1601
|
}
|
|
1567
1602
|
setRtcList(list);
|
|
1568
1603
|
setCacheRtcList(list);
|
|
1604
|
+
if (isDiyPage) {
|
|
1605
|
+
setFirstRtcList(list);
|
|
1606
|
+
}
|
|
1569
1607
|
bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
|
|
1570
1608
|
if (channel) {
|
|
1571
1609
|
const item = list === null || list === void 0 ? void 0 : list[0];
|
|
@@ -1585,7 +1623,7 @@
|
|
|
1585
1623
|
});
|
|
1586
1624
|
setLoading(false);
|
|
1587
1625
|
});
|
|
1588
|
-
}, [isShowConsent, channel]);
|
|
1626
|
+
}, [isShowConsent, channel, isDiyPage]);
|
|
1589
1627
|
// cms预览
|
|
1590
1628
|
React.useEffect(() => {
|
|
1591
1629
|
if (!isPreview)
|
|
@@ -1601,12 +1639,15 @@
|
|
|
1601
1639
|
}
|
|
1602
1640
|
setRtcList(list);
|
|
1603
1641
|
setCacheRtcList(list);
|
|
1642
|
+
if (isDiyPage) {
|
|
1643
|
+
setFirstRtcList(list);
|
|
1644
|
+
}
|
|
1604
1645
|
}
|
|
1605
1646
|
})
|
|
1606
1647
|
.finally(() => {
|
|
1607
1648
|
setLoading(false);
|
|
1608
1649
|
});
|
|
1609
|
-
}, [getRecommendVideos, bffGetTagList, channel]);
|
|
1650
|
+
}, [getRecommendVideos, bffGetTagList, channel, isDiyPage]);
|
|
1610
1651
|
const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
|
|
1611
1652
|
return (React.createElement(SxpDataSourceContext.Provider, { value: {
|
|
1612
1653
|
rtcList,
|
|
@@ -1664,7 +1705,8 @@
|
|
|
1664
1705
|
refreshFeSession,
|
|
1665
1706
|
getAccount,
|
|
1666
1707
|
accountSonsent,
|
|
1667
|
-
isDiyH5,
|
|
1708
|
+
isDiyH5: isDiyPage,
|
|
1709
|
+
firstRtcList,
|
|
1668
1710
|
pixelPvStatusRef
|
|
1669
1711
|
} }, isShowConsent ? (React.createElement(Consent$4, Object.assign({}, (_e = (_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.props))) : (render({
|
|
1670
1712
|
rtcList,
|
|
@@ -2126,14 +2168,14 @@
|
|
|
2126
2168
|
* @Author: binruan@chatlabs.com
|
|
2127
2169
|
* @Date: 2024-03-12 10:59:06
|
|
2128
2170
|
* @LastEditors: binruan@chatlabs.com
|
|
2129
|
-
* @LastEditTime:
|
|
2171
|
+
* @LastEditTime: 2025-05-09 15:30:59
|
|
2130
2172
|
* @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
|
|
2131
2173
|
*
|
|
2132
2174
|
*/
|
|
2133
2175
|
function useEventReport() {
|
|
2134
2176
|
const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
|
|
2135
2177
|
const jumpToWeb = React.useCallback((e, data, product, cta, position, traceInfo) => {
|
|
2136
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
|
|
2178
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;
|
|
2137
2179
|
const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
|
|
2138
2180
|
if (i !== -1) {
|
|
2139
2181
|
return;
|
|
@@ -2166,11 +2208,11 @@
|
|
|
2166
2208
|
contentFormat = 'image';
|
|
2167
2209
|
}
|
|
2168
2210
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
2169
|
-
eventInfo: Object.assign({ eventSubject: 'jumpToWeb', eventDescription: 'User jumped to website', productId: (_v = product === null || product === void 0 ? void 0 : product.itemId) !== null && _v !== void 0 ? _v : '', productName: (_w = product === null || product === void 0 ? void 0 : product.title) !== null && _w !== void 0 ? _w : '', price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0', productCollection: (_x = product === null || product === void 0 ? void 0 : product.collection) !== null && _x !== void 0 ? _x : '', fromKName, fromKPage: location === null || location === void 0 ? void 0 : location.href, contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '',
|
|
2211
|
+
eventInfo: Object.assign({ eventSubject: 'jumpToWeb', eventDescription: 'User jumped to website', productId: (_v = product === null || product === void 0 ? void 0 : product.itemId) !== null && _v !== void 0 ? _v : '', productName: (_w = product === null || product === void 0 ? void 0 : product.title) !== null && _w !== void 0 ? _w : '', price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0', productCollection: (_x = product === null || product === void 0 ? void 0 : product.collection) !== null && _x !== void 0 ? _x : '', fromKName, fromKPage: location === null || location === void 0 ? void 0 : location.href, contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '', sceneId: (_2 = (_1 = (_0 = data === null || data === void 0 ? void 0 : data.video) === null || _0 === void 0 ? void 0 : _0.scene) === null || _1 === void 0 ? void 0 : _1.sceneId) !== null && _2 !== void 0 ? _2 : '', ctatId: (_3 = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _3 !== void 0 ? _3 : '', traceInfo: (_16 = (_13 = (_11 = (_7 = (_4 = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _4 !== void 0 ? _4 : (_6 = (_5 = data === null || data === void 0 ? void 0 : data.video) === null || _5 === void 0 ? void 0 : _5.bindProduct) === null || _6 === void 0 ? void 0 : _6.traceInfo) !== null && _7 !== void 0 ? _7 : (_10 = (_9 = (_8 = data === null || data === void 0 ? void 0 : data.video) === null || _8 === void 0 ? void 0 : _8.bindProducts) === null || _9 === void 0 ? void 0 : _9[0]) === null || _10 === void 0 ? void 0 : _10.traceInfo) !== null && _11 !== void 0 ? _11 : (_12 = data === null || data === void 0 ? void 0 : data.product) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : (_15 = (_14 = data === null || data === void 0 ? void 0 : data.video) === null || _14 === void 0 ? void 0 : _14.bindCta) === null || _15 === void 0 ? void 0 : _15.traceInfo) !== null && _16 !== void 0 ? _16 : '' }, (contentFormat && { contentFormat }))
|
|
2170
2212
|
});
|
|
2171
2213
|
}, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
|
|
2172
2214
|
const productView = React.useCallback((data, product, cta, viewTime, position) => {
|
|
2173
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
2215
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
2174
2216
|
let fromKName = '';
|
|
2175
2217
|
if (popupDetailData && (((_b = (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
|
|
2176
2218
|
fromKName = 'pdpPage';
|
|
@@ -2189,8 +2231,9 @@
|
|
|
2189
2231
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
|
2190
2232
|
position: position + '',
|
|
2191
2233
|
contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
|
2234
|
+
sceneId: (_g = (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
|
2192
2235
|
ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
|
2193
|
-
traceInfo: (
|
|
2236
|
+
traceInfo: (_s = (_q = (_l = (_h = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _h !== void 0 ? _h : (_k = (_j = data === null || data === void 0 ? void 0 : data.video) === null || _j === void 0 ? void 0 : _j.bindProduct) === null || _k === void 0 ? void 0 : _k.traceInfo) !== null && _l !== void 0 ? _l : (_p = (_o = (_m = data === null || data === void 0 ? void 0 : data.video) === null || _m === void 0 ? void 0 : _m.bindProducts) === null || _o === void 0 ? void 0 : _o[0]) === null || _p === void 0 ? void 0 : _p.traceInfo) !== null && _q !== void 0 ? _q : (_r = data === null || data === void 0 ? void 0 : data.product) === null || _r === void 0 ? void 0 : _r.traceInfo) !== null && _s !== void 0 ? _s : '',
|
|
2194
2237
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
|
2195
2238
|
eventSubject: 'productView',
|
|
2196
2239
|
eventDescription: 'User browsed the product'
|
|
@@ -16234,7 +16277,7 @@ Made in Italy` })));
|
|
|
16234
16277
|
* @Author: binruan@chatlabs.com
|
|
16235
16278
|
* @Date: 2024-01-10 10:58:24
|
|
16236
16279
|
* @LastEditors: binruan@chatlabs.com
|
|
16237
|
-
* @LastEditTime: 2025-
|
|
16280
|
+
* @LastEditTime: 2025-05-09 15:30:41
|
|
16238
16281
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
|
16239
16282
|
*
|
|
16240
16283
|
*/
|
|
@@ -16272,7 +16315,7 @@ Made in Italy` })));
|
|
|
16272
16315
|
}
|
|
16273
16316
|
}, [waterFallData]);
|
|
16274
16317
|
const reportTagsView = React.useCallback(() => {
|
|
16275
|
-
var _a, _b, _c, _d, _e, _f;
|
|
16318
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
16276
16319
|
const rec = recData === null || recData === void 0 ? void 0 : recData.rec;
|
|
16277
16320
|
if (!rec)
|
|
16278
16321
|
return;
|
|
@@ -16292,9 +16335,10 @@ Made in Italy` })));
|
|
|
16292
16335
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
16293
16336
|
eventInfo: {
|
|
16294
16337
|
contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
|
16338
|
+
sceneId: (_g = (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
|
16295
16339
|
position: cacheActiveIndex + '',
|
|
16296
|
-
contentTags: JSON.stringify((
|
|
16297
|
-
traceInfo: (
|
|
16340
|
+
contentTags: JSON.stringify((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.tags),
|
|
16341
|
+
traceInfo: (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.traceInfo,
|
|
16298
16342
|
hashTags: JSON.stringify([recData === null || recData === void 0 ? void 0 : recData.hashTag]),
|
|
16299
16343
|
fromKName,
|
|
16300
16344
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
|
@@ -18401,21 +18445,22 @@ Made in Italy` })));
|
|
|
18401
18445
|
const likeIcon = useIconLink(defaultLikeIconPath$2);
|
|
18402
18446
|
const unlikeIcon = useIconLink(defaultUnLikeIconPath$2);
|
|
18403
18447
|
const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
18404
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
18448
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10;
|
|
18405
18449
|
if (state) {
|
|
18406
18450
|
// 先设置状态
|
|
18407
18451
|
setState(false);
|
|
18408
|
-
const result = (_e = (yield (mutateUnlike === null || mutateUnlike === void 0 ? void 0 : mutateUnlike({
|
|
18452
|
+
const result = (_e = (yield (mutateUnlike === null || mutateUnlike === void 0 ? void 0 : mutateUnlike({ itemId: (_d = (_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '' })))) !== null && _e !== void 0 ? _e : false;
|
|
18409
18453
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
18410
18454
|
eventInfo: {
|
|
18411
18455
|
eventSubject: 'favoriteContentCanceled',
|
|
18412
18456
|
eventDescription: 'This content was unfavorite by the user',
|
|
18413
18457
|
contentId: (_g = (_f = recData === null || recData === void 0 ? void 0 : recData.video) === null || _f === void 0 ? void 0 : _f.itemId) !== null && _g !== void 0 ? _g : '',
|
|
18414
|
-
|
|
18415
|
-
|
|
18458
|
+
sceneId: (_k = (_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.scene) === null || _j === void 0 ? void 0 : _j.sceneId) !== null && _k !== void 0 ? _k : '',
|
|
18459
|
+
contentName: (_m = (_l = recData === null || recData === void 0 ? void 0 : recData.video) === null || _l === void 0 ? void 0 : _l.title) !== null && _m !== void 0 ? _m : '',
|
|
18460
|
+
contentTags: JSON.stringify((_p = (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : []),
|
|
18416
18461
|
position: position + '',
|
|
18417
|
-
contentFormat: ((
|
|
18418
|
-
traceInfo: (
|
|
18462
|
+
contentFormat: ((_q = recData === null || recData === void 0 ? void 0 : recData.video) === null || _q === void 0 ? void 0 : _q.url) ? 'video' : 'image',
|
|
18463
|
+
traceInfo: (_r = recData === null || recData === void 0 ? void 0 : recData.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
18419
18464
|
}
|
|
18420
18465
|
});
|
|
18421
18466
|
// 如果接口调用失败,则回滚状态
|
|
@@ -18423,48 +18468,49 @@ Made in Italy` })));
|
|
|
18423
18468
|
setState(true);
|
|
18424
18469
|
}
|
|
18425
18470
|
else {
|
|
18426
|
-
const nRtcList = (
|
|
18471
|
+
const nRtcList = (_s = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
|
18427
18472
|
if (index === position) {
|
|
18428
18473
|
item.isCollected = false;
|
|
18429
18474
|
}
|
|
18430
18475
|
return item;
|
|
18431
|
-
})) !== null &&
|
|
18476
|
+
})) !== null && _s !== void 0 ? _s : [];
|
|
18432
18477
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
|
18433
18478
|
}
|
|
18434
18479
|
}
|
|
18435
18480
|
else {
|
|
18436
18481
|
setState(true);
|
|
18437
|
-
const result = (
|
|
18482
|
+
const result = (_v = (yield (mutateLike === null || mutateLike === void 0 ? void 0 : mutateLike({ content: JSON.stringify(recData), itemId: (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '' })))) !== null && _v !== void 0 ? _v : false;
|
|
18438
18483
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
18439
18484
|
eventInfo: {
|
|
18440
18485
|
eventSubject: 'favoriteContent',
|
|
18441
18486
|
eventDescription: 'This content was favorite by the user',
|
|
18442
|
-
contentId: (
|
|
18443
|
-
|
|
18444
|
-
|
|
18487
|
+
contentId: (_x = (_w = recData === null || recData === void 0 ? void 0 : recData.video) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
|
|
18488
|
+
sceneId: (_0 = (_z = (_y = recData === null || recData === void 0 ? void 0 : recData.video) === null || _y === void 0 ? void 0 : _y.scene) === null || _z === void 0 ? void 0 : _z.sceneId) !== null && _0 !== void 0 ? _0 : '',
|
|
18489
|
+
contentName: (_2 = (_1 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _1 === void 0 ? void 0 : _1.title) !== null && _2 !== void 0 ? _2 : '',
|
|
18490
|
+
contentTags: JSON.stringify((_4 = (_3 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _3 === void 0 ? void 0 : _3.tags) !== null && _4 !== void 0 ? _4 : []),
|
|
18445
18491
|
position: position + '',
|
|
18446
|
-
contentFormat: ((
|
|
18447
|
-
traceInfo: (
|
|
18492
|
+
contentFormat: ((_5 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _5 === void 0 ? void 0 : _5.url) ? 'video' : 'image',
|
|
18493
|
+
traceInfo: (_6 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _6 === void 0 ? void 0 : _6.traceInfo
|
|
18448
18494
|
}
|
|
18449
18495
|
});
|
|
18450
18496
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
18451
18497
|
eventName: 'Engagement',
|
|
18452
|
-
product: (
|
|
18498
|
+
product: (_7 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _7 === void 0 ? void 0 : _7.bindProducts,
|
|
18453
18499
|
rec: recData,
|
|
18454
18500
|
position,
|
|
18455
|
-
content_id: (
|
|
18501
|
+
content_id: (_9 = (_8 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _8 === void 0 ? void 0 : _8.itemId) !== null && _9 !== void 0 ? _9 : '',
|
|
18456
18502
|
engagement_type: 'like'
|
|
18457
18503
|
});
|
|
18458
18504
|
if (!result) {
|
|
18459
18505
|
setState(false);
|
|
18460
18506
|
}
|
|
18461
18507
|
else {
|
|
18462
|
-
const nRtcList = (
|
|
18508
|
+
const nRtcList = (_10 = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
|
18463
18509
|
if (index === position) {
|
|
18464
18510
|
item.isCollected = true;
|
|
18465
18511
|
}
|
|
18466
18512
|
return item;
|
|
18467
|
-
})) !== null &&
|
|
18513
|
+
})) !== null && _10 !== void 0 ? _10 : [];
|
|
18468
18514
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
|
18469
18515
|
}
|
|
18470
18516
|
}
|
|
@@ -18501,7 +18547,7 @@ Made in Italy` })));
|
|
|
18501
18547
|
const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef, visibleHeight }, ref) => {
|
|
18502
18548
|
var _a, _b;
|
|
18503
18549
|
const [isPauseVideo, setIsPauseVideo] = React.useState(false);
|
|
18504
|
-
const { bffEventReport, sxpParameter,
|
|
18550
|
+
const { bffEventReport, sxpParameter, firstRtcList, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
|
|
18505
18551
|
const videoStartTime = React.useRef(0);
|
|
18506
18552
|
const [isLoadFinish, setIsLoadFinish] = React.useState(false);
|
|
18507
18553
|
const { isActive } = useSwiperSlide();
|
|
@@ -18518,7 +18564,7 @@ Made in Italy` })));
|
|
|
18518
18564
|
const loopPlayRef = React.useRef(loopPlay);
|
|
18519
18565
|
const scene = rec.video.scene;
|
|
18520
18566
|
const videoUrl = (scene === null || scene === void 0 ? void 0 : scene.mediaUrl) || ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url);
|
|
18521
|
-
const videoCover = (
|
|
18567
|
+
const videoCover = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.cover;
|
|
18522
18568
|
const videoPoster = videoCover || (sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image);
|
|
18523
18569
|
React.useImperativeHandle(ref, () => {
|
|
18524
18570
|
return {
|
|
@@ -18567,6 +18613,23 @@ Made in Italy` })));
|
|
|
18567
18613
|
return;
|
|
18568
18614
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
|
18569
18615
|
}, [videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
|
18616
|
+
const handleEnd = () => {
|
|
18617
|
+
var _a, _b, _c, _d, _e, _f;
|
|
18618
|
+
if (!videoRef.current)
|
|
18619
|
+
return;
|
|
18620
|
+
if (isDiyH5) {
|
|
18621
|
+
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.pause();
|
|
18622
|
+
if (!loopPlayRef.current)
|
|
18623
|
+
return;
|
|
18624
|
+
if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
|
|
18625
|
+
const i = (_c = (_b = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _b === void 0 ? void 0 : _b.swiper) === null || _c === void 0 ? void 0 : _c.activeIndex;
|
|
18626
|
+
(_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(i + 1);
|
|
18627
|
+
}
|
|
18628
|
+
}
|
|
18629
|
+
else {
|
|
18630
|
+
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.play();
|
|
18631
|
+
}
|
|
18632
|
+
};
|
|
18570
18633
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
|
18571
18634
|
const handlePlaying = React.useCallback(() => {
|
|
18572
18635
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
@@ -18575,7 +18638,7 @@ Made in Italy` })));
|
|
|
18575
18638
|
setIsLoadFinish(true);
|
|
18576
18639
|
}, []);
|
|
18577
18640
|
const handleStartPlay = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
18578
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
18641
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
18579
18642
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
18580
18643
|
return;
|
|
18581
18644
|
setIsPauseVideo(false);
|
|
@@ -18586,16 +18649,11 @@ Made in Italy` })));
|
|
|
18586
18649
|
const videoCurrentTime = ((_h = (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.currentTime) !== null && _h !== void 0 ? _h : 0).toFixed(2);
|
|
18587
18650
|
const playType = (isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) ? '0' : '1';
|
|
18588
18651
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
18589
|
-
eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '',
|
|
18652
|
+
eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '', sceneId: (_o = (_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.scene) === null || _m === void 0 ? void 0 : _m.sceneId) !== null && _o !== void 0 ? _o : '', contentName: (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.title) !== null && _q !== void 0 ? _q : '', playType, startTime: videoCurrentTime, videoDuration, contentTags: JSON.stringify((_s = (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.tags) !== null && _s !== void 0 ? _s : []), position: index + '', contentFormat: 'video', traceInfo: (_t = item === null || item === void 0 ? void 0 : item.video) === null || _t === void 0 ? void 0 : _t.traceInfo }, ((isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) && { loadTime: (loadedTimeRef === null || loadedTimeRef === void 0 ? void 0 : loadedTimeRef.current) - (initTimeRef === null || initTimeRef === void 0 ? void 0 : initTimeRef.current) + '' }))
|
|
18590
18653
|
});
|
|
18591
18654
|
isFirstPlayRef.current = false;
|
|
18592
18655
|
}
|
|
18593
18656
|
}), [bffEventReport, data, index, isFirstPlayRef, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
|
18594
|
-
const setCurrentTimeByStartTime = React.useCallback(() => {
|
|
18595
|
-
if (isDiyH5) {
|
|
18596
|
-
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
|
18597
|
-
}
|
|
18598
|
-
}, []);
|
|
18599
18657
|
const handLoadeddata = React.useCallback(() => {
|
|
18600
18658
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || firstFrameSrc || !blur)
|
|
18601
18659
|
return;
|
|
@@ -18620,13 +18678,12 @@ Made in Italy` })));
|
|
|
18620
18678
|
const handleLoadedmetadata = React.useCallback(() => {
|
|
18621
18679
|
if (!videoRef.current)
|
|
18622
18680
|
return;
|
|
18623
|
-
setCurrentTimeByStartTime();
|
|
18624
18681
|
loadedTimeRef.current = new Date();
|
|
18625
18682
|
handleStartPlay();
|
|
18626
18683
|
handLoadeddata();
|
|
18627
18684
|
}, [videoRef.current, handLoadeddata, handleStartPlay]);
|
|
18628
18685
|
const handleClickVideo = React.useCallback((type) => () => {
|
|
18629
|
-
var _a, _b, _c, _d, _e
|
|
18686
|
+
var _a, _b, _c, _d, _e;
|
|
18630
18687
|
if (!videoRef.current)
|
|
18631
18688
|
return;
|
|
18632
18689
|
if (!isLoadFinish)
|
|
@@ -18647,20 +18704,17 @@ Made in Italy` })));
|
|
|
18647
18704
|
break;
|
|
18648
18705
|
default:
|
|
18649
18706
|
if (isPause) {
|
|
18650
|
-
|
|
18651
|
-
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
|
18652
|
-
}
|
|
18653
|
-
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.play();
|
|
18707
|
+
(_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
|
|
18654
18708
|
}
|
|
18655
18709
|
else {
|
|
18656
|
-
(
|
|
18710
|
+
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
|
|
18657
18711
|
}
|
|
18658
18712
|
setIsPauseVideo(!isPause);
|
|
18659
18713
|
break;
|
|
18660
18714
|
}
|
|
18661
18715
|
}, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
|
18662
18716
|
const handlePause = React.useCallback(() => {
|
|
18663
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
18717
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
18664
18718
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
18665
18719
|
return;
|
|
18666
18720
|
if (activeIndex !== index)
|
|
@@ -18676,14 +18730,15 @@ Made in Italy` })));
|
|
|
18676
18730
|
eventSubject: 'playOverVideo',
|
|
18677
18731
|
eventDescription: 'User finished playing the video',
|
|
18678
18732
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
|
18679
|
-
|
|
18733
|
+
sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
|
|
18734
|
+
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
|
18680
18735
|
endTime: videoCurrentTime,
|
|
18681
18736
|
videoDuration,
|
|
18682
18737
|
playDuration,
|
|
18683
|
-
contentTags: JSON.stringify((
|
|
18738
|
+
contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
|
|
18684
18739
|
position: index + '',
|
|
18685
18740
|
contentFormat: 'video',
|
|
18686
|
-
traceInfo: (
|
|
18741
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
18687
18742
|
}
|
|
18688
18743
|
});
|
|
18689
18744
|
}
|
|
@@ -18691,27 +18746,8 @@ Made in Italy` })));
|
|
|
18691
18746
|
const handleWaiting = React.useCallback(() => {
|
|
18692
18747
|
setWaiting(true);
|
|
18693
18748
|
}, []);
|
|
18694
|
-
const handleTimeUpload = () => {
|
|
18695
|
-
if (!videoRef.current || !isDiyH5)
|
|
18696
|
-
return;
|
|
18697
|
-
setTimeout(() => {
|
|
18698
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
18699
|
-
if (Math.round((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.currentTime) >= ((_b = scene === null || scene === void 0 ? void 0 : scene.endTime) !== null && _b !== void 0 ? _b : 0)) {
|
|
18700
|
-
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
|
|
18701
|
-
if (!loopPlayRef.current)
|
|
18702
|
-
return;
|
|
18703
|
-
if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
|
|
18704
|
-
(_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(0);
|
|
18705
|
-
}
|
|
18706
|
-
else {
|
|
18707
|
-
const i = (_g = (_f = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _f === void 0 ? void 0 : _f.swiper) === null || _g === void 0 ? void 0 : _g.activeIndex;
|
|
18708
|
-
(_j = (_h = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _h === void 0 ? void 0 : _h.swiper) === null || _j === void 0 ? void 0 : _j.slideTo(i + 1);
|
|
18709
|
-
}
|
|
18710
|
-
}
|
|
18711
|
-
});
|
|
18712
|
-
};
|
|
18713
18749
|
React.useEffect(() => {
|
|
18714
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
18750
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18715
18751
|
if (!isActive)
|
|
18716
18752
|
return;
|
|
18717
18753
|
const videoSrc = videoUrl;
|
|
@@ -18732,7 +18768,6 @@ Made in Italy` })));
|
|
|
18732
18768
|
hls === null || hls === void 0 ? void 0 : hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
|
|
18733
18769
|
hls === null || hls === void 0 ? void 0 : hls.on(Hls.Events.MANIFEST_PARSED, function () {
|
|
18734
18770
|
var _a;
|
|
18735
|
-
setCurrentTimeByStartTime();
|
|
18736
18771
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
|
18737
18772
|
});
|
|
18738
18773
|
}
|
|
@@ -18746,12 +18781,11 @@ Made in Italy` })));
|
|
|
18746
18781
|
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.addEventListener('play', handleStartPlay);
|
|
18747
18782
|
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.addEventListener('playing', handlePlaying);
|
|
18748
18783
|
(_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('pause', handlePause);
|
|
18749
|
-
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended',
|
|
18784
|
+
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handleEnd);
|
|
18750
18785
|
(_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
|
|
18751
18786
|
(_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.addEventListener('waiting', handleWaiting);
|
|
18752
|
-
(_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.addEventListener('timeupdate', handleTimeUpload);
|
|
18753
18787
|
return () => {
|
|
18754
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
18788
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18755
18789
|
const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
|
|
18756
18790
|
if (!isPause)
|
|
18757
18791
|
handlePause();
|
|
@@ -18763,10 +18797,9 @@ Made in Italy` })));
|
|
|
18763
18797
|
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('play', handleStartPlay);
|
|
18764
18798
|
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('playing', handlePlaying);
|
|
18765
18799
|
(_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('pause', handlePause);
|
|
18766
|
-
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended',
|
|
18800
|
+
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handleEnd);
|
|
18767
18801
|
(_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.removeEventListener('canplay', handlePlay);
|
|
18768
18802
|
(_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.removeEventListener('waiting', handleWaiting);
|
|
18769
|
-
(_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.removeEventListener('timeupdate', handleTimeUpload);
|
|
18770
18803
|
};
|
|
18771
18804
|
}, [isActive]);
|
|
18772
18805
|
React.useEffect(() => {
|
|
@@ -18981,19 +19014,45 @@ Made in Italy` })));
|
|
|
18981
19014
|
}, onLoad: onShowFirstImage }))));
|
|
18982
19015
|
};
|
|
18983
19016
|
|
|
18984
|
-
const PictureGroup$4 = ({ imgUrls,
|
|
19017
|
+
const PictureGroup$4 = React.forwardRef(({ imgUrls, data, height, rec, index, onViewImageEndEvent, onViewImageStartEvent, imgUrlsPostConfig, swiperRef }, ref) => {
|
|
18985
19018
|
var _a, _b;
|
|
18986
19019
|
const { isActive } = useSwiperSlide();
|
|
18987
|
-
const {
|
|
19020
|
+
const { firstRtcList, openHashtag, isDiyH5 } = useSxpDataSource();
|
|
18988
19021
|
const [isLoad, setIsLoad] = React.useState(false);
|
|
18989
19022
|
const [imgInfo, setImgInfo] = React.useState();
|
|
18990
19023
|
const [swiperActiveIndex, setSwiperActiveIndex] = React.useState(0);
|
|
18991
|
-
const
|
|
19024
|
+
const imgsSwiperRef = React.useRef();
|
|
18992
19025
|
const isFirstPlayRef = React.useRef(true);
|
|
19026
|
+
const loopPlayRef = React.useRef(true);
|
|
18993
19027
|
const initTime = new Date();
|
|
19028
|
+
React.useImperativeHandle(ref, () => {
|
|
19029
|
+
return {
|
|
19030
|
+
setLoopPlay(v) {
|
|
19031
|
+
loopPlayRef.current = v;
|
|
19032
|
+
}
|
|
19033
|
+
};
|
|
19034
|
+
});
|
|
19035
|
+
React.useEffect(() => {
|
|
19036
|
+
let timerId;
|
|
19037
|
+
if (isLoad && isActive && isDiyH5) {
|
|
19038
|
+
timerId = setTimeout(() => {
|
|
19039
|
+
var _a, _b, _c, _d;
|
|
19040
|
+
if (!loopPlayRef.current)
|
|
19041
|
+
return;
|
|
19042
|
+
if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
|
|
19043
|
+
const i = (_b = (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper) === null || _b === void 0 ? void 0 : _b.activeIndex;
|
|
19044
|
+
(_d = (_c = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _c === void 0 ? void 0 : _c.swiper) === null || _d === void 0 ? void 0 : _d.slideTo(i + 1);
|
|
19045
|
+
}
|
|
19046
|
+
}, 3000);
|
|
19047
|
+
}
|
|
19048
|
+
return () => {
|
|
19049
|
+
if (timerId)
|
|
19050
|
+
clearTimeout(timerId);
|
|
19051
|
+
};
|
|
19052
|
+
}, [isLoad, isActive, isDiyH5, index, swiperRef, firstRtcList]);
|
|
18994
19053
|
React.useEffect(() => {
|
|
18995
19054
|
if (isLoad && isActive) {
|
|
18996
|
-
(
|
|
19055
|
+
(imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.start();
|
|
18997
19056
|
if (openHashtag) {
|
|
18998
19057
|
onViewImageEndEvent(rec);
|
|
18999
19058
|
}
|
|
@@ -19003,7 +19062,7 @@ Made in Italy` })));
|
|
|
19003
19062
|
}
|
|
19004
19063
|
}
|
|
19005
19064
|
else {
|
|
19006
|
-
(
|
|
19065
|
+
(imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.stop();
|
|
19007
19066
|
}
|
|
19008
19067
|
}, [rec, isActive, onViewImageEndEvent, openHashtag, index, onViewImageStartEvent, isLoad, imgInfo]);
|
|
19009
19068
|
const showFirstImageFn = React.useCallback((e) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -19030,13 +19089,13 @@ Made in Italy` })));
|
|
|
19030
19089
|
};
|
|
19031
19090
|
}, [isActive, imgInfo]);
|
|
19032
19091
|
const handleMouseEnter = React.useCallback(() => {
|
|
19033
|
-
if (
|
|
19034
|
-
|
|
19092
|
+
if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
|
|
19093
|
+
imgsSwiperRef.current.swiper.autoplay.stop();
|
|
19035
19094
|
}
|
|
19036
19095
|
}, []);
|
|
19037
19096
|
const handleMouseLeave = React.useCallback(() => {
|
|
19038
|
-
if (
|
|
19039
|
-
|
|
19097
|
+
if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
|
|
19098
|
+
imgsSwiperRef.current.swiper.autoplay.start();
|
|
19040
19099
|
}
|
|
19041
19100
|
}, []);
|
|
19042
19101
|
const handleSlideChange = React.useCallback((swiper) => {
|
|
@@ -19057,7 +19116,7 @@ Made in Italy` })));
|
|
|
19057
19116
|
enabled: true
|
|
19058
19117
|
}
|
|
19059
19118
|
}
|
|
19060
|
-
: {}), { loop: true, ref:
|
|
19119
|
+
: {}), { loop: true, ref: imgsSwiperRef, onSlideChange: handleSlideChange, className: css.css(Object.assign(Object.assign({ '.swiper-pagination': {
|
|
19061
19120
|
bottom: (_a = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) !== null && _a !== void 0 ? _a : 0,
|
|
19062
19121
|
fontSize: '14px'
|
|
19063
19122
|
} }, ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsBgColor) && {
|
|
@@ -19074,7 +19133,7 @@ Made in Italy` })));
|
|
|
19074
19133
|
return (React.createElement(SwiperSlide, { key: srcKey, "aria-hidden": srcKey !== swiperActiveIndex },
|
|
19075
19134
|
React.createElement(Picture, { src: !isLoad && srcKey > 0 ? '' : url, height: height, imgUrlsPostConfig: imgUrlsPostConfig, onShowFirstImage: showFirstImageFn })));
|
|
19076
19135
|
}))));
|
|
19077
|
-
};
|
|
19136
|
+
});
|
|
19078
19137
|
var PictureGroup$5 = React.memo(PictureGroup$4);
|
|
19079
19138
|
|
|
19080
19139
|
/*
|
|
@@ -19366,7 +19425,7 @@ Made in Italy` })));
|
|
|
19366
19425
|
* @Author: binruan@chatlabs.com
|
|
19367
19426
|
* @Date: 2024-03-20 10:27:31
|
|
19368
19427
|
* @LastEditors: binruan@chatlabs.com
|
|
19369
|
-
* @LastEditTime: 2025-05-
|
|
19428
|
+
* @LastEditTime: 2025-05-12 14:26:15
|
|
19370
19429
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
|
19371
19430
|
*
|
|
19372
19431
|
*/
|
|
@@ -19387,6 +19446,7 @@ Made in Italy` })));
|
|
|
19387
19446
|
const [pageNum, setPageNum] = React.useState(2);
|
|
19388
19447
|
React.useState(false);
|
|
19389
19448
|
const videoWidgetRef = React.useRef(null);
|
|
19449
|
+
const pictureGroupRef = React.useRef(null);
|
|
19390
19450
|
const fbcRef = React.useRef('');
|
|
19391
19451
|
const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, isNoMoreData, channel, refreshFeSession, isDiyH5, pixelPvStatusRef } = useSxpDataSource();
|
|
19392
19452
|
const { backMainFeed, productView, jumpToWeb } = useEventReport();
|
|
@@ -19436,7 +19496,7 @@ Made in Italy` })));
|
|
|
19436
19496
|
(_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
|
|
19437
19497
|
}, [data, ctaType, swiperRef]);
|
|
19438
19498
|
const handleSessionCompleted = React.useCallback((fk) => {
|
|
19439
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
|
19499
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
|
|
19440
19500
|
const item = data === null || data === void 0 ? void 0 : data[activeIndex];
|
|
19441
19501
|
let fromKName = '';
|
|
19442
19502
|
if (popupDetailData && (((_b = (_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
|
|
@@ -19463,22 +19523,23 @@ Made in Italy` })));
|
|
|
19463
19523
|
eventSubject: 'sessionCompleted',
|
|
19464
19524
|
eventDescription: 'Session completed',
|
|
19465
19525
|
contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
|
|
19466
|
-
|
|
19526
|
+
sceneId: (_q = (_p = (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.scene) === null || _p === void 0 ? void 0 : _p.sceneId) !== null && _q !== void 0 ? _q : '',
|
|
19527
|
+
productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
|
|
19467
19528
|
position: activeIndex + '',
|
|
19468
19529
|
fromKName: fk || fromKName,
|
|
19469
19530
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
|
19470
|
-
ctatId: (
|
|
19471
|
-
traceInfo: (
|
|
19531
|
+
ctatId: (_u = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.bindCta) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '',
|
|
19532
|
+
traceInfo: (_y = (_w = (_v = item === null || item === void 0 ? void 0 : item.video) === null || _v === void 0 ? void 0 : _v.traceInfo) !== null && _w !== void 0 ? _w : (_x = item === null || item === void 0 ? void 0 : item.product) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : ''
|
|
19472
19533
|
}
|
|
19473
19534
|
});
|
|
19474
|
-
const isPostType = ((
|
|
19535
|
+
const isPostType = ((_z = item === null || item === void 0 ? void 0 : item.video) === null || _z === void 0 ? void 0 : _z.url) || ((_1 = (_0 = item === null || item === void 0 ? void 0 : item.video) === null || _0 === void 0 ? void 0 : _0.imgUrls) === null || _1 === void 0 ? void 0 : _1.length);
|
|
19475
19536
|
if (!popupDetailData) {
|
|
19476
19537
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19477
19538
|
eventName: 'ExitFeed',
|
|
19478
|
-
product: isPostType ? (
|
|
19539
|
+
product: isPostType ? (_2 = item === null || item === void 0 ? void 0 : item.video) === null || _2 === void 0 ? void 0 : _2.bindProducts : (item === null || item === void 0 ? void 0 : item.product) ? [item === null || item === void 0 ? void 0 : item.product] : [],
|
|
19479
19540
|
rec: item,
|
|
19480
19541
|
position: activeIndex,
|
|
19481
|
-
content_id: isPostType ? (
|
|
19542
|
+
content_id: isPostType ? (_4 = (_3 = item === null || item === void 0 ? void 0 : item.video) === null || _3 === void 0 ? void 0 : _3.itemId) !== null && _4 !== void 0 ? _4 : '' : (_6 = (_5 = item === null || item === void 0 ? void 0 : item.product) === null || _5 === void 0 ? void 0 : _5.itemId) !== null && _6 !== void 0 ? _6 : '',
|
|
19482
19543
|
view_time: new Date() - viewTime.current
|
|
19483
19544
|
});
|
|
19484
19545
|
}
|
|
@@ -19538,8 +19599,9 @@ Made in Italy` })));
|
|
|
19538
19599
|
refreshFeSession
|
|
19539
19600
|
]);
|
|
19540
19601
|
const handleSessionExpire = React.useCallback(lodash.debounce(() => {
|
|
19541
|
-
var _a;
|
|
19602
|
+
var _a, _b;
|
|
19542
19603
|
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
|
19604
|
+
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
|
19543
19605
|
refreshFeSession === null || refreshFeSession === void 0 ? void 0 : refreshFeSession(false, handleSessionCompleted);
|
|
19544
19606
|
}, 1000), [handleSessionCompleted, refreshFeSession]);
|
|
19545
19607
|
React.useEffect(() => {
|
|
@@ -19610,18 +19672,18 @@ Made in Italy` })));
|
|
|
19610
19672
|
return null;
|
|
19611
19673
|
}, [globalConfig, activeIndex, visList]);
|
|
19612
19674
|
const renderContent = React.useCallback((rec, index) => {
|
|
19613
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
19675
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
19614
19676
|
if (rec === 'organic menu') {
|
|
19615
19677
|
return (React.createElement(MultiPosts$2, Object.assign({ recData: data === null || data === void 0 ? void 0 : data[1] }, (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props, (_f = (_e = (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.item) === null || _f === void 0 ? void 0 : _f.event)));
|
|
19616
19678
|
}
|
|
19617
|
-
if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null ||
|
|
19679
|
+
if (((_h = (_g = rec.video) === null || _g === void 0 ? void 0 : _g.scene) === null || _h === void 0 ? void 0 : _h.mediaUrl) || ((_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.url)) {
|
|
19618
19680
|
return (React.createElement(VideoWidget$5, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon, loopPlay: true, swiperRef: swiperRef, visibleHeight: visibleHeight })));
|
|
19619
19681
|
}
|
|
19620
|
-
if ((
|
|
19621
|
-
return (React.createElement(PictureGroup$5, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
|
|
19682
|
+
if ((_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.imgUrls) {
|
|
19683
|
+
return (React.createElement(PictureGroup$5, Object.assign({ data: data }, (activeIndex === index && { ref: pictureGroupRef }), { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost, swiperRef: swiperRef })));
|
|
19622
19684
|
}
|
|
19623
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((
|
|
19624
|
-
return (
|
|
19685
|
+
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_l = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _l === void 0 ? void 0 : _l.length) > 0) {
|
|
19686
|
+
return (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _m === void 0 ? void 0 : _m.map((value, idx) => {
|
|
19625
19687
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
19626
19688
|
const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
|
19627
19689
|
const Component = withBindDataSource(t);
|
|
@@ -19660,7 +19722,7 @@ Made in Italy` })));
|
|
|
19660
19722
|
};
|
|
19661
19723
|
}, [isShowMore]);
|
|
19662
19724
|
const renderBottom = React.useCallback((rec, index) => {
|
|
19663
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
19725
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
19664
19726
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
|
19665
19727
|
let cta = null;
|
|
19666
19728
|
if ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) {
|
|
@@ -19669,24 +19731,27 @@ Made in Italy` })));
|
|
|
19669
19731
|
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
|
19670
19732
|
cta = '商品CTA';
|
|
19671
19733
|
}
|
|
19734
|
+
else if (tempMap && ((_d = Object.keys(tempMap)) === null || _d === void 0 ? void 0 : _d.includes('服务CTA')) && ((_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.bindCta) === null || _f === void 0 ? void 0 : _f.itemId)) {
|
|
19735
|
+
cta = '服务CTA';
|
|
19736
|
+
}
|
|
19672
19737
|
else {
|
|
19673
|
-
cta = (
|
|
19738
|
+
cta = (_h = (_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.bindCta) === null || _h === void 0 ? void 0 : _h.itemId;
|
|
19674
19739
|
}
|
|
19675
19740
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
|
19676
19741
|
const isNineProduct = (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.nineProductEnable) &&
|
|
19677
19742
|
index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 1 : 0) &&
|
|
19678
|
-
((
|
|
19743
|
+
((_j = ['MultiCommodity', 'MultiCommodityDiro', 'MultiCommodityDiroNew']) === null || _j === void 0 ? void 0 : _j.includes((_k = value === null || value === void 0 ? void 0 : value.item) === null || _k === void 0 ? void 0 : _k.type));
|
|
19679
19744
|
return (React.createElement(React.Fragment, null,
|
|
19680
19745
|
isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, isNineProduct: isNineProduct })),
|
|
19681
|
-
((
|
|
19682
|
-
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(
|
|
19746
|
+
((_l = rec === null || rec === void 0 ? void 0 : rec.video) === null || _l === void 0 ? void 0 : _l.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
|
|
19747
|
+
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _m !== void 0 ? _m : 40}px` } },
|
|
19683
19748
|
React.createElement(Nudge, { nudge: nudge }),
|
|
19684
19749
|
((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) && !isNineProduct ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
|
19685
19750
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, includesCtaType: [] }))) : null,
|
|
19686
19751
|
React.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
|
|
19687
|
-
React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (
|
|
19752
|
+
React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_p = (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.title) !== null && _p !== void 0 ? _p : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }), onChange: onExpandableChange }),
|
|
19688
19753
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex }),
|
|
19689
|
-
React.createElement(Hashtag$1, { index: activeIndex, tags: (
|
|
19754
|
+
React.createElement(Hashtag$1, { index: activeIndex, tags: (_r = (_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.hashTags) !== null && _r !== void 0 ? _r : [], itemId: (_s = rec === null || rec === void 0 ? void 0 : rec.video) === null || _s === void 0 ? void 0 : _s.itemId, itemType: ((_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle, hashTagRightMargin: containerWidth - (hashTagRightMargin !== null && hashTagRightMargin !== void 0 ? hashTagRightMargin : 0) }))),
|
|
19690
19755
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
|
|
19691
19756
|
}
|
|
19692
19757
|
return null;
|
|
@@ -19728,7 +19793,7 @@ Made in Italy` })));
|
|
|
19728
19793
|
return null;
|
|
19729
19794
|
}, [globalConfig, waterFallData, bottomHeight]);
|
|
19730
19795
|
const handleViewImageStartEnd = (item) => {
|
|
19731
|
-
var _a, _b, _c, _d, _e, _f;
|
|
19796
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
19732
19797
|
if (!((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls)) {
|
|
19733
19798
|
const endTime = Date.now();
|
|
19734
19799
|
const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
|
|
@@ -19737,10 +19802,11 @@ Made in Italy` })));
|
|
|
19737
19802
|
eventSubject: 'viewImageCarouselEnd',
|
|
19738
19803
|
eventDescription: 'User end view the image carousel',
|
|
19739
19804
|
contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
|
|
19740
|
-
|
|
19805
|
+
sceneId: (_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
|
19806
|
+
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
|
19741
19807
|
imageEndTime: `${endTime}`,
|
|
19742
19808
|
playDuration: `${duration}`,
|
|
19743
|
-
contentTags: JSON.stringify((
|
|
19809
|
+
contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
|
|
19744
19810
|
position: activeIndex + '',
|
|
19745
19811
|
contentFormat: 'image',
|
|
19746
19812
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
|
|
@@ -19749,7 +19815,7 @@ Made in Italy` })));
|
|
|
19749
19815
|
}
|
|
19750
19816
|
};
|
|
19751
19817
|
const handleSlideSkip = (item, position) => {
|
|
19752
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
19818
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
|
19753
19819
|
if (isPreview || waterFallData)
|
|
19754
19820
|
return;
|
|
19755
19821
|
const t = new Date() - curTime.current;
|
|
@@ -19775,7 +19841,8 @@ Made in Italy` })));
|
|
|
19775
19841
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
|
19776
19842
|
position: position + '',
|
|
19777
19843
|
contentId: (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.itemId) !== null && _t !== void 0 ? _t : '',
|
|
19778
|
-
|
|
19844
|
+
sceneId: (_w = (_v = (_u = item === null || item === void 0 ? void 0 : item.video) === null || _u === void 0 ? void 0 : _u.scene) === null || _v === void 0 ? void 0 : _v.sceneId) !== null && _w !== void 0 ? _w : '',
|
|
19845
|
+
traceInfo: (_0 = (_y = (_x = item === null || item === void 0 ? void 0 : item.video) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : (_z = item === null || item === void 0 ? void 0 : item.product) === null || _z === void 0 ? void 0 : _z.traceInfo) !== null && _0 !== void 0 ? _0 : '',
|
|
19779
19846
|
contentFormat
|
|
19780
19847
|
}
|
|
19781
19848
|
});
|
|
@@ -19785,7 +19852,7 @@ Made in Italy` })));
|
|
|
19785
19852
|
}
|
|
19786
19853
|
};
|
|
19787
19854
|
const handleScrollEvent = (swiper) => {
|
|
19788
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10;
|
|
19855
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;
|
|
19789
19856
|
const item = data[swiper.previousIndex];
|
|
19790
19857
|
const activeItem = data[swiper.activeIndex];
|
|
19791
19858
|
if (!item)
|
|
@@ -19818,11 +19885,12 @@ Made in Italy` })));
|
|
|
19818
19885
|
eventSubject: 'scrollDown',
|
|
19819
19886
|
eventDescription: 'User scroll down',
|
|
19820
19887
|
contentId: (_u = (_t = item === null || item === void 0 ? void 0 : item.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '',
|
|
19821
|
-
|
|
19888
|
+
sceneId: (_x = (_w = (_v = item === null || item === void 0 ? void 0 : item.video) === null || _v === void 0 ? void 0 : _v.scene) === null || _w === void 0 ? void 0 : _w.sceneId) !== null && _x !== void 0 ? _x : '',
|
|
19889
|
+
productId: (_z = (_y = item === null || item === void 0 ? void 0 : item.product) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '',
|
|
19822
19890
|
requestId: null,
|
|
19823
|
-
traceInfo: (
|
|
19891
|
+
traceInfo: (_3 = (_1 = (_0 = item === null || item === void 0 ? void 0 : item.video) === null || _0 === void 0 ? void 0 : _0.traceInfo) !== null && _1 !== void 0 ? _1 : (_2 = item === null || item === void 0 ? void 0 : item.product) === null || _2 === void 0 ? void 0 : _2.traceInfo) !== null && _3 !== void 0 ? _3 : '',
|
|
19824
19892
|
contentFormat,
|
|
19825
|
-
position: ((
|
|
19893
|
+
position: ((_4 = swiper.previousIndex) !== null && _4 !== void 0 ? _4 : 0) + ''
|
|
19826
19894
|
}
|
|
19827
19895
|
});
|
|
19828
19896
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
|
@@ -19835,12 +19903,13 @@ Made in Italy` })));
|
|
|
19835
19903
|
eventInfo: {
|
|
19836
19904
|
eventSubject: 'scrollUp',
|
|
19837
19905
|
eventDescription: 'User scroll up',
|
|
19838
|
-
contentId: (
|
|
19839
|
-
|
|
19906
|
+
contentId: (_6 = (_5 = item === null || item === void 0 ? void 0 : item.video) === null || _5 === void 0 ? void 0 : _5.itemId) !== null && _6 !== void 0 ? _6 : '',
|
|
19907
|
+
sceneId: (_9 = (_8 = (_7 = item === null || item === void 0 ? void 0 : item.video) === null || _7 === void 0 ? void 0 : _7.scene) === null || _8 === void 0 ? void 0 : _8.sceneId) !== null && _9 !== void 0 ? _9 : '',
|
|
19908
|
+
productId: (_11 = (_10 = item.product) === null || _10 === void 0 ? void 0 : _10.itemId) !== null && _11 !== void 0 ? _11 : '',
|
|
19840
19909
|
requestId: null,
|
|
19841
|
-
traceInfo: (
|
|
19910
|
+
traceInfo: (_15 = (_13 = (_12 = item === null || item === void 0 ? void 0 : item.video) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : (_14 = item === null || item === void 0 ? void 0 : item.product) === null || _14 === void 0 ? void 0 : _14.traceInfo) !== null && _15 !== void 0 ? _15 : '',
|
|
19842
19911
|
contentFormat,
|
|
19843
|
-
position: ((
|
|
19912
|
+
position: ((_16 = swiper.previousIndex) !== null && _16 !== void 0 ? _16 : 0) + ''
|
|
19844
19913
|
}
|
|
19845
19914
|
});
|
|
19846
19915
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
|
@@ -19940,7 +20009,7 @@ Made in Italy` })));
|
|
|
19940
20009
|
};
|
|
19941
20010
|
}, [globalConfig, bffEventReport, data, activeIndex]);
|
|
19942
20011
|
const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
|
|
19943
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
20012
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
19944
20013
|
const item = data[activeIndex];
|
|
19945
20014
|
// 如果是图片集则上报事件
|
|
19946
20015
|
if (!((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls)) {
|
|
@@ -19951,9 +20020,10 @@ Made in Italy` })));
|
|
|
19951
20020
|
eventSubject: 'viewImageCarouselStart',
|
|
19952
20021
|
eventDescription: 'User start view the image carousel',
|
|
19953
20022
|
contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
|
|
19954
|
-
|
|
20023
|
+
sceneId: (_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
|
20024
|
+
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
|
19955
20025
|
imageStartTime: `${startTime}`,
|
|
19956
|
-
contentTags: JSON.stringify((
|
|
20026
|
+
contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
|
|
19957
20027
|
position: activeIndex + '',
|
|
19958
20028
|
contentFormat: 'image',
|
|
19959
20029
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
|
|
@@ -19963,13 +20033,13 @@ Made in Italy` })));
|
|
|
19963
20033
|
if (enableCapi) {
|
|
19964
20034
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19965
20035
|
eventName: 'ViewContent',
|
|
19966
|
-
product: (
|
|
20036
|
+
product: (_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.bindProducts,
|
|
19967
20037
|
rec: item,
|
|
19968
20038
|
position: activeIndex
|
|
19969
20039
|
});
|
|
19970
20040
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19971
20041
|
eventName: 'PageView',
|
|
19972
|
-
product: (
|
|
20042
|
+
product: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.bindProducts,
|
|
19973
20043
|
rec: item,
|
|
19974
20044
|
position: activeIndex
|
|
19975
20045
|
});
|
|
@@ -20067,15 +20137,20 @@ Made in Italy` })));
|
|
|
20067
20137
|
swiperRef.current.swiper.allowTouchMove = true;
|
|
20068
20138
|
}, 500);
|
|
20069
20139
|
}, onActiveIndexChange: (swiper) => {
|
|
20140
|
+
var _a, _b;
|
|
20070
20141
|
setActiveIndex(swiper.activeIndex);
|
|
20071
20142
|
if (openHashtag)
|
|
20072
20143
|
return;
|
|
20073
20144
|
// 处理上滑下滑事件
|
|
20074
20145
|
handleScrollEvent(swiper);
|
|
20075
|
-
if (waterFallData || isEditor
|
|
20146
|
+
if (waterFallData || isEditor)
|
|
20076
20147
|
return;
|
|
20077
20148
|
if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
|
|
20078
20149
|
if (!isLoadMore) {
|
|
20150
|
+
if (isDiyH5) {
|
|
20151
|
+
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
|
20152
|
+
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
|
20153
|
+
}
|
|
20079
20154
|
setIsLoadMore(true);
|
|
20080
20155
|
loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
|
|
20081
20156
|
var _a;
|
|
@@ -20148,7 +20223,7 @@ Made in Italy` })));
|
|
|
20148
20223
|
}, []);
|
|
20149
20224
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
|
20150
20225
|
const handlePlaying = React.useCallback(() => {
|
|
20151
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
20226
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
20152
20227
|
setIsPauseVideo(false);
|
|
20153
20228
|
const item = data[index];
|
|
20154
20229
|
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
|
@@ -20161,14 +20236,15 @@ Made in Italy` })));
|
|
|
20161
20236
|
eventSubject: 'playVideo',
|
|
20162
20237
|
eventDescription: 'User played the video',
|
|
20163
20238
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
|
20164
|
-
|
|
20239
|
+
sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
|
|
20240
|
+
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
|
20165
20241
|
playType,
|
|
20166
20242
|
startTime: videoCurrentTime,
|
|
20167
20243
|
videoDuration,
|
|
20168
|
-
contentTags: JSON.stringify((
|
|
20244
|
+
contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
|
|
20169
20245
|
position: index + '',
|
|
20170
20246
|
contentFormat: 'video',
|
|
20171
|
-
traceInfo: (
|
|
20247
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
20172
20248
|
}
|
|
20173
20249
|
});
|
|
20174
20250
|
setIsFirstPlay(false);
|
|
@@ -20207,7 +20283,7 @@ Made in Italy` })));
|
|
|
20207
20283
|
}
|
|
20208
20284
|
}, [isLoadFinish]);
|
|
20209
20285
|
const onPause = React.useCallback(() => {
|
|
20210
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
20286
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
20211
20287
|
const item = data[index];
|
|
20212
20288
|
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
|
20213
20289
|
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
|
@@ -20218,14 +20294,15 @@ Made in Italy` })));
|
|
|
20218
20294
|
eventSubject: 'playOverVideo',
|
|
20219
20295
|
eventDescription: 'User finished playing the video',
|
|
20220
20296
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
|
20221
|
-
|
|
20297
|
+
sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
|
|
20298
|
+
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
|
20222
20299
|
endTime: videoCurrentTime,
|
|
20223
20300
|
videoDuration,
|
|
20224
20301
|
playDuration,
|
|
20225
|
-
contentTags: JSON.stringify((
|
|
20302
|
+
contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
|
|
20226
20303
|
position: index + '',
|
|
20227
20304
|
contentFormat: 'video',
|
|
20228
|
-
traceInfo: (
|
|
20305
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
20229
20306
|
}
|
|
20230
20307
|
});
|
|
20231
20308
|
}
|