pb-sxp-ui 1.20.10 → 1.20.11
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 +248 -172
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +248 -172
- 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 +248 -172
- 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 +81 -38
- 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 +81 -38
- 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;
|
|
@@ -1426,38 +1458,40 @@
|
|
|
1426
1458
|
}
|
|
1427
1459
|
}, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
|
|
1428
1460
|
const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1461
|
+
body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
|
|
1429
1462
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
|
|
1430
1463
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1431
|
-
}), [bffFetch]);
|
|
1464
|
+
}), [bffFetch, fakeUserId]);
|
|
1432
1465
|
const bffMutateUnlike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1466
|
+
body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
|
|
1433
1467
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/unlike', { method: 'POST', body }));
|
|
1434
1468
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1435
|
-
}), [bffFetch]);
|
|
1469
|
+
}), [bffFetch, fakeUserId]);
|
|
1436
1470
|
const bffSubmitForm = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1437
1471
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/customform', { method: 'POST', body }));
|
|
1438
1472
|
return res === null || res === void 0 ? void 0 : res.success;
|
|
1439
1473
|
}), [bffFetch]);
|
|
1440
1474
|
// 获取 Tag
|
|
1441
1475
|
const bffGetTagList = React.useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1442
|
-
var
|
|
1443
|
-
const isShowTag = !!((
|
|
1476
|
+
var _8, _9, _10, _11, _12, _13, _14, _15;
|
|
1477
|
+
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
1478
|
if (!utmVal || !isShowTag)
|
|
1445
1479
|
return;
|
|
1446
1480
|
try {
|
|
1447
|
-
const val = (
|
|
1481
|
+
const val = (_13 = (_12 = (_11 = splitUrlParams(utmVal)) === null || _11 === void 0 ? void 0 : _11.filter((val) => {
|
|
1448
1482
|
var _a, _b;
|
|
1449
1483
|
const key = val.split('=')[0];
|
|
1450
1484
|
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 ||
|
|
1485
|
+
})) === null || _12 === void 0 ? void 0 : _12.join('&')) !== null && _13 !== void 0 ? _13 : '';
|
|
1452
1486
|
const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
|
|
1453
|
-
setTagList((
|
|
1487
|
+
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
1488
|
}
|
|
1455
1489
|
catch (e) {
|
|
1456
1490
|
console.log('e', e);
|
|
1457
1491
|
}
|
|
1458
1492
|
}), [bffFetch, utmVal]);
|
|
1459
1493
|
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;
|
|
1494
|
+
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
1495
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
|
1462
1496
|
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
1497
|
let fromKName = '';
|
|
@@ -1475,7 +1509,7 @@
|
|
|
1475
1509
|
}
|
|
1476
1510
|
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
1511
|
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: (
|
|
1512
|
+
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
1513
|
});
|
|
1480
1514
|
}, [bffEventReport, isFromHashtag]);
|
|
1481
1515
|
const h5EnterLink = React.useCallback(() => {
|
|
@@ -1499,10 +1533,10 @@
|
|
|
1499
1533
|
});
|
|
1500
1534
|
}, [bffEventReport]);
|
|
1501
1535
|
const getAccount = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
1502
|
-
var
|
|
1536
|
+
var _16, _17;
|
|
1503
1537
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account', { method: 'GET' }));
|
|
1504
|
-
setChatlabsId((
|
|
1505
|
-
return ((
|
|
1538
|
+
setChatlabsId((_16 = res === null || res === void 0 ? void 0 : res.data) === null || _16 === void 0 ? void 0 : _16.chatLabsId);
|
|
1539
|
+
return ((_17 = res === null || res === void 0 ? void 0 : res.data) === null || _17 === void 0 ? void 0 : _17.consentResult) === 'true';
|
|
1506
1540
|
}), [bffFetch]);
|
|
1507
1541
|
const accountSonsent = React.useCallback((consentResult) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1508
1542
|
const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account/consent', {
|
|
@@ -1566,6 +1600,9 @@
|
|
|
1566
1600
|
}
|
|
1567
1601
|
setRtcList(list);
|
|
1568
1602
|
setCacheRtcList(list);
|
|
1603
|
+
if (isDiyPage) {
|
|
1604
|
+
setFirstRtcList(list);
|
|
1605
|
+
}
|
|
1569
1606
|
bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
|
|
1570
1607
|
if (channel) {
|
|
1571
1608
|
const item = list === null || list === void 0 ? void 0 : list[0];
|
|
@@ -1585,7 +1622,7 @@
|
|
|
1585
1622
|
});
|
|
1586
1623
|
setLoading(false);
|
|
1587
1624
|
});
|
|
1588
|
-
}, [isShowConsent, channel]);
|
|
1625
|
+
}, [isShowConsent, channel, isDiyPage]);
|
|
1589
1626
|
// cms预览
|
|
1590
1627
|
React.useEffect(() => {
|
|
1591
1628
|
if (!isPreview)
|
|
@@ -1601,12 +1638,15 @@
|
|
|
1601
1638
|
}
|
|
1602
1639
|
setRtcList(list);
|
|
1603
1640
|
setCacheRtcList(list);
|
|
1641
|
+
if (isDiyPage) {
|
|
1642
|
+
setFirstRtcList(list);
|
|
1643
|
+
}
|
|
1604
1644
|
}
|
|
1605
1645
|
})
|
|
1606
1646
|
.finally(() => {
|
|
1607
1647
|
setLoading(false);
|
|
1608
1648
|
});
|
|
1609
|
-
}, [getRecommendVideos, bffGetTagList, channel]);
|
|
1649
|
+
}, [getRecommendVideos, bffGetTagList, channel, isDiyPage]);
|
|
1610
1650
|
const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
|
|
1611
1651
|
return (React.createElement(SxpDataSourceContext.Provider, { value: {
|
|
1612
1652
|
rtcList,
|
|
@@ -1664,7 +1704,8 @@
|
|
|
1664
1704
|
refreshFeSession,
|
|
1665
1705
|
getAccount,
|
|
1666
1706
|
accountSonsent,
|
|
1667
|
-
isDiyH5,
|
|
1707
|
+
isDiyH5: isDiyPage,
|
|
1708
|
+
firstRtcList,
|
|
1668
1709
|
pixelPvStatusRef
|
|
1669
1710
|
} }, 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
1711
|
rtcList,
|
|
@@ -2126,14 +2167,14 @@
|
|
|
2126
2167
|
* @Author: binruan@chatlabs.com
|
|
2127
2168
|
* @Date: 2024-03-12 10:59:06
|
|
2128
2169
|
* @LastEditors: binruan@chatlabs.com
|
|
2129
|
-
* @LastEditTime:
|
|
2170
|
+
* @LastEditTime: 2025-05-09 15:30:59
|
|
2130
2171
|
* @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
|
|
2131
2172
|
*
|
|
2132
2173
|
*/
|
|
2133
2174
|
function useEventReport() {
|
|
2134
2175
|
const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
|
|
2135
2176
|
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;
|
|
2177
|
+
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
2178
|
const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
|
|
2138
2179
|
if (i !== -1) {
|
|
2139
2180
|
return;
|
|
@@ -2166,11 +2207,11 @@
|
|
|
2166
2207
|
contentFormat = 'image';
|
|
2167
2208
|
}
|
|
2168
2209
|
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 : '',
|
|
2210
|
+
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
2211
|
});
|
|
2171
2212
|
}, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
|
|
2172
2213
|
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;
|
|
2214
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
2174
2215
|
let fromKName = '';
|
|
2175
2216
|
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
2217
|
fromKName = 'pdpPage';
|
|
@@ -2189,8 +2230,9 @@
|
|
|
2189
2230
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
|
2190
2231
|
position: position + '',
|
|
2191
2232
|
contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
|
2233
|
+
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
2234
|
ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
|
2193
|
-
traceInfo: (
|
|
2235
|
+
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
2236
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
|
2195
2237
|
eventSubject: 'productView',
|
|
2196
2238
|
eventDescription: 'User browsed the product'
|
|
@@ -16234,7 +16276,7 @@ Made in Italy` })));
|
|
|
16234
16276
|
* @Author: binruan@chatlabs.com
|
|
16235
16277
|
* @Date: 2024-01-10 10:58:24
|
|
16236
16278
|
* @LastEditors: binruan@chatlabs.com
|
|
16237
|
-
* @LastEditTime: 2025-
|
|
16279
|
+
* @LastEditTime: 2025-05-09 15:30:41
|
|
16238
16280
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
|
16239
16281
|
*
|
|
16240
16282
|
*/
|
|
@@ -16272,7 +16314,7 @@ Made in Italy` })));
|
|
|
16272
16314
|
}
|
|
16273
16315
|
}, [waterFallData]);
|
|
16274
16316
|
const reportTagsView = React.useCallback(() => {
|
|
16275
|
-
var _a, _b, _c, _d, _e, _f;
|
|
16317
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
16276
16318
|
const rec = recData === null || recData === void 0 ? void 0 : recData.rec;
|
|
16277
16319
|
if (!rec)
|
|
16278
16320
|
return;
|
|
@@ -16292,9 +16334,10 @@ Made in Italy` })));
|
|
|
16292
16334
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
16293
16335
|
eventInfo: {
|
|
16294
16336
|
contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
|
16337
|
+
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
16338
|
position: cacheActiveIndex + '',
|
|
16296
|
-
contentTags: JSON.stringify((
|
|
16297
|
-
traceInfo: (
|
|
16339
|
+
contentTags: JSON.stringify((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.tags),
|
|
16340
|
+
traceInfo: (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.traceInfo,
|
|
16298
16341
|
hashTags: JSON.stringify([recData === null || recData === void 0 ? void 0 : recData.hashTag]),
|
|
16299
16342
|
fromKName,
|
|
16300
16343
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
|
@@ -18401,21 +18444,22 @@ Made in Italy` })));
|
|
|
18401
18444
|
const likeIcon = useIconLink(defaultLikeIconPath$2);
|
|
18402
18445
|
const unlikeIcon = useIconLink(defaultUnLikeIconPath$2);
|
|
18403
18446
|
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;
|
|
18447
|
+
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
18448
|
if (state) {
|
|
18406
18449
|
// 先设置状态
|
|
18407
18450
|
setState(false);
|
|
18408
|
-
const result = (_e = (yield (mutateUnlike === null || mutateUnlike === void 0 ? void 0 : mutateUnlike({
|
|
18451
|
+
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
18452
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
18410
18453
|
eventInfo: {
|
|
18411
18454
|
eventSubject: 'favoriteContentCanceled',
|
|
18412
18455
|
eventDescription: 'This content was unfavorite by the user',
|
|
18413
18456
|
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
|
-
|
|
18457
|
+
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 : '',
|
|
18458
|
+
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 : '',
|
|
18459
|
+
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
18460
|
position: position + '',
|
|
18417
|
-
contentFormat: ((
|
|
18418
|
-
traceInfo: (
|
|
18461
|
+
contentFormat: ((_q = recData === null || recData === void 0 ? void 0 : recData.video) === null || _q === void 0 ? void 0 : _q.url) ? 'video' : 'image',
|
|
18462
|
+
traceInfo: (_r = recData === null || recData === void 0 ? void 0 : recData.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
18419
18463
|
}
|
|
18420
18464
|
});
|
|
18421
18465
|
// 如果接口调用失败,则回滚状态
|
|
@@ -18423,48 +18467,49 @@ Made in Italy` })));
|
|
|
18423
18467
|
setState(true);
|
|
18424
18468
|
}
|
|
18425
18469
|
else {
|
|
18426
|
-
const nRtcList = (
|
|
18470
|
+
const nRtcList = (_s = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
|
18427
18471
|
if (index === position) {
|
|
18428
18472
|
item.isCollected = false;
|
|
18429
18473
|
}
|
|
18430
18474
|
return item;
|
|
18431
|
-
})) !== null &&
|
|
18475
|
+
})) !== null && _s !== void 0 ? _s : [];
|
|
18432
18476
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
|
18433
18477
|
}
|
|
18434
18478
|
}
|
|
18435
18479
|
else {
|
|
18436
18480
|
setState(true);
|
|
18437
|
-
const result = (
|
|
18481
|
+
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
18482
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
|
18439
18483
|
eventInfo: {
|
|
18440
18484
|
eventSubject: 'favoriteContent',
|
|
18441
18485
|
eventDescription: 'This content was favorite by the user',
|
|
18442
|
-
contentId: (
|
|
18443
|
-
|
|
18444
|
-
|
|
18486
|
+
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 : '',
|
|
18487
|
+
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 : '',
|
|
18488
|
+
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 : '',
|
|
18489
|
+
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
18490
|
position: position + '',
|
|
18446
|
-
contentFormat: ((
|
|
18447
|
-
traceInfo: (
|
|
18491
|
+
contentFormat: ((_5 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _5 === void 0 ? void 0 : _5.url) ? 'video' : 'image',
|
|
18492
|
+
traceInfo: (_6 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _6 === void 0 ? void 0 : _6.traceInfo
|
|
18448
18493
|
}
|
|
18449
18494
|
});
|
|
18450
18495
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
18451
18496
|
eventName: 'Engagement',
|
|
18452
|
-
product: (
|
|
18497
|
+
product: (_7 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _7 === void 0 ? void 0 : _7.bindProducts,
|
|
18453
18498
|
rec: recData,
|
|
18454
18499
|
position,
|
|
18455
|
-
content_id: (
|
|
18500
|
+
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
18501
|
engagement_type: 'like'
|
|
18457
18502
|
});
|
|
18458
18503
|
if (!result) {
|
|
18459
18504
|
setState(false);
|
|
18460
18505
|
}
|
|
18461
18506
|
else {
|
|
18462
|
-
const nRtcList = (
|
|
18507
|
+
const nRtcList = (_10 = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
|
18463
18508
|
if (index === position) {
|
|
18464
18509
|
item.isCollected = true;
|
|
18465
18510
|
}
|
|
18466
18511
|
return item;
|
|
18467
|
-
})) !== null &&
|
|
18512
|
+
})) !== null && _10 !== void 0 ? _10 : [];
|
|
18468
18513
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
|
18469
18514
|
}
|
|
18470
18515
|
}
|
|
@@ -18501,7 +18546,7 @@ Made in Italy` })));
|
|
|
18501
18546
|
const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef, visibleHeight }, ref) => {
|
|
18502
18547
|
var _a, _b;
|
|
18503
18548
|
const [isPauseVideo, setIsPauseVideo] = React.useState(false);
|
|
18504
|
-
const { bffEventReport, sxpParameter,
|
|
18549
|
+
const { bffEventReport, sxpParameter, firstRtcList, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
|
|
18505
18550
|
const videoStartTime = React.useRef(0);
|
|
18506
18551
|
const [isLoadFinish, setIsLoadFinish] = React.useState(false);
|
|
18507
18552
|
const { isActive } = useSwiperSlide();
|
|
@@ -18518,7 +18563,7 @@ Made in Italy` })));
|
|
|
18518
18563
|
const loopPlayRef = React.useRef(loopPlay);
|
|
18519
18564
|
const scene = rec.video.scene;
|
|
18520
18565
|
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 = (
|
|
18566
|
+
const videoCover = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.cover;
|
|
18522
18567
|
const videoPoster = videoCover || (sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image);
|
|
18523
18568
|
React.useImperativeHandle(ref, () => {
|
|
18524
18569
|
return {
|
|
@@ -18567,6 +18612,23 @@ Made in Italy` })));
|
|
|
18567
18612
|
return;
|
|
18568
18613
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
|
18569
18614
|
}, [videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
|
18615
|
+
const handleEnd = () => {
|
|
18616
|
+
var _a, _b, _c, _d, _e, _f;
|
|
18617
|
+
if (!videoRef.current)
|
|
18618
|
+
return;
|
|
18619
|
+
if (isDiyH5) {
|
|
18620
|
+
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.pause();
|
|
18621
|
+
if (!loopPlayRef.current)
|
|
18622
|
+
return;
|
|
18623
|
+
if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
|
|
18624
|
+
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;
|
|
18625
|
+
(_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);
|
|
18626
|
+
}
|
|
18627
|
+
}
|
|
18628
|
+
else {
|
|
18629
|
+
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.play();
|
|
18630
|
+
}
|
|
18631
|
+
};
|
|
18570
18632
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
|
18571
18633
|
const handlePlaying = React.useCallback(() => {
|
|
18572
18634
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
@@ -18575,7 +18637,7 @@ Made in Italy` })));
|
|
|
18575
18637
|
setIsLoadFinish(true);
|
|
18576
18638
|
}, []);
|
|
18577
18639
|
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;
|
|
18640
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
18579
18641
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
18580
18642
|
return;
|
|
18581
18643
|
setIsPauseVideo(false);
|
|
@@ -18586,16 +18648,11 @@ Made in Italy` })));
|
|
|
18586
18648
|
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
18649
|
const playType = (isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) ? '0' : '1';
|
|
18588
18650
|
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 : '',
|
|
18651
|
+
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
18652
|
});
|
|
18591
18653
|
isFirstPlayRef.current = false;
|
|
18592
18654
|
}
|
|
18593
18655
|
}), [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
18656
|
const handLoadeddata = React.useCallback(() => {
|
|
18600
18657
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || firstFrameSrc || !blur)
|
|
18601
18658
|
return;
|
|
@@ -18620,13 +18677,12 @@ Made in Italy` })));
|
|
|
18620
18677
|
const handleLoadedmetadata = React.useCallback(() => {
|
|
18621
18678
|
if (!videoRef.current)
|
|
18622
18679
|
return;
|
|
18623
|
-
setCurrentTimeByStartTime();
|
|
18624
18680
|
loadedTimeRef.current = new Date();
|
|
18625
18681
|
handleStartPlay();
|
|
18626
18682
|
handLoadeddata();
|
|
18627
18683
|
}, [videoRef.current, handLoadeddata, handleStartPlay]);
|
|
18628
18684
|
const handleClickVideo = React.useCallback((type) => () => {
|
|
18629
|
-
var _a, _b, _c, _d, _e
|
|
18685
|
+
var _a, _b, _c, _d, _e;
|
|
18630
18686
|
if (!videoRef.current)
|
|
18631
18687
|
return;
|
|
18632
18688
|
if (!isLoadFinish)
|
|
@@ -18647,20 +18703,17 @@ Made in Italy` })));
|
|
|
18647
18703
|
break;
|
|
18648
18704
|
default:
|
|
18649
18705
|
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();
|
|
18706
|
+
(_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
|
|
18654
18707
|
}
|
|
18655
18708
|
else {
|
|
18656
|
-
(
|
|
18709
|
+
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
|
|
18657
18710
|
}
|
|
18658
18711
|
setIsPauseVideo(!isPause);
|
|
18659
18712
|
break;
|
|
18660
18713
|
}
|
|
18661
18714
|
}, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
|
18662
18715
|
const handlePause = React.useCallback(() => {
|
|
18663
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
18716
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
18664
18717
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
|
18665
18718
|
return;
|
|
18666
18719
|
if (activeIndex !== index)
|
|
@@ -18676,14 +18729,15 @@ Made in Italy` })));
|
|
|
18676
18729
|
eventSubject: 'playOverVideo',
|
|
18677
18730
|
eventDescription: 'User finished playing the video',
|
|
18678
18731
|
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
|
-
|
|
18732
|
+
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 : '',
|
|
18733
|
+
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
18734
|
endTime: videoCurrentTime,
|
|
18681
18735
|
videoDuration,
|
|
18682
18736
|
playDuration,
|
|
18683
|
-
contentTags: JSON.stringify((
|
|
18737
|
+
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
18738
|
position: index + '',
|
|
18685
18739
|
contentFormat: 'video',
|
|
18686
|
-
traceInfo: (
|
|
18740
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
18687
18741
|
}
|
|
18688
18742
|
});
|
|
18689
18743
|
}
|
|
@@ -18691,27 +18745,8 @@ Made in Italy` })));
|
|
|
18691
18745
|
const handleWaiting = React.useCallback(() => {
|
|
18692
18746
|
setWaiting(true);
|
|
18693
18747
|
}, []);
|
|
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
18748
|
React.useEffect(() => {
|
|
18714
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
18749
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18715
18750
|
if (!isActive)
|
|
18716
18751
|
return;
|
|
18717
18752
|
const videoSrc = videoUrl;
|
|
@@ -18732,7 +18767,6 @@ Made in Italy` })));
|
|
|
18732
18767
|
hls === null || hls === void 0 ? void 0 : hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
|
|
18733
18768
|
hls === null || hls === void 0 ? void 0 : hls.on(Hls.Events.MANIFEST_PARSED, function () {
|
|
18734
18769
|
var _a;
|
|
18735
|
-
setCurrentTimeByStartTime();
|
|
18736
18770
|
(_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
|
|
18737
18771
|
});
|
|
18738
18772
|
}
|
|
@@ -18746,12 +18780,11 @@ Made in Italy` })));
|
|
|
18746
18780
|
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.addEventListener('play', handleStartPlay);
|
|
18747
18781
|
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.addEventListener('playing', handlePlaying);
|
|
18748
18782
|
(_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',
|
|
18783
|
+
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handleEnd);
|
|
18750
18784
|
(_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
|
|
18751
18785
|
(_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
18786
|
return () => {
|
|
18754
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
18787
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18755
18788
|
const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
|
|
18756
18789
|
if (!isPause)
|
|
18757
18790
|
handlePause();
|
|
@@ -18763,10 +18796,9 @@ Made in Italy` })));
|
|
|
18763
18796
|
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('play', handleStartPlay);
|
|
18764
18797
|
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('playing', handlePlaying);
|
|
18765
18798
|
(_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',
|
|
18799
|
+
(_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handleEnd);
|
|
18767
18800
|
(_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.removeEventListener('canplay', handlePlay);
|
|
18768
18801
|
(_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
18802
|
};
|
|
18771
18803
|
}, [isActive]);
|
|
18772
18804
|
React.useEffect(() => {
|
|
@@ -18981,19 +19013,45 @@ Made in Italy` })));
|
|
|
18981
19013
|
}, onLoad: onShowFirstImage }))));
|
|
18982
19014
|
};
|
|
18983
19015
|
|
|
18984
|
-
const PictureGroup$4 = ({ imgUrls,
|
|
19016
|
+
const PictureGroup$4 = React.forwardRef(({ imgUrls, data, height, rec, index, onViewImageEndEvent, onViewImageStartEvent, imgUrlsPostConfig, swiperRef }, ref) => {
|
|
18985
19017
|
var _a, _b;
|
|
18986
19018
|
const { isActive } = useSwiperSlide();
|
|
18987
|
-
const {
|
|
19019
|
+
const { firstRtcList, openHashtag, isDiyH5 } = useSxpDataSource();
|
|
18988
19020
|
const [isLoad, setIsLoad] = React.useState(false);
|
|
18989
19021
|
const [imgInfo, setImgInfo] = React.useState();
|
|
18990
19022
|
const [swiperActiveIndex, setSwiperActiveIndex] = React.useState(0);
|
|
18991
|
-
const
|
|
19023
|
+
const imgsSwiperRef = React.useRef();
|
|
18992
19024
|
const isFirstPlayRef = React.useRef(true);
|
|
19025
|
+
const loopPlayRef = React.useRef(true);
|
|
18993
19026
|
const initTime = new Date();
|
|
19027
|
+
React.useImperativeHandle(ref, () => {
|
|
19028
|
+
return {
|
|
19029
|
+
setLoopPlay(v) {
|
|
19030
|
+
loopPlayRef.current = v;
|
|
19031
|
+
}
|
|
19032
|
+
};
|
|
19033
|
+
});
|
|
19034
|
+
React.useEffect(() => {
|
|
19035
|
+
let timerId;
|
|
19036
|
+
if (isLoad && isActive && isDiyH5) {
|
|
19037
|
+
timerId = setTimeout(() => {
|
|
19038
|
+
var _a, _b, _c, _d;
|
|
19039
|
+
if (!loopPlayRef.current)
|
|
19040
|
+
return;
|
|
19041
|
+
if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
|
|
19042
|
+
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;
|
|
19043
|
+
(_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);
|
|
19044
|
+
}
|
|
19045
|
+
}, 3000);
|
|
19046
|
+
}
|
|
19047
|
+
return () => {
|
|
19048
|
+
if (timerId)
|
|
19049
|
+
clearTimeout(timerId);
|
|
19050
|
+
};
|
|
19051
|
+
}, [isLoad, isActive, isDiyH5, index, swiperRef, firstRtcList]);
|
|
18994
19052
|
React.useEffect(() => {
|
|
18995
19053
|
if (isLoad && isActive) {
|
|
18996
|
-
(
|
|
19054
|
+
(imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.start();
|
|
18997
19055
|
if (openHashtag) {
|
|
18998
19056
|
onViewImageEndEvent(rec);
|
|
18999
19057
|
}
|
|
@@ -19003,7 +19061,7 @@ Made in Italy` })));
|
|
|
19003
19061
|
}
|
|
19004
19062
|
}
|
|
19005
19063
|
else {
|
|
19006
|
-
(
|
|
19064
|
+
(imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.stop();
|
|
19007
19065
|
}
|
|
19008
19066
|
}, [rec, isActive, onViewImageEndEvent, openHashtag, index, onViewImageStartEvent, isLoad, imgInfo]);
|
|
19009
19067
|
const showFirstImageFn = React.useCallback((e) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -19030,13 +19088,13 @@ Made in Italy` })));
|
|
|
19030
19088
|
};
|
|
19031
19089
|
}, [isActive, imgInfo]);
|
|
19032
19090
|
const handleMouseEnter = React.useCallback(() => {
|
|
19033
|
-
if (
|
|
19034
|
-
|
|
19091
|
+
if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
|
|
19092
|
+
imgsSwiperRef.current.swiper.autoplay.stop();
|
|
19035
19093
|
}
|
|
19036
19094
|
}, []);
|
|
19037
19095
|
const handleMouseLeave = React.useCallback(() => {
|
|
19038
|
-
if (
|
|
19039
|
-
|
|
19096
|
+
if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
|
|
19097
|
+
imgsSwiperRef.current.swiper.autoplay.start();
|
|
19040
19098
|
}
|
|
19041
19099
|
}, []);
|
|
19042
19100
|
const handleSlideChange = React.useCallback((swiper) => {
|
|
@@ -19057,7 +19115,7 @@ Made in Italy` })));
|
|
|
19057
19115
|
enabled: true
|
|
19058
19116
|
}
|
|
19059
19117
|
}
|
|
19060
|
-
: {}), { loop: true, ref:
|
|
19118
|
+
: {}), { loop: true, ref: imgsSwiperRef, onSlideChange: handleSlideChange, className: css.css(Object.assign(Object.assign({ '.swiper-pagination': {
|
|
19061
19119
|
bottom: (_a = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) !== null && _a !== void 0 ? _a : 0,
|
|
19062
19120
|
fontSize: '14px'
|
|
19063
19121
|
} }, ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsBgColor) && {
|
|
@@ -19074,7 +19132,7 @@ Made in Italy` })));
|
|
|
19074
19132
|
return (React.createElement(SwiperSlide, { key: srcKey, "aria-hidden": srcKey !== swiperActiveIndex },
|
|
19075
19133
|
React.createElement(Picture, { src: !isLoad && srcKey > 0 ? '' : url, height: height, imgUrlsPostConfig: imgUrlsPostConfig, onShowFirstImage: showFirstImageFn })));
|
|
19076
19134
|
}))));
|
|
19077
|
-
};
|
|
19135
|
+
});
|
|
19078
19136
|
var PictureGroup$5 = React.memo(PictureGroup$4);
|
|
19079
19137
|
|
|
19080
19138
|
/*
|
|
@@ -19366,7 +19424,7 @@ Made in Italy` })));
|
|
|
19366
19424
|
* @Author: binruan@chatlabs.com
|
|
19367
19425
|
* @Date: 2024-03-20 10:27:31
|
|
19368
19426
|
* @LastEditors: binruan@chatlabs.com
|
|
19369
|
-
* @LastEditTime: 2025-05-
|
|
19427
|
+
* @LastEditTime: 2025-05-12 14:26:15
|
|
19370
19428
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
|
19371
19429
|
*
|
|
19372
19430
|
*/
|
|
@@ -19387,6 +19445,7 @@ Made in Italy` })));
|
|
|
19387
19445
|
const [pageNum, setPageNum] = React.useState(2);
|
|
19388
19446
|
React.useState(false);
|
|
19389
19447
|
const videoWidgetRef = React.useRef(null);
|
|
19448
|
+
const pictureGroupRef = React.useRef(null);
|
|
19390
19449
|
const fbcRef = React.useRef('');
|
|
19391
19450
|
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
19451
|
const { backMainFeed, productView, jumpToWeb } = useEventReport();
|
|
@@ -19436,7 +19495,7 @@ Made in Italy` })));
|
|
|
19436
19495
|
(_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
|
|
19437
19496
|
}, [data, ctaType, swiperRef]);
|
|
19438
19497
|
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;
|
|
19498
|
+
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
19499
|
const item = data === null || data === void 0 ? void 0 : data[activeIndex];
|
|
19441
19500
|
let fromKName = '';
|
|
19442
19501
|
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 +19522,23 @@ Made in Italy` })));
|
|
|
19463
19522
|
eventSubject: 'sessionCompleted',
|
|
19464
19523
|
eventDescription: 'Session completed',
|
|
19465
19524
|
contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
|
|
19466
|
-
|
|
19525
|
+
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 : '',
|
|
19526
|
+
productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
|
|
19467
19527
|
position: activeIndex + '',
|
|
19468
19528
|
fromKName: fk || fromKName,
|
|
19469
19529
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
|
19470
|
-
ctatId: (
|
|
19471
|
-
traceInfo: (
|
|
19530
|
+
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 : '',
|
|
19531
|
+
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
19532
|
}
|
|
19473
19533
|
});
|
|
19474
|
-
const isPostType = ((
|
|
19534
|
+
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
19535
|
if (!popupDetailData) {
|
|
19476
19536
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19477
19537
|
eventName: 'ExitFeed',
|
|
19478
|
-
product: isPostType ? (
|
|
19538
|
+
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
19539
|
rec: item,
|
|
19480
19540
|
position: activeIndex,
|
|
19481
|
-
content_id: isPostType ? (
|
|
19541
|
+
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
19542
|
view_time: new Date() - viewTime.current
|
|
19483
19543
|
});
|
|
19484
19544
|
}
|
|
@@ -19538,8 +19598,9 @@ Made in Italy` })));
|
|
|
19538
19598
|
refreshFeSession
|
|
19539
19599
|
]);
|
|
19540
19600
|
const handleSessionExpire = React.useCallback(lodash.debounce(() => {
|
|
19541
|
-
var _a;
|
|
19601
|
+
var _a, _b;
|
|
19542
19602
|
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
|
19603
|
+
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
|
19543
19604
|
refreshFeSession === null || refreshFeSession === void 0 ? void 0 : refreshFeSession(false, handleSessionCompleted);
|
|
19544
19605
|
}, 1000), [handleSessionCompleted, refreshFeSession]);
|
|
19545
19606
|
React.useEffect(() => {
|
|
@@ -19610,18 +19671,18 @@ Made in Italy` })));
|
|
|
19610
19671
|
return null;
|
|
19611
19672
|
}, [globalConfig, activeIndex, visList]);
|
|
19612
19673
|
const renderContent = React.useCallback((rec, index) => {
|
|
19613
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
19674
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
19614
19675
|
if (rec === 'organic menu') {
|
|
19615
19676
|
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
19677
|
}
|
|
19617
|
-
if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null ||
|
|
19678
|
+
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
19679
|
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
19680
|
}
|
|
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 }));
|
|
19681
|
+
if ((_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.imgUrls) {
|
|
19682
|
+
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
19683
|
}
|
|
19623
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((
|
|
19624
|
-
return (
|
|
19684
|
+
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) {
|
|
19685
|
+
return (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _m === void 0 ? void 0 : _m.map((value, idx) => {
|
|
19625
19686
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
19626
19687
|
const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
|
19627
19688
|
const Component = withBindDataSource(t);
|
|
@@ -19660,7 +19721,7 @@ Made in Italy` })));
|
|
|
19660
19721
|
};
|
|
19661
19722
|
}, [isShowMore]);
|
|
19662
19723
|
const renderBottom = React.useCallback((rec, index) => {
|
|
19663
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
19724
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
19664
19725
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
|
19665
19726
|
let cta = null;
|
|
19666
19727
|
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 +19730,27 @@ Made in Italy` })));
|
|
|
19669
19730
|
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
|
19670
19731
|
cta = '商品CTA';
|
|
19671
19732
|
}
|
|
19733
|
+
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)) {
|
|
19734
|
+
cta = '服务CTA';
|
|
19735
|
+
}
|
|
19672
19736
|
else {
|
|
19673
|
-
cta = (
|
|
19737
|
+
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
19738
|
}
|
|
19675
19739
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
|
19676
19740
|
const isNineProduct = (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.nineProductEnable) &&
|
|
19677
19741
|
index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 1 : 0) &&
|
|
19678
|
-
((
|
|
19742
|
+
((_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
19743
|
return (React.createElement(React.Fragment, null,
|
|
19680
19744
|
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: `${(
|
|
19745
|
+
((_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' }),
|
|
19746
|
+
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
19747
|
React.createElement(Nudge, { nudge: nudge }),
|
|
19684
19748
|
((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
19749
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, includesCtaType: [] }))) : null,
|
|
19686
19750
|
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: (
|
|
19751
|
+
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
19752
|
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: (
|
|
19753
|
+
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
19754
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
|
|
19691
19755
|
}
|
|
19692
19756
|
return null;
|
|
@@ -19728,7 +19792,7 @@ Made in Italy` })));
|
|
|
19728
19792
|
return null;
|
|
19729
19793
|
}, [globalConfig, waterFallData, bottomHeight]);
|
|
19730
19794
|
const handleViewImageStartEnd = (item) => {
|
|
19731
|
-
var _a, _b, _c, _d, _e, _f;
|
|
19795
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
19732
19796
|
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
19797
|
const endTime = Date.now();
|
|
19734
19798
|
const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
|
|
@@ -19737,10 +19801,11 @@ Made in Italy` })));
|
|
|
19737
19801
|
eventSubject: 'viewImageCarouselEnd',
|
|
19738
19802
|
eventDescription: 'User end view the image carousel',
|
|
19739
19803
|
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
|
-
|
|
19804
|
+
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 : '',
|
|
19805
|
+
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
|
19741
19806
|
imageEndTime: `${endTime}`,
|
|
19742
19807
|
playDuration: `${duration}`,
|
|
19743
|
-
contentTags: JSON.stringify((
|
|
19808
|
+
contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
|
|
19744
19809
|
position: activeIndex + '',
|
|
19745
19810
|
contentFormat: 'image',
|
|
19746
19811
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
|
|
@@ -19749,7 +19814,7 @@ Made in Italy` })));
|
|
|
19749
19814
|
}
|
|
19750
19815
|
};
|
|
19751
19816
|
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;
|
|
19817
|
+
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
19818
|
if (isPreview || waterFallData)
|
|
19754
19819
|
return;
|
|
19755
19820
|
const t = new Date() - curTime.current;
|
|
@@ -19775,7 +19840,8 @@ Made in Italy` })));
|
|
|
19775
19840
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
|
19776
19841
|
position: position + '',
|
|
19777
19842
|
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
|
-
|
|
19843
|
+
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 : '',
|
|
19844
|
+
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
19845
|
contentFormat
|
|
19780
19846
|
}
|
|
19781
19847
|
});
|
|
@@ -19785,7 +19851,7 @@ Made in Italy` })));
|
|
|
19785
19851
|
}
|
|
19786
19852
|
};
|
|
19787
19853
|
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;
|
|
19854
|
+
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
19855
|
const item = data[swiper.previousIndex];
|
|
19790
19856
|
const activeItem = data[swiper.activeIndex];
|
|
19791
19857
|
if (!item)
|
|
@@ -19818,11 +19884,12 @@ Made in Italy` })));
|
|
|
19818
19884
|
eventSubject: 'scrollDown',
|
|
19819
19885
|
eventDescription: 'User scroll down',
|
|
19820
19886
|
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
|
-
|
|
19887
|
+
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 : '',
|
|
19888
|
+
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
19889
|
requestId: null,
|
|
19823
|
-
traceInfo: (
|
|
19890
|
+
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
19891
|
contentFormat,
|
|
19825
|
-
position: ((
|
|
19892
|
+
position: ((_4 = swiper.previousIndex) !== null && _4 !== void 0 ? _4 : 0) + ''
|
|
19826
19893
|
}
|
|
19827
19894
|
});
|
|
19828
19895
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
|
@@ -19835,12 +19902,13 @@ Made in Italy` })));
|
|
|
19835
19902
|
eventInfo: {
|
|
19836
19903
|
eventSubject: 'scrollUp',
|
|
19837
19904
|
eventDescription: 'User scroll up',
|
|
19838
|
-
contentId: (
|
|
19839
|
-
|
|
19905
|
+
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 : '',
|
|
19906
|
+
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 : '',
|
|
19907
|
+
productId: (_11 = (_10 = item.product) === null || _10 === void 0 ? void 0 : _10.itemId) !== null && _11 !== void 0 ? _11 : '',
|
|
19840
19908
|
requestId: null,
|
|
19841
|
-
traceInfo: (
|
|
19909
|
+
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
19910
|
contentFormat,
|
|
19843
|
-
position: ((
|
|
19911
|
+
position: ((_16 = swiper.previousIndex) !== null && _16 !== void 0 ? _16 : 0) + ''
|
|
19844
19912
|
}
|
|
19845
19913
|
});
|
|
19846
19914
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
|
@@ -19940,7 +20008,7 @@ Made in Italy` })));
|
|
|
19940
20008
|
};
|
|
19941
20009
|
}, [globalConfig, bffEventReport, data, activeIndex]);
|
|
19942
20010
|
const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
|
|
19943
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
20011
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
19944
20012
|
const item = data[activeIndex];
|
|
19945
20013
|
// 如果是图片集则上报事件
|
|
19946
20014
|
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 +20019,10 @@ Made in Italy` })));
|
|
|
19951
20019
|
eventSubject: 'viewImageCarouselStart',
|
|
19952
20020
|
eventDescription: 'User start view the image carousel',
|
|
19953
20021
|
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
|
-
|
|
20022
|
+
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 : '',
|
|
20023
|
+
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
|
19955
20024
|
imageStartTime: `${startTime}`,
|
|
19956
|
-
contentTags: JSON.stringify((
|
|
20025
|
+
contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
|
|
19957
20026
|
position: activeIndex + '',
|
|
19958
20027
|
contentFormat: 'image',
|
|
19959
20028
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
|
|
@@ -19963,13 +20032,13 @@ Made in Italy` })));
|
|
|
19963
20032
|
if (enableCapi) {
|
|
19964
20033
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19965
20034
|
eventName: 'ViewContent',
|
|
19966
|
-
product: (
|
|
20035
|
+
product: (_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.bindProducts,
|
|
19967
20036
|
rec: item,
|
|
19968
20037
|
position: activeIndex
|
|
19969
20038
|
});
|
|
19970
20039
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
|
19971
20040
|
eventName: 'PageView',
|
|
19972
|
-
product: (
|
|
20041
|
+
product: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.bindProducts,
|
|
19973
20042
|
rec: item,
|
|
19974
20043
|
position: activeIndex
|
|
19975
20044
|
});
|
|
@@ -20067,15 +20136,20 @@ Made in Italy` })));
|
|
|
20067
20136
|
swiperRef.current.swiper.allowTouchMove = true;
|
|
20068
20137
|
}, 500);
|
|
20069
20138
|
}, onActiveIndexChange: (swiper) => {
|
|
20139
|
+
var _a, _b;
|
|
20070
20140
|
setActiveIndex(swiper.activeIndex);
|
|
20071
20141
|
if (openHashtag)
|
|
20072
20142
|
return;
|
|
20073
20143
|
// 处理上滑下滑事件
|
|
20074
20144
|
handleScrollEvent(swiper);
|
|
20075
|
-
if (waterFallData || isEditor
|
|
20145
|
+
if (waterFallData || isEditor)
|
|
20076
20146
|
return;
|
|
20077
20147
|
if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
|
|
20078
20148
|
if (!isLoadMore) {
|
|
20149
|
+
if (isDiyH5) {
|
|
20150
|
+
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
|
20151
|
+
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
|
20152
|
+
}
|
|
20079
20153
|
setIsLoadMore(true);
|
|
20080
20154
|
loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
|
|
20081
20155
|
var _a;
|
|
@@ -20148,7 +20222,7 @@ Made in Italy` })));
|
|
|
20148
20222
|
}, []);
|
|
20149
20223
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
|
20150
20224
|
const handlePlaying = React.useCallback(() => {
|
|
20151
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
20225
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
20152
20226
|
setIsPauseVideo(false);
|
|
20153
20227
|
const item = data[index];
|
|
20154
20228
|
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
|
@@ -20161,14 +20235,15 @@ Made in Italy` })));
|
|
|
20161
20235
|
eventSubject: 'playVideo',
|
|
20162
20236
|
eventDescription: 'User played the video',
|
|
20163
20237
|
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
|
-
|
|
20238
|
+
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 : '',
|
|
20239
|
+
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
20240
|
playType,
|
|
20166
20241
|
startTime: videoCurrentTime,
|
|
20167
20242
|
videoDuration,
|
|
20168
|
-
contentTags: JSON.stringify((
|
|
20243
|
+
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
20244
|
position: index + '',
|
|
20170
20245
|
contentFormat: 'video',
|
|
20171
|
-
traceInfo: (
|
|
20246
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
20172
20247
|
}
|
|
20173
20248
|
});
|
|
20174
20249
|
setIsFirstPlay(false);
|
|
@@ -20207,7 +20282,7 @@ Made in Italy` })));
|
|
|
20207
20282
|
}
|
|
20208
20283
|
}, [isLoadFinish]);
|
|
20209
20284
|
const onPause = React.useCallback(() => {
|
|
20210
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
20285
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
20211
20286
|
const item = data[index];
|
|
20212
20287
|
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
|
20213
20288
|
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
|
@@ -20218,14 +20293,15 @@ Made in Italy` })));
|
|
|
20218
20293
|
eventSubject: 'playOverVideo',
|
|
20219
20294
|
eventDescription: 'User finished playing the video',
|
|
20220
20295
|
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
|
-
|
|
20296
|
+
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 : '',
|
|
20297
|
+
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
20298
|
endTime: videoCurrentTime,
|
|
20223
20299
|
videoDuration,
|
|
20224
20300
|
playDuration,
|
|
20225
|
-
contentTags: JSON.stringify((
|
|
20301
|
+
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
20302
|
position: index + '',
|
|
20227
20303
|
contentFormat: 'video',
|
|
20228
|
-
traceInfo: (
|
|
20304
|
+
traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
|
|
20229
20305
|
}
|
|
20230
20306
|
});
|
|
20231
20307
|
}
|