@conecli/cone-render 0.9.1-shop2.3 → 0.9.1-shop2.30
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/api/index.ts +1 -1
- package/dist/assets/icon_blue_info.svg +1 -0
- package/dist/common/const.ts +1 -1
- package/dist/common/environmentType.ts +1 -0
- package/dist/common/index.h5.ts +1 -1
- package/dist/common/index.jd.ts +1 -1
- package/dist/common/index.ts +1 -1
- package/dist/common/index.weapp.ts +1 -1
- package/dist/common/jdplayerSdk.ts +1 -0
- package/dist/common/jssdk.ts +1 -0
- package/dist/common/pageType.ts +1 -0
- package/dist/common/sgmCustomCode.ts +1 -0
- package/dist/common/token/index.h5.ts +1 -1
- package/dist/common/token/token.jd.ts +1 -1
- package/dist/common/token/token.ts +1 -1
- package/dist/common/wxappApi.jd.ts +1 -0
- package/dist/components/ErrorBoundary.tsx +1 -1
- package/dist/components/base/CountDown/index.tsx +1 -1
- package/dist/components/base/CustomScrollView/index.jd.tsx +1 -0
- package/dist/components/base/CustomScrollView/index.module.scss +7 -0
- package/dist/components/base/CustomScrollView/index.tsx +1 -1
- package/dist/components/base/CustomVideo/common.ts +1 -0
- package/dist/components/base/CustomVideo/index.tsx +1 -1
- package/dist/components/base/Dialog/index.module.scss +5 -0
- package/dist/components/base/Dialog/index.tsx +1 -1
- package/dist/components/base/Exposure/index.h5.tsx +1 -1
- package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
- package/dist/components/base/ExposureSmart/index.tsx +1 -1
- package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
- package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
- package/dist/components/base/InViewRender/index.tsx +1 -1
- package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
- package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
- package/dist/components/base/LazyLoadImage/const.ts +1 -1
- package/dist/components/base/LazyLoadImage/index.h5.module.scss +23 -20
- package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
- package/dist/components/base/MobileCommonHeader/index.module.scss +17 -0
- package/dist/components/base/MobileCommonHeader/index.tsx +1 -0
- package/dist/components/base/NetworkDataError/const.ts +1 -1
- package/dist/components/base/NetworkDataError/index.module.scss +7 -0
- package/dist/components/base/NetworkDataError/index.tsx +1 -1
- package/dist/components/base/Price/Base/index.tsx +1 -1
- package/dist/components/base/Price/Double/index.tsx +1 -1
- package/dist/components/base/Price/index.tsx +1 -1
- package/dist/components/debug/DebugLayout/index.module.scss +67 -0
- package/dist/components/debug/DebugLayout/index.tsx +1 -0
- package/dist/components/debug/DebugLayout/utils.ts +1 -0
- package/dist/components/decorate/DecorateFloorModule/index.module.scss +32 -2
- package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
- package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
- package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
- package/dist/components/floorItem.jd.tsx +1 -1
- package/dist/components/floorItem.tsx +1 -1
- package/dist/components/floorItem.weapp.tsx +1 -1
- package/dist/components/isv/Floor/index.tsx +1 -1
- package/dist/components/remoteFloorItem.tsx +1 -1
- package/dist/interface/common.ts +1 -1
- package/dist/interface/component.ts +1 -1
- package/dist/interface/jumpEventReport.ts +1 -1
- package/dist/interface/service.ts +1 -1
- package/dist/interface/utils.ts +1 -1
- package/dist/jumpEventReport/base.ts +1 -1
- package/dist/jumpEventReport/const.ts +1 -1
- package/dist/jumpEventReport/createReportFloorData.ts +1 -1
- package/dist/jumpEventReport/index.h5.ts +1 -1
- package/dist/jumpEventReport/index.jd.ts +1 -1
- package/dist/jumpEventReport/index.weapp.ts +1 -1
- package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
- package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
- package/dist/jumpEventReport/logEventConfig.ts +1 -1
- package/dist/jumpEventReport/web/report.ts +1 -1
- package/dist/jumpEventReport/web.base.ts +1 -1
- package/dist/jumpEventReport/web.jd.ts +1 -1
- package/dist/jumpEventReport/web.jdb.ts +1 -1
- package/dist/jumpEventReport/web.jdjch.ts +1 -1
- package/dist/jumpEventReport/web.jxwxapp.ts +1 -0
- package/dist/jumpEventReport/web.tjapp.ts +1 -0
- package/dist/jumpEventReport/web.tjm.ts +1 -0
- package/dist/jumpEventReport/web.wxapp.ts +1 -1
- package/dist/modules/ContainerFloorList/index.h5.module.scss +18 -1
- package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
- package/dist/modules/ContainerFloorList/index.tsx +1 -1
- package/dist/open/api/device.ts +1 -1
- package/dist/open/api/environment.ts +1 -1
- package/dist/open/api/index.ts +1 -1
- package/dist/open/api/jump copy.ts +1 -1
- package/dist/open/api/request.ts +1 -1
- package/dist/open/api/shopMember.ts +1 -1
- package/dist/open/api/track.ts +1 -1
- package/dist/open/api/util.ts +1 -1
- package/dist/open/components/index.ts +1 -1
- package/dist/sass/app.h5.scss +49 -3
- package/dist/sass/base.scss +57 -0
- package/dist/service/fetchGateway.ts +1 -1
- package/dist/service/http/colorSign.ts +1 -1
- package/dist/service/http/const.ts +1 -1
- package/dist/service/http/h5Http.ts +1 -0
- package/dist/service/http/index.h5.ts +1 -0
- package/dist/service/requestServer.h5.ts +1 -0
- package/dist/service/requestServer.ts +1 -1
- package/dist/utils/connectNativeJsBridge.ts +1 -1
- package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
- package/dist/utils/draExceptionAndProfile.ts +1 -1
- package/dist/utils/h5Utils.ts +1 -1
- package/dist/utils/index.h5.ts +1 -1
- package/dist/utils/index.ts +1 -1
- package/dist/utils/index.weapp.ts +1 -1
- package/dist/utils/jm-common.js +1 -1
- package/dist/utils/sgmCodeUtils.ts +1 -0
- package/dist/utils/taroRenderUtil.ts +1 -1
- package/dist/utils/utils.ts +1 -1
- package/package.json +1 -1
- package/dist/customHooks/useDocumentVisibilitychange.ts +0 -1
package/dist/open/api/track.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import { JumpEventReport, JumpEventReportPromise } from '../../jumpEventReport'
|
|
2
1
|
initOpenTriggerExposure: (type: string) => void
|
|
3
2
|
logPageIdInfo: Object
|
|
4
3
|
logPnameInfo: Object
|
|
5
4
|
getFloorPointIndexClassName: (obj: object, index?: number, tip?: string) => string
|
|
6
5
|
initOpenTriggerExposure: () => {},
|
|
7
6
|
initOpenTriggerExposure,
|
|
8
7
|
logPageIdInfo,
|
|
9
8
|
logPnameInfo
|
|
10
9
|
initReportBaseData: ReportContainerData.initReportBaseData.bind(ReportContainerData),
|
|
11
10
|
updateSectionTabDataInfo: ReportContainerData.updateSectionTabDataInfo.bind(ReportContainerData),
|
|
12
11
|
initOpenTriggerExposure: initOpenTriggerExposure.bind(JumpEventReport),
|
|
13
12
|
logPnameInfo: logPnameInfo,
|
|
14
13
|
logPageIdInfo: logPageIdInfo,
|
|
15
14
|
getFloorPointIndexClassName: ReportContainerData.getFloorPointIndexClassName.bind(ReportContainerData)
|
|
15
|
+
import { JumpEventReport, JumpEventReportPromise } from '../../jumpEventReport'
|
|
16
16
|
getCustomClickEventInfo: (obj: object, obj2: object, obj3: object, groupState?: boolean) => object
|
|
17
17
|
getCustomExposureInfo: (obj: object, obj2: object, obj3: object, groupState?: boolean) => object
|
|
18
18
|
initOpenTriggerExposure: (type: string) => void
|
|
19
19
|
logPageIdInfo: Object
|
|
20
20
|
logPnameInfo: Object
|
|
21
21
|
getFloorPointIndexClassName: (obj: object, index?: number, tip?: string) => string
|
|
22
22
|
getIsvClickEventInfo: (obj) => obj,
|
|
23
23
|
getIsvExposureInfo: (obj) => obj,
|
|
24
24
|
getCustomClickEventInfo: (obj) => obj,
|
|
25
25
|
getCustomExposureInfo: (obj) => obj,
|
|
26
26
|
initOpenTriggerExposure: () => {},
|
|
27
27
|
logPageIdInfo: {},
|
|
28
28
|
logPnameInfo: {},
|
|
29
29
|
initOpenTriggerExposure,
|
|
30
30
|
logPageIdInfo,
|
|
31
31
|
logPnameInfo
|
|
32
32
|
getCustomClickEventInfo: ReportContainerData.getCustomClickEventInfo.bind(ReportContainerData),
|
|
33
33
|
getCustomExposureInfo: ReportContainerData.getCustomExposureInfo.bind(ReportContainerData),
|
|
34
34
|
initReportBaseData: ReportContainerData.initReportBaseData.bind(ReportContainerData),
|
|
35
35
|
updateSectionTabDataInfo: ReportContainerData.updateSectionTabDataInfo.bind(ReportContainerData),
|
|
36
36
|
initOpenTriggerExposure: initOpenTriggerExposure.bind(JumpEventReport),
|
|
37
37
|
logPnameInfo: logPnameInfo,
|
|
38
38
|
logPageIdInfo: logPageIdInfo,
|
|
39
39
|
getFloorPointIndexClassName: ReportContainerData.getFloorPointIndexClassName.bind(ReportContainerData)
|
package/dist/open/api/util.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
2
1
|
dateFormat,
|
|
3
2
|
showSuccessToast,
|
|
4
3
|
showFailToast,
|
|
5
4
|
showNormalToast,
|
|
6
5
|
isJdApp,
|
|
7
6
|
isH5AndJdShopView,
|
|
8
7
|
isH5,
|
|
9
8
|
isH5AndJdShopViewH5Scroll
|
|
10
9
|
openTaroEventDialog,
|
|
11
10
|
closeTaroEventDialog,
|
|
12
11
|
dateFormat,
|
|
13
12
|
showSuccessToast,
|
|
14
13
|
showFailToast,
|
|
15
14
|
showNormalToast,
|
|
16
15
|
openDialog: openTaroEventDialog,
|
|
17
16
|
closeDialog: closeTaroEventDialog,
|
|
18
17
|
isJdApp,
|
|
19
18
|
isH5AndJdShopView,
|
|
20
19
|
isH5,
|
|
21
20
|
isH5AndJdShopViewH5Scroll
|
|
21
|
+
import {
|
|
22
22
|
dateFormat,
|
|
23
23
|
showSuccessToast,
|
|
24
24
|
showFailToast,
|
|
25
25
|
showNormalToast,
|
|
26
26
|
isJdApp,
|
|
27
27
|
isH5AndJdShopView,
|
|
28
28
|
isH5,
|
|
29
29
|
isH5AndJdShopViewH5Scroll,
|
|
30
30
|
stopNativeScrollEvent,
|
|
31
31
|
pxTransformFromData,
|
|
32
32
|
remoteCustomReport
|
|
33
33
|
openTaroEventDialog,
|
|
34
34
|
closeTaroEventDialog,
|
|
35
35
|
dateFormat,
|
|
36
36
|
showSuccessToast,
|
|
37
37
|
showFailToast,
|
|
38
38
|
showNormalToast,
|
|
39
39
|
openDialog: openTaroEventDialog,
|
|
40
40
|
closeDialog: closeTaroEventDialog,
|
|
41
41
|
isJdApp,
|
|
42
42
|
isH5AndJdShopView,
|
|
43
43
|
isH5,
|
|
44
44
|
isH5AndJdShopViewH5Scroll,
|
|
45
45
|
stopNativeScrollEvent,
|
|
46
46
|
pxTransformFromData,
|
|
47
47
|
remoteCustomReport,
|
package/dist/sass/app.h5.scss
CHANGED
|
@@ -148,6 +148,11 @@ img {
|
|
|
148
148
|
//transform: perspective(1px) translate3d(0, 0, 0);
|
|
149
149
|
//-webkit-backface-visibility: hidden;
|
|
150
150
|
//-webkit-transform-style: preserve-3d;
|
|
151
|
+
// 图片加载过慢,在可视化区域等可能导致线出现裂图,然后加载正常url,这里如果是没有src就隐藏
|
|
152
|
+
&[src=""],
|
|
153
|
+
&:not([src]){
|
|
154
|
+
opacity:0;
|
|
155
|
+
}
|
|
151
156
|
}
|
|
152
157
|
|
|
153
158
|
.clearFlow {
|
|
@@ -228,6 +233,11 @@ video {
|
|
|
228
233
|
}
|
|
229
234
|
}
|
|
230
235
|
|
|
236
|
+
// tarojs会在运行时动态给页面写入这个样式,但是动态写入可能导致在写入之前,有些依赖于 taro-view-core 块行为的逻辑出现异常,比如获取一个view的宽度,block情况下应该是有宽度的,但可能会出现获取到的宽度值是0。所以改成样式表里就直接定义好
|
|
237
|
+
taro-view-core {
|
|
238
|
+
display: block;
|
|
239
|
+
}
|
|
240
|
+
|
|
231
241
|
taro-view-core,
|
|
232
242
|
taro-image-core,
|
|
233
243
|
taro-text-core,
|
|
@@ -295,19 +305,55 @@ taro-radio-core {
|
|
|
295
305
|
.weui-check + .weui-icon-checked {
|
|
296
306
|
vertical-align: middle;
|
|
297
307
|
&:before {
|
|
308
|
+
content: "";
|
|
309
|
+
width: 32px;
|
|
310
|
+
height: 32px;
|
|
311
|
+
margin-left: 0;
|
|
298
312
|
margin-top: -4px;
|
|
299
|
-
|
|
313
|
+
border: 2px solid #909090;
|
|
314
|
+
//color: #909090;
|
|
315
|
+
//background: url("https://img12.360buyimg.com/imagetools/jfs/t1/206105/34/32968/504/64d35614F8cedb83b/d5953c21e17d17ae.png") no-repeat 0 0 / cover;
|
|
316
|
+
border-radius: 50%;
|
|
317
|
+
box-sizing: border-box;
|
|
300
318
|
vertical-align: middle;
|
|
301
319
|
}
|
|
302
320
|
}
|
|
303
321
|
.weui-check:checked + .weui-icon-checked {
|
|
304
322
|
&:before {
|
|
305
|
-
|
|
323
|
+
content: "";
|
|
324
|
+
border: none;
|
|
325
|
+
background: url("https://img12.360buyimg.com/imagetools/jfs/t1/190964/36/36148/636/64d35614Fd3f012fd/28a6f01faddaedbb.png") no-repeat 0 0 / cover;
|
|
306
326
|
}
|
|
307
327
|
}
|
|
308
328
|
}
|
|
309
329
|
}
|
|
310
|
-
|
|
330
|
+
taro-checkbox-core{
|
|
331
|
+
.taro-checkbox_checked {
|
|
332
|
+
border: 2px solid #909090;
|
|
333
|
+
//background: url("https://img12.360buyimg.com/imagetools/jfs/t1/206105/34/32968/504/64d35614F8cedb83b/d5953c21e17d17ae.png") no-repeat 0 0 / cover;
|
|
334
|
+
border-radius: 50%;
|
|
335
|
+
box-sizing: border-box;
|
|
336
|
+
&:checked {
|
|
337
|
+
border: none;
|
|
338
|
+
background: url("https://img12.360buyimg.com/imagetools/jfs/t1/190964/36/36148/636/64d35614Fd3f012fd/28a6f01faddaedbb.png") no-repeat 0 0 / cover;
|
|
339
|
+
&:before {
|
|
340
|
+
content: none;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
.weui-picker{
|
|
346
|
+
font-size: 30px;
|
|
347
|
+
.weui-picker__hd{
|
|
348
|
+
font-size: 32px;
|
|
349
|
+
}
|
|
350
|
+
.weui-picker__action{
|
|
351
|
+
color: #FA2C19;
|
|
352
|
+
&:first-child{
|
|
353
|
+
color: #1A1A1A;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
311
357
|
|
|
312
358
|
.taro__toast {
|
|
313
359
|
transition: none !important;
|
package/dist/sass/base.scss
CHANGED
|
@@ -31,6 +31,39 @@
|
|
|
31
31
|
src: url('https://wq.360buyimg.com/data/ppms/others/JDZhengHei_01_Bold.ttf')
|
|
32
32
|
format('truetype');
|
|
33
33
|
}
|
|
34
|
+
@font-face {
|
|
35
|
+
font-family: 'JDZhengHeiV2-Bold';
|
|
36
|
+
src: url('https://jscss.360buyimg.com/static-common/font/JDZhengHeiV20_Bold.otf')
|
|
37
|
+
format('truetype');
|
|
38
|
+
font-weight: normal;
|
|
39
|
+
font-style: normal;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@font-face {
|
|
43
|
+
font-family: 'JDZhengHeiV2-Light';
|
|
44
|
+
//src: url(https://storage.360buyimg.com/jshopstorage/JDZhengHT-Light.ttf) format('truetype');
|
|
45
|
+
src: url('https://jscss.360buyimg.com/static-common/font/JDZhengHeiV20_Light.otf')
|
|
46
|
+
format('truetype');
|
|
47
|
+
font-weight: normal;
|
|
48
|
+
font-style: normal;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@font-face {
|
|
52
|
+
font-family: 'JDZhengHeiV2-Regular';
|
|
53
|
+
//src: url(https://storage.360buyimg.com/jshopstorage/JDZhengHT-Regular.ttf) format('truetype');
|
|
54
|
+
src: url('https://jscss.360buyimg.com/static-common/font/JDZhengHeiV20_Regular.otf ')
|
|
55
|
+
format('truetype');
|
|
56
|
+
font-weight: normal;
|
|
57
|
+
font-style: normal;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@font-face {
|
|
61
|
+
font-family: 'JDZhengHeiV2-Heavy';
|
|
62
|
+
src: url('https://jscss.360buyimg.com/static-common/font/JDZhengHeiV20_Heavy.otf')
|
|
63
|
+
format('truetype');
|
|
64
|
+
font-weight: normal;
|
|
65
|
+
font-style: normal;
|
|
66
|
+
}
|
|
34
67
|
|
|
35
68
|
.font-jdzht {
|
|
36
69
|
font-family: 'JDZhengHT-Regular';
|
|
@@ -47,7 +80,19 @@
|
|
|
47
80
|
.font-jdzht-light {
|
|
48
81
|
font-family: 'JDZhengHT-Light';
|
|
49
82
|
}
|
|
83
|
+
.font-jdzht-v2 {
|
|
84
|
+
font-family: 'JDZhengHeiV2-Regular';
|
|
85
|
+
}
|
|
86
|
+
.font-jdzht-v2-bold {
|
|
87
|
+
font-family: 'JDZhengHeiV2-Bold';
|
|
88
|
+
}
|
|
89
|
+
.font-jdzht-v2-heavy {
|
|
90
|
+
font-family: 'JDZhengHeiV2-Heavy';
|
|
91
|
+
}
|
|
50
92
|
|
|
93
|
+
.font-jdzht-v2-light {
|
|
94
|
+
font-family: 'JDZhengHeiV2-Light';
|
|
95
|
+
}
|
|
51
96
|
|
|
52
97
|
.border-box {
|
|
53
98
|
box-sizing: border-box;
|
|
@@ -340,3 +385,15 @@
|
|
|
340
385
|
border: none;
|
|
341
386
|
}
|
|
342
387
|
}
|
|
388
|
+
.slide-in-left {
|
|
389
|
+
animation: slide-in-left 1s forwards;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
@keyframes slide-in-left {
|
|
393
|
+
0% {
|
|
394
|
+
transform: translateX(0);
|
|
395
|
+
}
|
|
396
|
+
100% {
|
|
397
|
+
transform: translateX(-270px);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import { api } from '../api'
|
|
2
1
|
clientVersion: '11.0.0',
|
|
3
2
|
client: 'wh5',
|
|
4
3
|
area: '1_72_2799_0',
|
|
5
4
|
loginType: '2',
|
|
6
5
|
uuid: UUID,
|
|
7
6
|
functionId: string,
|
|
8
7
|
body = {},
|
|
9
8
|
options = {},
|
|
10
9
|
requestOptions = {},
|
|
11
10
|
const params = Object.assign(
|
|
12
11
|
{},
|
|
13
12
|
{
|
|
14
13
|
t: Date.now(),
|
|
15
14
|
functionId,
|
|
16
15
|
appid: 'shop_m_jd_com',
|
|
17
16
|
body: JSON.stringify(body),
|
|
18
17
|
},
|
|
19
18
|
clientParams,
|
|
20
19
|
options,
|
|
21
20
|
)
|
|
22
21
|
console.warn(
|
|
23
22
|
'fetchGateway url:' + api.apiFunc + ',functionId:' + params.functionId,
|
|
24
23
|
)
|
|
25
24
|
return http.post(api.apiFunc, params, requestOptions)
|
|
25
|
+
import { api } from '../api'
|
|
26
26
|
clientVersion: '11.0.0',
|
|
27
27
|
client: 'wh5',
|
|
28
28
|
area: '1_72_2799_0',
|
|
29
29
|
uuid: UUID,
|
|
30
30
|
functionId: string,
|
|
31
31
|
body = {},
|
|
32
32
|
options = {},
|
|
33
33
|
requestOptions = {},
|
|
34
34
|
const params = Object.assign(
|
|
35
35
|
{},
|
|
36
36
|
{
|
|
37
37
|
t: Date.now(),
|
|
38
38
|
functionId,
|
|
39
39
|
appid: 'shop_m_jd_com',
|
|
40
40
|
body: JSON.stringify(body),
|
|
41
41
|
},
|
|
42
42
|
clientParams,
|
|
43
43
|
options,
|
|
44
44
|
)
|
|
45
45
|
console.warn(
|
|
46
46
|
'fetchGateway url:' + api.apiFunc + ',functionId:' + params.functionId,
|
|
47
47
|
)
|
|
48
48
|
return http.post(api.apiFunc, params, requestOptions)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import { ServiceInterFace } from '../../interface'
|
|
2
1
|
AppVerifyColorList,
|
|
3
2
|
SHOP_VERIFY_CODE,
|
|
4
3
|
PAGES_VERIFY_CODE,
|
|
5
4
|
B2B_VERITY_CODE,
|
|
6
5
|
PAGES_DOMAIN,
|
|
7
6
|
B2BColorFunctionIdList,
|
|
8
7
|
public fmInfo: {
|
|
9
8
|
eid?: string
|
|
10
9
|
fp?: string
|
|
11
10
|
jsToken?: string
|
|
12
11
|
sdkToken?: string
|
|
13
12
|
}
|
|
14
13
|
public api: ServiceInterFace.HttpApi
|
|
15
14
|
public paramsSignInstance: any
|
|
16
15
|
public paramsSignPagesInstance: any
|
|
17
16
|
public paramsSignBmallInstance: any
|
|
18
17
|
public isPageDomain: boolean
|
|
19
18
|
constructor() {
|
|
20
19
|
this.api = api
|
|
21
20
|
this.isPageDomain = location?.hostname === PAGES_DOMAIN
|
|
22
21
|
this.paramsSignInstance = undefined
|
|
23
22
|
this.paramsSignPagesInstance = undefined
|
|
24
23
|
this.paramsSignBmallInstance = undefined
|
|
25
24
|
this.fmInfo = {}
|
|
26
25
|
this._initSign()
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
_getMobileJsToken(): Promise<{
|
|
30
29
|
ok: boolean
|
|
31
30
|
data?: any
|
|
32
31
|
error?: any
|
|
33
32
|
}> {
|
|
34
33
|
return new Promise((resolve, reject) => {
|
|
35
34
|
try {
|
|
36
35
|
if (window?.getJsToken) {
|
|
37
36
|
window.getJsToken(function (res) {
|
|
38
37
|
console.log('JS token 获取结果:', res)
|
|
39
38
|
resolve({
|
|
40
39
|
ok: true,
|
|
41
40
|
data: res,
|
|
42
41
|
})
|
|
43
42
|
}, 600)
|
|
44
43
|
} else {
|
|
45
44
|
reject({
|
|
46
45
|
ok: false,
|
|
47
46
|
error: '没有识别到getJsToken全局方法',
|
|
48
47
|
})
|
|
49
48
|
}
|
|
50
49
|
} catch (e) {
|
|
51
50
|
console.log('获取指纹JS token 异常', e)
|
|
52
51
|
reject({
|
|
53
52
|
ok: false,
|
|
54
53
|
error: e,
|
|
55
54
|
})
|
|
56
55
|
}
|
|
57
56
|
})
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
async getFmInfo() {
|
|
61
60
|
try {
|
|
62
61
|
const { ok, data } = await this._getMobileJsToken()
|
|
63
62
|
this.fmInfo = ok && data ? data : this.fmInfo
|
|
64
63
|
return this.fmInfo
|
|
65
64
|
} catch (e) {
|
|
66
65
|
console.log('获取指纹信息异常', e)
|
|
67
66
|
return this.fmInfo
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
_initSign() {
|
|
72
71
|
this.paramsSignInstance = window.PSign
|
|
73
72
|
? window.PSign
|
|
74
73
|
: window.ParamsSign
|
|
75
74
|
? this._initParamsSignInstance(SHOP_VERIFY_CODE)
|
|
76
75
|
: null
|
|
77
76
|
this.paramsSignPagesInstance = window.ParamsSign
|
|
78
77
|
? this._initParamsSignInstance(PAGES_VERIFY_CODE)
|
|
79
78
|
: null
|
|
80
79
|
this.paramsSignBmallInstance = window.ParamsSign
|
|
81
80
|
? this._initParamsSignInstance(B2B_VERITY_CODE)
|
|
82
81
|
: null
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
_initParamsSignInstance(appId) {
|
|
86
85
|
return new window.ParamsSign({
|
|
87
86
|
appId: appId,
|
|
88
87
|
debug: false,
|
|
89
88
|
preRequest: false,
|
|
90
89
|
onSign: ({ code }) => {
|
|
91
90
|
console.log('签名可用率监控', code)
|
|
92
91
|
},
|
|
93
92
|
onRequestTokenRemotely: ({ code, message }) => {
|
|
94
93
|
console.log('算法接口可用率监控', code, message)
|
|
95
94
|
},
|
|
96
95
|
onRequestToken: ({ code, message }) => {
|
|
97
96
|
console.log('token的可用率监控', code, message)
|
|
98
97
|
},
|
|
99
98
|
})
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
paramsSign(data) {
|
|
103
102
|
try {
|
|
104
103
|
console.log('获取加签参数', data, this.paramsSignInstance)
|
|
105
104
|
if (!data || typeof data !== 'object' || !this.paramsSignInstance) {
|
|
106
105
|
return Promise.resolve(data)
|
|
107
106
|
} else {
|
|
108
107
|
const param: any = {
|
|
109
108
|
appid: data.appid,
|
|
110
109
|
client: data.client,
|
|
111
110
|
clientVersion: data.clientVersion,
|
|
112
111
|
functionId: data.functionId,
|
|
113
112
|
t: data.t,
|
|
114
113
|
sign: data?.sign,
|
|
115
114
|
jsonp: data?.jsonp,
|
|
116
115
|
}
|
|
117
116
|
data && data.body && (param.body = sha256(data.body).toString())
|
|
118
117
|
console.log(
|
|
119
118
|
'获取加签前的参数处理',
|
|
120
119
|
param,
|
|
121
120
|
'获取下发data',
|
|
122
121
|
data,
|
|
123
122
|
'获取加签实例',
|
|
124
123
|
this.paramsSignInstance,
|
|
125
124
|
this.paramsSignPagesInstance,
|
|
126
125
|
)
|
|
127
126
|
return this.isPageDomain &&
|
|
128
127
|
this.paramsSignPagesInstance &&
|
|
129
128
|
AppVerifyColorList.includes(param.functionId)
|
|
130
129
|
? this.paramsSignPagesInstance.sign(param)
|
|
131
130
|
: this.paramsSignBmallInstance &&
|
|
132
131
|
B2BColorFunctionIdList.includes(param.functionId)
|
|
133
132
|
? this.paramsSignBmallInstance.sign(param)
|
|
134
133
|
: this.paramsSignInstance.sign(param)
|
|
135
134
|
}
|
|
136
135
|
} catch (e) {
|
|
137
136
|
console.log('获取加签参数结果异常', e)
|
|
138
137
|
return Promise.resolve(data)
|
|
139
138
|
}
|
|
140
139
|
}
|
|
140
|
+
import { ServiceInterFace } from '../../interface'
|
|
141
141
|
AppVerifyColorList,
|
|
142
142
|
SHOP_VERIFY_CODE,
|
|
143
143
|
PAGES_VERIFY_CODE,
|
|
144
144
|
B2B_VERITY_CODE,
|
|
145
145
|
PAGES_DOMAIN,
|
|
146
146
|
B2BColorFunctionIdList,
|
|
147
147
|
public fmInfo: {
|
|
148
148
|
eid?: string
|
|
149
149
|
fp?: string
|
|
150
150
|
jsToken?: string
|
|
151
151
|
sdkToken?: string
|
|
152
152
|
}
|
|
153
153
|
public api: ServiceInterFace.HttpApi
|
|
154
154
|
public paramsSignInstance: any
|
|
155
155
|
public paramsSignPagesInstance: any
|
|
156
156
|
public paramsSignBmallInstance: any
|
|
157
157
|
public isPageDomain: boolean
|
|
158
158
|
public initParamsSignInstance: any
|
|
159
159
|
public initJsTokenInstance: any
|
|
160
160
|
constructor() {
|
|
161
161
|
this.api = api
|
|
162
162
|
this.isPageDomain = location?.hostname === PAGES_DOMAIN
|
|
163
163
|
this.paramsSignInstance = undefined
|
|
164
164
|
this.paramsSignPagesInstance = undefined
|
|
165
165
|
this.paramsSignBmallInstance = undefined
|
|
166
166
|
this.initParamsSignInstance = undefined
|
|
167
167
|
this.initJsTokenInstance = undefined
|
|
168
168
|
this.fmInfo = {}
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
_loadSingleJs(jsFileName, successCallback?, failCallback?) {
|
|
172
172
|
const jsInfo = global.loadJsSdkList.find(
|
|
173
173
|
(item) => item?.fileName === jsFileName,
|
|
174
174
|
)
|
|
175
175
|
if (jsInfo) {
|
|
176
176
|
global
|
|
177
177
|
.loadItemSdkPromise(jsInfo)
|
|
178
178
|
.then(() => {
|
|
179
179
|
typeof successCallback === 'function' && successCallback()
|
|
180
180
|
})
|
|
181
181
|
.catch(() => {
|
|
182
182
|
console.info('业务发起接口请求前置加载js异常' + jsInfo?.src)
|
|
183
183
|
typeof failCallback === 'function' && failCallback()
|
|
184
184
|
})
|
|
185
185
|
} else {
|
|
186
186
|
typeof failCallback === 'function' && failCallback()
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
_getMobileJsToken(): Promise<{
|
|
191
191
|
ok: boolean
|
|
192
192
|
data?: any
|
|
193
193
|
error?: any
|
|
194
194
|
}> {
|
|
195
195
|
return this._handleInitJsToken().then(() => {
|
|
196
196
|
try {
|
|
197
197
|
if (window?.getJsToken) {
|
|
198
198
|
return new Promise((resolve) => {
|
|
199
199
|
window.getJsToken(function (res) {
|
|
200
200
|
console.log('JS token 获取结果', res)
|
|
201
201
|
resolve({
|
|
202
202
|
ok: true,
|
|
203
203
|
data: res,
|
|
204
204
|
})
|
|
205
205
|
}, 600)
|
|
206
206
|
})
|
|
207
207
|
} else {
|
|
208
208
|
console.log('没有识别到getJsToken全局方法')
|
|
209
209
|
return Promise.resolve({
|
|
210
210
|
ok: false,
|
|
211
211
|
error: '没有识别到getJsToken全局方法',
|
|
212
212
|
})
|
|
213
213
|
}
|
|
214
214
|
} catch (e) {
|
|
215
215
|
console.log('获取指纹JS token 异常', e)
|
|
216
216
|
return Promise.resolve({
|
|
217
217
|
ok: false,
|
|
218
218
|
error: e,
|
|
219
219
|
})
|
|
220
220
|
}
|
|
221
221
|
})
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
async getFmInfo() {
|
|
225
225
|
try {
|
|
226
226
|
const { ok, data } = await this._getMobileJsToken()
|
|
227
227
|
this.fmInfo = ok && data ? data : this.fmInfo
|
|
228
228
|
return this.fmInfo
|
|
229
229
|
} catch (e) {
|
|
230
230
|
console.log('获取指纹信息异常', e)
|
|
231
231
|
return this.fmInfo
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
_initSign() {
|
|
236
236
|
this.paramsSignInstance = window.PSign
|
|
237
237
|
? window.PSign
|
|
238
238
|
: window.ParamsSign
|
|
239
239
|
? this._initParamsSignInstance(SHOP_VERIFY_CODE)
|
|
240
240
|
: null
|
|
241
241
|
this.paramsSignPagesInstance = window.ParamsSign
|
|
242
242
|
? this._initParamsSignInstance(PAGES_VERIFY_CODE)
|
|
243
243
|
: null
|
|
244
244
|
this.paramsSignBmallInstance = window.ParamsSign
|
|
245
245
|
? this._initParamsSignInstance(B2B_VERITY_CODE)
|
|
246
246
|
: null
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
_initParamsSignInstance(appId) {
|
|
250
250
|
return new window.ParamsSign({
|
|
251
251
|
appId: appId,
|
|
252
252
|
debug: false,
|
|
253
253
|
preRequest: false,
|
|
254
254
|
onSign: ({ code }) => {
|
|
255
255
|
console.log('签名可用率监控', code)
|
|
256
256
|
},
|
|
257
257
|
onRequestTokenRemotely: ({ code, message }) => {
|
|
258
258
|
console.log('算法接口可用率监控', code, message)
|
|
259
259
|
},
|
|
260
260
|
onRequestToken: ({ code, message }) => {
|
|
261
261
|
console.log('token的可用率监控', code, message)
|
|
262
262
|
},
|
|
263
263
|
})
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
paramsSign(data) {
|
|
267
267
|
try {
|
|
268
268
|
return this._handleInitSign().then(() => {
|
|
269
269
|
console.log('获取加签参数', data, this.paramsSignInstance)
|
|
270
270
|
if (!data || typeof data !== 'object' || !this.paramsSignInstance) {
|
|
271
271
|
return Promise.resolve(data)
|
|
272
272
|
} else {
|
|
273
273
|
const param: any = {
|
|
274
274
|
appid: data.appid,
|
|
275
275
|
client: data.client,
|
|
276
276
|
clientVersion: data.clientVersion,
|
|
277
277
|
functionId: data.functionId,
|
|
278
278
|
t: data.t,
|
|
279
279
|
sign: data?.sign,
|
|
280
280
|
jsonp: data?.jsonp,
|
|
281
281
|
}
|
|
282
282
|
data && data.body && (param.body = sha256(data.body).toString())
|
|
283
283
|
console.log(
|
|
284
284
|
'获取加签前的参数处理',
|
|
285
285
|
param,
|
|
286
286
|
'获取下发data',
|
|
287
287
|
data,
|
|
288
288
|
'获取加签实例',
|
|
289
289
|
this.paramsSignInstance,
|
|
290
290
|
this.paramsSignPagesInstance,
|
|
291
291
|
)
|
|
292
292
|
return this.isPageDomain &&
|
|
293
293
|
this.paramsSignPagesInstance &&
|
|
294
294
|
AppVerifyColorList.includes(param.functionId)
|
|
295
295
|
? this.paramsSignPagesInstance.sign(param)
|
|
296
296
|
: this.paramsSignBmallInstance &&
|
|
297
297
|
B2BColorFunctionIdList.includes(param.functionId)
|
|
298
298
|
? this.paramsSignBmallInstance.sign(param)
|
|
299
299
|
: this.paramsSignInstance.sign(param)
|
|
300
300
|
}
|
|
301
301
|
})
|
|
302
302
|
} catch (e) {
|
|
303
303
|
console.log('获取加签参数结果异常', e)
|
|
304
304
|
return Promise.resolve(data)
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
307
|
|
|
308
308
|
_handleInitSign() {
|
|
309
309
|
if (!this.initParamsSignInstance) {
|
|
310
310
|
this.initParamsSignInstance = new Promise((resolve) => {
|
|
311
311
|
if (window?.ParamsSign) {
|
|
312
312
|
this._initSign()
|
|
313
313
|
resolve({
|
|
314
314
|
ok: true,
|
|
315
315
|
msg: '加固js已加载',
|
|
316
316
|
})
|
|
317
317
|
} else if (window?.PAGE_DATA?.asyncLoadSecurityJs) {
|
|
318
318
|
this._loadSingleJs(
|
|
319
319
|
'securityJs',
|
|
320
320
|
() => {
|
|
321
321
|
this._initSign()
|
|
322
322
|
resolve({
|
|
323
323
|
ok: true,
|
|
324
324
|
msg: '异步请求加固js成功加载',
|
|
325
325
|
})
|
|
326
326
|
},
|
|
327
327
|
() => {
|
|
328
328
|
resolve({
|
|
329
329
|
ok: true,
|
|
330
330
|
msg: '加固js加载异常',
|
|
331
331
|
})
|
|
332
332
|
},
|
|
333
333
|
)
|
|
334
334
|
} else {
|
|
335
335
|
resolve({
|
|
336
336
|
ok: true,
|
|
337
337
|
msg: '加固js开关配置为false不加载',
|
|
338
338
|
})
|
|
339
339
|
}
|
|
340
340
|
})
|
|
341
341
|
}
|
|
342
342
|
return this.initParamsSignInstance
|
|
343
343
|
}
|
|
344
344
|
|
|
345
345
|
_handleInitJsToken() {
|
|
346
346
|
if (!this.initJsTokenInstance) {
|
|
347
347
|
this.initJsTokenInstance = new Promise((resolve) => {
|
|
348
348
|
if (window?.getJsToken) {
|
|
349
349
|
resolve({
|
|
350
350
|
ok: true,
|
|
351
351
|
msg: '指纹js已加载',
|
|
352
352
|
})
|
|
353
353
|
} else if (window?.PAGE_DATA?.asyncLoadMtkJs) {
|
|
354
354
|
this._loadSingleJs(
|
|
355
355
|
'mtkJs',
|
|
356
356
|
() => {
|
|
357
357
|
resolve({
|
|
358
358
|
ok: true,
|
|
359
359
|
msg: '异步请求指纹js成功加载',
|
|
360
360
|
})
|
|
361
361
|
},
|
|
362
362
|
() => {
|
|
363
363
|
resolve({
|
|
364
364
|
ok: true,
|
|
365
365
|
msg: '指纹js加载异常',
|
|
366
366
|
})
|
|
367
367
|
},
|
|
368
368
|
)
|
|
369
369
|
} else {
|
|
370
370
|
resolve({
|
|
371
371
|
ok: true,
|
|
372
372
|
msg: '指纹js开关配置为false不加载',
|
|
373
373
|
})
|
|
374
374
|
}
|
|
375
375
|
})
|
|
376
376
|
}
|
|
377
377
|
return this.initJsTokenInstance
|
|
378
378
|
}
|