@conecli/cone-render 0.8.19 → 0.8.20-beta.2

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.
Files changed (183) hide show
  1. package/README.md +7 -1
  2. package/dist/api/index.ts +1 -1
  3. package/dist/assets/icon_blue_info.svg +1 -0
  4. package/dist/common/const.ts +1 -1
  5. package/dist/common/environmentType.ts +1 -0
  6. package/dist/common/index.h5.ts +1 -1
  7. package/dist/common/index.jd.ts +1 -1
  8. package/dist/common/index.ts +1 -1
  9. package/dist/common/index.weapp.ts +1 -1
  10. package/dist/common/isvStorage/index.h5.ts +1 -0
  11. package/dist/common/isvStorage/index.ts +1 -0
  12. package/dist/common/jdplayerSdk.ts +1 -0
  13. package/dist/common/jssdk.ts +1 -0
  14. package/dist/common/pageType.ts +1 -0
  15. package/dist/common/sgmCustomCode.ts +1 -0
  16. package/dist/common/token/const.ts +1 -0
  17. package/dist/common/token/index.h5.ts +1 -0
  18. package/dist/common/token/index.ts +1 -0
  19. package/dist/common/token/token.jd.ts +1 -0
  20. package/dist/common/token/token.ts +1 -0
  21. package/dist/common/token/token.wxapp.ts +1 -0
  22. package/dist/common/wxappApi.jd.ts +1 -0
  23. package/dist/common/wxappApi.ts +1 -1
  24. package/dist/components/ErrorBoundary.tsx +1 -1
  25. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  26. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  27. package/dist/components/base/CountDown/index.module.scss +49 -44
  28. package/dist/components/base/CountDown/index.tsx +1 -1
  29. package/dist/components/base/CustomScrollView/index.jd.tsx +1 -0
  30. package/dist/components/base/CustomScrollView/index.module.scss +7 -0
  31. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  32. package/dist/components/base/CustomVideo/common.ts +1 -0
  33. package/dist/components/base/CustomVideo/const.ts +1 -0
  34. package/dist/components/base/CustomVideo/index.module.scss +40 -64
  35. package/dist/components/base/CustomVideo/index.tsx +1 -1
  36. package/dist/components/base/Dialog/index.module.scss +22 -2
  37. package/dist/components/base/Dialog/index.tsx +1 -1
  38. package/dist/components/base/Exposure/index.h5.tsx +1 -1
  39. package/dist/components/base/ExposureSmart/const.ts +1 -0
  40. package/dist/components/base/ExposureSmart/index.h5.module.scss +30 -6
  41. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  42. package/dist/components/base/ExposureSmart/index.module.scss +20 -9
  43. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  44. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  45. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  46. package/dist/components/base/InViewRender/index.tsx +1 -1
  47. package/dist/components/base/InViewRender/index.weapp.tsx +1 -1
  48. package/dist/components/base/ItemViewExposureSmart/index.module.scss +8 -0
  49. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -0
  50. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  51. package/dist/components/base/LazyLayoutLoad/index.weapp.tsx +1 -1
  52. package/dist/components/base/LazyLoadImage/const.ts +1 -1
  53. package/dist/components/base/LazyLoadImage/index.h5.module.scss +24 -20
  54. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  55. package/dist/components/base/MobileCommonHeader/index.module.scss +17 -0
  56. package/dist/components/base/MobileCommonHeader/index.tsx +1 -0
  57. package/dist/components/base/NetworkDataError/const.ts +1 -1
  58. package/dist/components/base/NetworkDataError/index.module.scss +128 -69
  59. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  60. package/dist/components/base/Price/{const.ts → Base/const.ts} +0 -0
  61. package/dist/components/base/Price/Base/index.module.scss +148 -0
  62. package/dist/components/base/Price/Base/index.tsx +1 -0
  63. package/dist/components/base/Price/Double/index.module.scss +190 -0
  64. package/dist/components/base/Price/Double/index.tsx +1 -0
  65. package/dist/components/base/Price/index.tsx +1 -1
  66. package/dist/components/base/ShopLeGaoTag/index.h5.module.scss +35 -0
  67. package/dist/components/base/ShopLeGaoTag/index.h5.tsx +1 -0
  68. package/dist/components/base/ShopLeGaoTag/index.module.scss +33 -0
  69. package/dist/components/base/ShopLeGaoTag/index.tsx +1 -0
  70. package/dist/components/base/Skeleton/index.tsx +1 -1
  71. package/dist/components/debug/DebugLayout/index.module.scss +67 -0
  72. package/dist/components/debug/DebugLayout/index.tsx +1 -0
  73. package/dist/components/debug/DebugLayout/utils.ts +1 -0
  74. package/dist/components/decorate/DecorateFloorModule/index.module.scss +32 -2
  75. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  76. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  77. package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
  78. package/dist/components/floorItem.jd.tsx +1 -0
  79. package/dist/components/floorItem.tsx +1 -1
  80. package/dist/components/floorItem.weapp.tsx +1 -1
  81. package/dist/components/isv/Floor/index.tsx +1 -1
  82. package/dist/components/remoteFloorItem.tsx +1 -0
  83. package/dist/interface/common.ts +1 -1
  84. package/dist/interface/component.ts +1 -1
  85. package/dist/interface/jumpEventReport.ts +1 -1
  86. package/dist/interface/service.ts +1 -1
  87. package/dist/interface/utils.ts +1 -1
  88. package/dist/jumpEventReport/base.ts +1 -1
  89. package/dist/jumpEventReport/const.ts +1 -1
  90. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  91. package/dist/jumpEventReport/index.h5.ts +1 -1
  92. package/dist/jumpEventReport/index.jd.ts +1 -1
  93. package/dist/jumpEventReport/index.ts +1 -1
  94. package/dist/jumpEventReport/index.weapp.ts +1 -1
  95. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  96. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  97. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  98. package/dist/jumpEventReport/web/report.ts +1 -1
  99. package/dist/jumpEventReport/web.base.ts +1 -1
  100. package/dist/jumpEventReport/web.jd.ts +1 -1
  101. package/dist/jumpEventReport/web.jdb.ts +1 -0
  102. package/dist/jumpEventReport/web.jdjch.ts +1 -0
  103. package/dist/jumpEventReport/web.jxwxapp.ts +1 -0
  104. package/dist/jumpEventReport/web.pc.ts +1 -0
  105. package/dist/jumpEventReport/web.tjapp.ts +1 -0
  106. package/dist/jumpEventReport/web.tjm.ts +1 -0
  107. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  108. package/dist/language/en_US.json +231 -0
  109. package/dist/language/zh_CN.json +231 -0
  110. package/dist/language/zh_HK.json +231 -0
  111. package/dist/libs/taroAppReport.js +2 -2
  112. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -27
  113. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  114. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  115. package/dist/open/api/device.ts +1 -1
  116. package/dist/open/api/environment.ts +1 -1
  117. package/dist/open/api/index.ts +1 -1
  118. package/dist/open/api/jump/business.ts +1 -0
  119. package/dist/open/api/jump/index.ts +1 -0
  120. package/dist/open/api/jump/minPath.ts +1 -0
  121. package/dist/open/api/jump/side.ts +1 -0
  122. package/dist/open/api/jump/webUrl.ts +1 -0
  123. package/dist/open/api/jump copy.ts +1 -0
  124. package/dist/open/api/moduleUtil.ts +1 -1
  125. package/dist/open/api/request.ts +1 -0
  126. package/dist/open/api/shopMember.ts +1 -0
  127. package/dist/open/api/track.ts +1 -1
  128. package/dist/open/api/userToken.ts +1 -0
  129. package/dist/open/api/util.ts +1 -1
  130. package/dist/open/components/index.ts +1 -1
  131. package/dist/sass/app.h5.scss +294 -212
  132. package/dist/sass/base.scss +195 -137
  133. package/dist/service/bMallConst.ts +1 -0
  134. package/dist/service/bMallConst.weapp.ts +1 -0
  135. package/dist/service/fetchGateway.ts +1 -0
  136. package/dist/service/fetchGateway.weapp.ts +1 -0
  137. package/dist/service/fetchJsonp.ts +1 -0
  138. package/dist/service/http/colorSign.ts +1 -0
  139. package/dist/service/http/colorSign.weapp.ts +1 -0
  140. package/dist/service/http/const.ts +1 -0
  141. package/dist/service/http/h5Http.ts +1 -0
  142. package/dist/service/http/http.ts +1 -0
  143. package/dist/service/http/httpInterceptors.jd.ts +1 -0
  144. package/dist/service/http/httpInterceptors.ts +1 -0
  145. package/dist/service/http/index.h5.ts +1 -0
  146. package/dist/service/http/index.ts +1 -0
  147. package/dist/service/requestServer.h5.ts +1 -0
  148. package/dist/service/requestServer.ts +1 -0
  149. package/dist/service/requestServer.weapp.ts +1 -0
  150. package/dist/utils/connectNativeJsBridge.ts +1 -1
  151. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  152. package/dist/utils/draExceptionAndProfile.ts +1 -1
  153. package/dist/utils/h5Utils.ts +1 -1
  154. package/dist/utils/index.h5.ts +1 -1
  155. package/dist/utils/index.ts +1 -1
  156. package/dist/utils/index.weapp.ts +1 -1
  157. package/dist/utils/intersectionObserver.ts +1 -1
  158. package/dist/utils/jm-common.js +1 -1
  159. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  160. package/dist/utils/jumpExtMapUtil.ts +1 -0
  161. package/dist/utils/priceUtils.js +1 -0
  162. package/dist/utils/ready.ts +1 -0
  163. package/dist/utils/sColor.js +1 -0
  164. package/dist/utils/sgmCodeUtils.ts +1 -0
  165. package/dist/utils/taroRenderUtil.ts +1 -0
  166. package/dist/utils/utils.ts +1 -1
  167. package/dist/wxapp/api/helper.js +1 -0
  168. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  169. package/dist/wxapp/common/user_info.js +1 -1
  170. package/dist/wxapp/components/launch-app/index.js +1 -0
  171. package/dist/wxapp/components/launch-app/index.json +5 -0
  172. package/dist/wxapp/components/launch-app/index.wxml +0 -0
  173. package/dist/wxapp/components/launch-app/index.wxss +0 -0
  174. package/dist/wxapp/components/subscribe-guider/helper.js +1 -0
  175. package/dist/wxapp/components/subscribe-guider/index.js +1 -0
  176. package/dist/wxapp/components/subscribe-guider/index.json +5 -0
  177. package/dist/wxapp/components/subscribe-guider/index.wxml +0 -0
  178. package/dist/wxapp/components/subscribe-guider/index.wxss +0 -0
  179. package/package.json +145 -114
  180. package/dist/components/base/Price/index.module.scss +0 -136
  181. package/dist/components/base/Skeleton/old.tsx +0 -1
  182. package/dist/customHooks/useDocumentVisibilitychange.ts +0 -1
  183. package/dist/open/api/jump.ts +0 -1
@@ -1 +1 @@
1
- import Taro from '@tarojs/taro'
2
1
  nativePageShowToast, ToastAndroidType,
3
2
  ToastIosType
4
3
  getAppChannelType, isAndroidDevice, isH5AndJdShopView,
5
4
  isH5AndJdShopViewNativeScroll, isIosDevice, isJdAndAndroidDevice, isJdAndIosDevice, isJdApp,
6
5
  isWxApp, isWxMiniH5View, isH5AndJingGouMini, urlCookie
7
6
  addHttps, clearTaroStorageKey, countStringify, dateFormat, dealAddress, dealShopContentData as originDealShopContentData, debounce, filterUrlQueryData, formatTabActiveMenuType, getQualityImage, getTaroStorageKeyValue,
8
7
  getWxAppCookieStr, isH5, isJdMin, isWxMin,
9
8
  isWxMinAndWxapp, lodashThrottle, objectToUrlEncode, parseQueryUrlString, removeTaroStorageKey, setLowSmallPicUrl,
10
9
  setTaroStorage, showFailToast,
11
10
  showNormalToast, showSuccessToast, sliceArrToChunkList, throttle
12
11
  <span class="d-shop-loading-icon"></span>
13
12
  <p class="d-shop-text">${text}</p>
14
13
  </div>`
15
14
  return originDealShopContentData(pageData, DraJSAgentReport, isvdev)
16
15
  isJdApp,
17
16
  isWxApp,
18
17
  isIosDevice,
19
18
  isAndroidDevice,
20
19
  isJdAndIosDevice,
21
20
  isJdAndAndroidDevice,
22
21
  isWxMin,
23
22
  isWxMinAndWxapp,
24
23
  isJdMin,
25
24
  isH5,
26
25
  isH5AndJdShopView,
27
26
  isH5AndJdShopViewNativeScroll,
28
27
  isH5AndJingGouMini,
29
28
  isWxMiniH5View,
30
29
  urlCookie,
31
30
  sliceArrToChunkList,
32
31
  dealAddress,
33
32
  objectToUrlEncode,
34
33
  parseQueryUrlString,
35
34
  setLowSmallPicUrl,
36
35
  setTaroStorage,
37
36
  getTaroStorageKeyValue,
38
37
  removeTaroStorageKey,
39
38
  clearTaroStorageKey,
40
39
  getQualityImage,
41
40
  countStringify,
42
41
  getWxAppCookieStr,
43
42
  getSystemInfos,
44
43
  pxTransformFromData,
45
44
  dateFormat,
46
45
  throttle,
47
46
  lodashThrottle,
48
47
  debounce,
49
48
  addHttps,
50
49
  commonShowSuccessToast as showSuccessToast,
51
50
  commonShowFailToast as showFailToast,
52
51
  commonShowNormalToast as showNormalToast,
53
52
  showShopLoading,
54
53
  hideShopLoading,
55
54
  getAppChannelType,
56
55
  formatTabActiveMenuType,
57
56
  filterUrlQueryData,
57
+ import Taro from '@tarojs/taro';
58
58
  stopNativeScrollEvent,
59
59
  getAppChannelType,
60
60
  isAndroidDevice,
61
61
  isHarmonyDevice,
62
62
  isH5AndJdShopView,
63
63
  isChartH5,
64
64
  isH5AndJdShopViewNativeScroll,
65
65
  isIosDevice,
66
66
  isJdAndAndroidDevice,
67
67
  isJdAndIosDevice,
68
68
  isJdAndHarmonyDevice,
69
69
  isJdApp,
70
70
  isWxApp,
71
71
  isWxMiniH5View,
72
72
  isH5AndJingGouMini,
73
73
  urlCookie,
74
74
  sgmCustomReport,
75
75
  draCustomReport,
76
76
  remoteCustomReport,
77
77
  draInterfaceCustomReport,
78
78
  draBusinessCustomReport,
79
79
  draBusinessCustomLogReport,
80
80
  isMemberPage,
81
81
  isH5AndJdShopViewH5Scroll,
82
82
  isH5AndJdShopH5CustomScrollView,
83
83
  isAppClassifyPage,
84
84
  isAppHomeForMarketPage,
85
85
  isPc,
86
86
  ipLoc_djd,
87
87
  jdAppVersionCompare,
88
88
  dealNativePixelToCssPixel,
89
89
  isAppStowShop,
90
90
  isJdAndroidX5Core,
91
91
  isTjScence,
92
92
  isH5AdnJxMini,
93
93
  isTjM,
94
94
  isTjJxM,
95
95
  isTJApp,
96
96
  isH5AdnHaoWuJie,
97
97
  tjChannel,
98
98
  parseQueryUrlObj,
99
99
  isIpadDevice,
100
100
  isTabletDevice,
101
101
  checkPadScreenOrientationIsLandscape,
102
102
  isSupportHybridHttpRequest,
103
103
  isLanguageForEn,
104
104
  sColor,
105
105
  draInterfaceDSMCustomReport,
106
106
  isInJdShopView,
107
107
  isDongWebView,
108
108
  isLanguageForHk,
109
109
  languageNowType,
110
110
  addHttps,
111
111
  clearTaroStorageKey,
112
112
  countStringify as h5CountStringify,
113
113
  dateFormat,
114
114
  dealAddress,
115
115
  dealShopContentData as originDealShopContentData,
116
116
  debounce,
117
117
  filterUrlQueryData,
118
118
  formatTabActiveMenuType,
119
119
  getAvifSupport,
120
120
  getWebpSupport,
121
121
  getTaroStorageKeyValue,
122
122
  getWxAppCookieStr,
123
123
  isH5,
124
124
  isMin,
125
125
  isJdMin,
126
126
  isWxMin,
127
127
  isWxMinAndWxapp,
128
128
  isJdMinAndHarmony,
129
129
  lodashThrottle,
130
130
  objectToUrlEncode,
131
131
  parseQueryUrlString,
132
132
  removeTaroStorageKey,
133
133
  setLowSmallPicUrl,
134
134
  setTaroStorage,
135
135
  showFailToast,
136
136
  showNormalToast,
137
137
  showSuccessToast,
138
138
  sliceArrToChunkList,
139
139
  throttle,
140
140
  getQualityImageNew,
141
141
  getQualityImageOld,
142
142
  isOpenJdAppUrl,
143
143
  jdOpenAppParams,
144
144
  createJdOpenAppUrl,
145
145
  isEmpty,
146
146
  getJdAppReportPageSource,
147
147
  dealJdOpenAppData,
148
148
  getBorderStyle,
149
149
  const getNum = Number(num);
150
150
  let _changeLayoutWidth = layoutWidth;
151
151
  if (!_changeLayoutWidth) {
152
152
  _changeLayoutWidth =
153
153
  _ShopSystemInfo && _ShopSystemInfo?.windowWidth
154
154
  ? _ShopSystemInfo.windowWidth
155
155
  : Taro.getSystemInfoSync()?.windowWidth;
156
156
  }
157
157
  return _ShopSystemInfo?.isJdTabletDevice && !layoutWidth
158
158
  ? Math.floor(getNum * 1.2 * (_changeLayoutWidth / 720))
159
159
  : Math.round((getNum / widthSize) * _changeLayoutWidth);
160
160
  const getRootFontSize = (40 * (systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth)) / 750;
161
161
  let getRealRootFontSize = getRootFontSize > 40 ? 40 : getRootFontSize < 20 ? 20 : getRootFontSize;
162
162
  if (_ShopSystemInfo?.isJdTabletDevice) {
163
163
  getRealRootFontSize = Math.floor(
164
164
  24 * ((systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth) / 720),
165
165
  );
166
166
  }
167
167
  return Math.ceil(
168
168
  (((parseInt(String(changeSize), 10) / 40) * 750) / designWidth) * getRealRootFontSize,
169
169
  );
170
170
  console.log(
171
171
  '获取系统宽度systemInfo?.windowWidth',
172
172
  systemInfo?.windowWidth,
173
173
  'taroToTransformRoutimePXNumber(changeWidth)',
174
174
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
175
175
  );
176
176
  return buildType === BUILD_TYPE.CLASSIFY && systemInfo?.windowWidth
177
177
  ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
178
178
  : (systemInfo?.windowWidth ?? 0);
179
179
  const systemInfo = _ShopSystemInfo || Taro.getSystemInfoSync();
180
180
  console.log(
181
181
  '获取系统宽度systemInfo?.windowWidth',
182
182
  systemInfo?.windowWidth,
183
183
  'taroToTransformRoutimePXNumber(changeWidth)',
184
184
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
185
185
  );
186
186
  const containerWidth =
187
187
  isClassify && systemInfo?.windowWidth
188
188
  ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
189
189
  : (systemInfo?.windowWidth ?? 0);
190
190
  if (global?.info?.sysInfo) {
191
191
  global.info.sysInfo['containerWidth'] = containerWidth;
192
192
  }
193
193
  return (
194
194
  isJdApp &&
195
195
  (parseQueryUrlObj['device'] === 'tablet' || Math.min(rootEleWidth, window.screen.height) >= 720)
196
196
  );
197
197
  const systemInfo = Taro.getSystemInfoSync();
198
198
  if (params && params?.pageWidth && params?.pageHeight) {
199
199
  systemInfo.windowWidth = params?.pageWidth;
200
200
  systemInfo.windowHeight = params?.pageHeight;
201
201
  console.warn('松果app内获取重置系统信息宽度值', params, ',systemInfo信息集合为', systemInfo);
202
202
  } else {
203
203
  if (isPc) {
204
204
  systemInfo.windowWidth = 375;
205
205
  } else {
206
206
  const getWinWidth = window.innerWidth;
207
207
  const getWinHeight = window.innerHeight;
208
208
  const getScreenWidth = window.screen.width;
209
209
  const getScreenHeight = window.screen.height;
210
210
  const getRootEleInitWidth = params?.rootEleInitWidth || 0;
211
211
  const isReplaceSystemWidth = params?.replaceSystemWidth || false;
212
212
  systemInfo.isJdTabletDevice = checkIsJdTabletDevice(getRootEleInitWidth);
213
213
  systemInfo.isJdTabletLandscape =
214
214
  systemInfo.isJdTabletDevice &&
215
215
  checkPadScreenOrientationIsLandscape(getRootEleInitWidth, getScreenWidth, getScreenHeight);
216
216
  if (!systemInfo.isJdTabletDevice && isReplaceSystemWidth) {
217
217
  if (systemInfo?.windowWidth <= 0) {
218
218
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth);
219
219
  systemInfo.windowHeight = getScreenHeight;
220
220
  console.warn(
221
221
  '====初始化获取当前设备不是pad,但是触发屏幕宽高最小值600,系统获取宽度为0,进行重置系统宽度为根元素宽度与屏幕宽度最小值====',
222
222
  systemInfo.windowWidth,
223
223
  'getRootEleInitWidth',
224
224
  getRootEleInitWidth,
225
225
  'getScreenWidth',
226
226
  getScreenWidth,
227
227
  'getScreenHeight',
228
228
  getScreenHeight,
229
229
  );
230
230
  draBusinessCustomReport({
231
231
  type: 'jdapp_pad_width_error_info',
232
232
  errMsg: `松果app内获取当前设备不是pad,触发屏幕宽高最小值600,系统信息宽度为0,进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
233
233
  originReqDataStr: JSON.stringify({
234
234
  isJdApp,
235
235
  isAndroidDevice,
236
236
  getScreenWidth,
237
237
  getScreenHeight,
238
238
  getWinWidth,
239
239
  getWinHeight,
240
240
  getRootEleInitWidth,
241
241
  }),
242
242
  });
243
243
  }
244
244
  } else {
245
245
  if (isJdApp && isAndroidDevice && !systemInfo.isJdTabletDevice && systemInfo) {
246
246
  const isLandscape = getScreenWidth >= getScreenHeight;
247
247
  const { windowWidth, windowHeight, screenWidth, screenHeight } = systemInfo;
248
248
  if (windowWidth <= 0) {
249
249
  systemInfo.initWindowWidth = windowWidth;
250
250
  if (isLandscape) {
251
251
  systemInfo.windowWidth = getScreenHeight;
252
252
  systemInfo.windowHeight = getScreenWidth;
253
253
  systemInfo.screenWidth = getScreenHeight;
254
254
  systemInfo.screenHeight = getScreenWidth;
255
255
  } else {
256
256
  systemInfo.windowWidth = getScreenWidth;
257
257
  systemInfo.windowHeight = getScreenHeight;
258
258
  systemInfo.screenWidth = getScreenWidth;
259
259
  systemInfo.screenHeight = getScreenHeight;
260
260
  }
261
261
  console.warn(
262
262
  `松果安卓app内获取系统信息宽度异常为小于等于0,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取窗口高度值${windowHeight},重置后的高度值${systemInfo.windowHeight},根元素宽度值${getRootEleInitWidth}`,
263
263
  );
264
264
  draBusinessCustomReport({
265
265
  type: 'android_jdapp_width_error_info',
266
266
  errMsg: `松果安卓app内获取系统信息宽度为小于等于0,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
267
267
  originReqDataStr: JSON.stringify({
268
268
  isJdApp,
269
269
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
270
270
  getScreenWidth,
271
271
  getScreenHeight,
272
272
  getWinWidth,
273
273
  getWinHeight,
274
274
  getRootEleInitWidth,
275
275
  }),
276
276
  });
277
277
  sgmCustomReport({
278
278
  type: 2,
279
279
  code: 'android_jdapp_width_error_info',
280
280
  msg: {
281
281
  title: `松果安卓app内获取系统信息宽度为小于等于0,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
282
282
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
283
283
  taroSysInfo: systemInfo,
284
284
  },
285
285
  });
286
286
  } else {
287
287
  let _getChangeWinWidthState = false;
288
288
  if (getWinWidth > 0 && windowWidth > 0 && windowWidth > getWinWidth) {
289
289
  if (isLandscape) {
290
290
  systemInfo.windowWidth = getScreenHeight;
291
291
  systemInfo.windowHeight = getScreenWidth;
292
292
  systemInfo.screenWidth = getScreenHeight;
293
293
  systemInfo.screenHeight = getScreenWidth;
294
294
  } else {
295
295
  systemInfo.windowWidth = getScreenWidth;
296
296
  systemInfo.windowHeight = getScreenHeight;
297
297
  systemInfo.screenWidth = getScreenWidth;
298
298
  systemInfo.screenHeight = getScreenHeight;
299
299
  }
300
300
  _getChangeWinWidthState = true;
301
301
  }
302
302
  _getChangeWinWidthState &&
303
303
  console.warn(
304
304
  `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取屏幕宽度值${screenWidth},重置后的宽度值${systemInfo.screenWidth}`,
305
305
  );
306
306
  if (_getChangeWinWidthState) {
307
307
  draBusinessCustomReport({
308
308
  type: 'android_jdapp_width_error_info_2',
309
309
  title: `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
310
310
  originReqDataStr: JSON.stringify({
311
311
  isJdApp,
312
312
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
313
313
  getScreenWidth,
314
314
  getScreenHeight,
315
315
  getWinWidth,
316
316
  getWinHeight,
317
317
  getRootEleInitWidth,
318
318
  }),
319
319
  });
320
320
  sgmCustomReport({
321
321
  type: 2,
322
322
  code: 'android_jdapp_width_error_info_2',
323
323
  msg: {
324
324
  title: `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
325
325
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
326
326
  taroSysInfo: systemInfo,
327
327
  },
328
328
  });
329
329
  }
330
330
  }
331
331
  }
332
332
  }
333
333
 
334
334
  if (systemInfo.isJdTabletDevice) {
335
335
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth, getScreenHeight);
336
336
  systemInfo.windowHeight = Math.max(getScreenWidth, getScreenHeight);
337
337
  if (systemInfo.isJdTabletLandscape) {
338
338
  const getRenderCenterState = window?.PAGE_DATA?.businessData?.fitPadCenterRenderLowVersion
339
339
  ? jdAppVersionCompare(window.PAGE_DATA.businessData.fitPadCenterRenderLowVersion) < 0
340
340
  : false;
341
341
  if (getRenderCenterState && window?.PAGE_DATA) {
342
342
  window.PAGE_DATA.isFitJdPadRenderCenter = true;
343
343
  }
344
344
  if (window?.PAGE_DATA?.isFitJdPadRenderCenter) {
345
345
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth, getScreenHeight);
346
346
  systemInfo.windowHeight = Math.max(
347
347
  getRootEleInitWidth,
348
348
  getScreenWidth,
349
349
  getScreenHeight,
350
350
  );
351
351
  } else {
352
352
  systemInfo.windowWidth = Math.max(getRootEleInitWidth, getScreenWidth, getScreenHeight);
353
353
  systemInfo.windowHeight = Math.min(
354
354
  getRootEleInitWidth,
355
355
  getScreenWidth,
356
356
  getScreenHeight,
357
357
  );
358
358
  }
359
359
  }
360
360
  console.warn(
361
361
  '====初始化获取当前设备是否是平板设备,是否横屏====',
362
362
  systemInfo.isJdTabletDevice,
363
363
  systemInfo.isJdTabletLandscape,
364
364
  '屏幕信息',
365
365
  window.screen,
366
366
  'getScreenWidth',
367
367
  getScreenWidth,
368
368
  'getScreenHeight',
369
369
  getScreenHeight,
370
370
  'getRootEleInitWidth',
371
371
  getRootEleInitWidth,
372
372
  '当前是否要求居中展示,居中展示那么宽高值要对调',
373
373
  window?.PAGE_DATA?.isFitJdPadRenderCenter,
374
374
  '当前pad最终展示的窗口宽度',
375
375
  systemInfo.windowWidth,
376
376
  );
377
377
  }
378
378
  }
379
379
  }
380
380
  systemInfo['containerWidth'] = getContainerWidth(buildType, systemInfo);
381
381
  console.warn('====获取系统信息=====', systemInfo);
382
382
  return systemInfo;
383
383
  let result: boolean | null = null;
384
384
  return function () {
385
385
  if (result === null) {
386
386
  const appVersionCheckPass = jdAppVersionCompare(MPAAS_CONFIG_APP_VERSION) >= 0;
387
387
  if (!isJdApp) {
388
388
  console.warn('🚗 ~~ file: utils.ts:191 站外H5默认打开图片优化~');
389
389
  isIgnoreOptimizeFromServer = true;
390
390
  result = true;
391
391
  return true;
392
392
  }
393
393
  const enableAvifOptimize = appVersionCheckPass;
394
394
  if (enableAvifOptimize) {
395
395
  const configData = global?.getDynamicConfig('avifSwitch');
396
396
  const {
397
397
  globalOn = true,
398
398
  ignoreOptimizeFromServer = false,
399
399
  page = {},
400
400
  grayscale = {},
401
401
  whiteList = [],
402
402
  blackList = [],
403
403
  } = configData || {};
404
404
  const { shopId = '0', venderId = '0' } = parseQueryUrlObj;
405
405
  let imageEnableResult = true;
406
406
  isIgnoreOptimizeFromServer = ignoreOptimizeFromServer;
407
407
  if (
408
408
  blackList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
409
409
  ) {
410
410
  imageEnableResult = false;
411
411
  } else if (
412
412
  whiteList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
413
413
  ) {
414
414
  isIgnoreOptimizeFromServer = true;
415
415
  imageEnableResult = true;
416
416
  } else if (grayscale[buildType] && isInGrayscale(grayscale[buildType])) {
417
417
  isIgnoreOptimizeFromServer = true;
418
418
  imageEnableResult = true;
419
419
  } else {
420
420
  imageEnableResult = globalOn === true || page[buildType] === true;
421
421
  if (globalOn === true) {
422
422
  isIgnoreOptimizeFromServer = true;
423
423
  } else if (page[buildType] === true) {
424
424
  } else {
425
425
  }
426
426
  }
427
427
  result = imageEnableResult;
428
428
  return imageEnableResult;
429
429
  } else {
430
430
  result = false;
431
431
  return false;
432
432
  }
433
433
  } else {
434
434
  return result;
435
435
  }
436
436
  };
437
437
  if (typeof options === 'object' && isImageOptimizeEnable()) {
438
438
  return getQualityImageNew(imgUrl, options, isIgnoreOptimizeFromServer);
439
439
  } else {
440
440
  return getQualityImageOld(imgUrl, options);
441
441
  }
442
442
  const getSystemInfo = getSystemAndContainerWidthInfo(params) || {
443
443
  windowWidth: window.innerWidth,
444
444
  containerWidth: getContainerWidth(buildType, {
445
445
  windowWidth: window.innerWidth,
446
446
  }),
447
447
  screenWidth: window.innerWidth,
448
448
  platform: '',
449
449
  model: '',
450
450
  system: '',
451
451
  };
452
452
  return getSystemInfo;
453
453
  const params = Object.assign(
454
454
  {},
455
455
  {
456
456
  title: '',
457
457
  duration: 1500,
458
458
  },
459
459
  options,
460
460
  );
461
461
  params.duration = params.duration / 1000;
462
462
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
463
463
  const showSuccessType = isIosDevice ? ToastIosType.SUCCESS : ToastAndroidType.SUCCESS;
464
464
  const duration = isAndroidDevice ? 0 : params.duration;
465
465
  nativePageShowToast(options.title, showSuccessType, duration);
466
466
  console.log('执行原生toast success');
467
467
  } else {
468
468
  showSuccessToast(options);
469
469
  }
470
470
  const params = Object.assign(
471
471
  {},
472
472
  {
473
473
  title: '',
474
474
  duration: 1500,
475
475
  },
476
476
  options,
477
477
  );
478
478
  params.duration = params.duration / 1000;
479
479
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
480
480
  const showSuccessType = isIosDevice ? ToastIosType.FAIL : ToastAndroidType.FAIL;
481
481
  const duration = isAndroidDevice ? 0 : params.duration;
482
482
  nativePageShowToast(options.title, showSuccessType, duration);
483
483
  console.log('执行原生toast fail');
484
484
  } else {
485
485
  console.log('执行H5 toast fail');
486
486
  showFailToast(options);
487
487
  }
488
488
  const params = Object.assign(
489
489
  {},
490
490
  {
491
491
  title: '',
492
492
  duration: 1500,
493
493
  },
494
494
  options,
495
495
  );
496
496
  params.duration = params.duration / 1000;
497
497
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
498
498
  const showSuccessType = isIosDevice ? ToastIosType.NORMAL : ToastAndroidType.NORMAL;
499
499
  const duration = isAndroidDevice ? 0 : params.duration;
500
500
  nativePageShowToast(options.title, showSuccessType, duration);
501
501
  } else {
502
502
  showNormalToast(options);
503
503
  }
504
504
  if (isLanguageForEn) {
505
505
  count = Number(count);
506
506
  if (count >= 1000000000) {
507
507
  return (count / 1000000000).toFixed(fixedNum) + 'B';
508
508
  } else if (count >= 1000000) {
509
509
  return (count / 1000000).toFixed(fixedNum) + 'M';
510
510
  } else if (count >= 1000) {
511
511
  return (count / 1000).toFixed(fixedNum) + 'K';
512
512
  } else {
513
513
  return count;
514
514
  }
515
515
  } else {
516
516
  return h5CountStringify(count, fixedNum, unit, maxNum);
517
517
  }
518
518
  const createLoadingEle = document.createElement('div');
519
519
  createLoadingEle.id = 'J_shopLoading';
520
520
  createLoadingEle.className = `d-shop-loading flexible-center-box ${customClassName}`;
521
521
  createLoadingEle.innerHTML = `<div class='d-loading-content'>
522
522
  <span class='d-shop-loading-icon'></span>
523
523
  <p class='d-shop-text'>${text}</p>
524
524
  </div>`;
525
525
  const getEle = document.body ? document.body : document.getElementsByTagName('body')[0];
526
526
  getEle.appendChild(createLoadingEle);
527
527
  const getEle = document.getElementById('J_shopLoading');
528
528
  getEle && getEle.remove();
529
529
  const systemInfo: UtilsInterFace.taroGetSystemInfoSyncRes = getReviseSystemInfo(params);
530
530
  if (!systemInfo.system && window) {
531
531
  systemInfo.system = window.navigator.userAgent;
532
532
  systemInfo.isChrome = !!systemInfo?.system.match(/chrome/i);
533
533
  }
534
534
  const isIOS = !!systemInfo?.system.match(/ios/i);
535
535
  const isAndroid = !!systemInfo?.system.match(/android/i);
536
536
  systemInfo.navBarHeight = 0;
537
537
  systemInfo.statusBarHeight = 0;
538
538
  systemInfo.capsulePosition = null;
539
539
  systemInfo.isIOS = isIOS;
540
540
  systemInfo.isAndroid = isAndroid;
541
541
  _ShopSystemInfo = systemInfo;
542
542
  return systemInfo;
543
543
  return originDealShopContentData(pageData, sgmCustomReport, isvdev);
544
544
  const numScale = Number(scale);
545
545
  if (isNaN(numScale)) {
546
546
  console.warn(
547
547
  `The 'scale' parameter of the 'isInGrayscale' function is invalid! Expected a number, but received ${scale}`,
548
548
  );
549
549
  return false;
550
550
  }
551
551
  const { venderId } = global.info.queryInfo || {};
552
552
  const id = venderId;
553
553
  if (!id && numScale !== 1) {
554
554
  return false;
555
555
  }
556
556
  const useScale = Math.max(0, Math.min(1, numScale));
557
557
  const isMatch = numScale === 1 || Math.floor(Number(id) % (1 / useScale)) === 0;
558
558
  if (reportKey) {
559
559
  sgmCustomReport({
560
560
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
561
561
  msg: '灰度调用',
562
562
  });
563
563
  console.log(
564
564
  `基于KEY[${reportKey}]的灰度调用1次~`,
565
565
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
566
566
  );
567
567
  if (isMatch) {
568
568
  sgmCustomReport({
569
569
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
570
570
  msg: '灰度命中',
571
571
  });
572
572
  console.log(
573
573
  `基于KEY[${reportKey}]的命中1次灰度!`,
574
574
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
575
575
  );
576
576
  }
577
577
  }
578
578
  return isMatch;
579
579
  isJdApp,
580
580
  isWxApp,
581
581
  isIosDevice,
582
582
  isAndroidDevice,
583
583
  isHarmonyDevice,
584
584
  isJdAndIosDevice,
585
585
  isJdAndAndroidDevice,
586
586
  isJdAndHarmonyDevice,
587
587
  isJdAndroidX5Core,
588
588
  isMin,
589
589
  isWxMin,
590
590
  isWxMinAndWxapp,
591
591
  isJdMinAndHarmony,
592
592
  isJdMin,
593
593
  isH5,
594
594
  isH5AndJdShopView,
595
595
  isChartH5,
596
596
  isH5AndJdShopViewNativeScroll,
597
597
  isH5AndJdShopViewH5Scroll,
598
598
  isH5AndJdShopH5CustomScrollView,
599
599
  isH5AndJingGouMini,
600
600
  isWxMiniH5View,
601
601
  urlCookie,
602
602
  sliceArrToChunkList,
603
603
  dealAddress,
604
604
  objectToUrlEncode,
605
605
  parseQueryUrlString,
606
606
  setLowSmallPicUrl,
607
607
  setTaroStorage,
608
608
  getTaroStorageKeyValue,
609
609
  removeTaroStorageKey,
610
610
  clearTaroStorageKey,
611
611
  getAvifSupport,
612
612
  getWebpSupport,
613
613
  getQualityImage,
614
614
  formatCountForUnit as countStringify,
615
615
  getWxAppCookieStr,
616
616
  getSystemInfos,
617
617
  pxTransformFromData,
618
618
  dealShopContentDataAndReport as dealShopContentData,
619
619
  dateFormat,
620
620
  throttle,
621
621
  lodashThrottle,
622
622
  debounce,
623
623
  addHttps,
624
624
  commonShowSuccessToast as showSuccessToast,
625
625
  commonShowFailToast as showFailToast,
626
626
  commonShowNormalToast as showNormalToast,
627
627
  showShopLoading,
628
628
  hideShopLoading,
629
629
  stopNativeScrollEvent,
630
630
  getAppChannelType,
631
631
  formatTabActiveMenuType,
632
632
  filterUrlQueryData,
633
633
  sgmCustomReport,
634
634
  draCustomReport,
635
635
  remoteCustomReport,
636
636
  draInterfaceCustomReport,
637
637
  draBusinessCustomReport,
638
638
  draBusinessCustomLogReport,
639
639
  isMemberPage,
640
640
  getFloorDataToDataDefines,
641
641
  isOpenJdAppUrl,
642
642
  jdOpenAppParams,
643
643
  createJdOpenAppUrl,
644
644
  isEmpty,
645
645
  getJdAppReportPageSource,
646
646
  isAppClassifyPage,
647
647
  isAppHomeForMarketPage,
648
648
  isImageOptimizeEnable,
649
649
  isPc,
650
650
  ipLoc_djd,
651
651
  isTjScence,
652
652
  isH5AdnJxMini,
653
653
  isTjM,
654
654
  isTjJxM,
655
655
  isTJApp,
656
656
  isH5AdnHaoWuJie,
657
657
  tjChannel,
658
658
  dealJdOpenAppData,
659
659
  jdAppVersionCompare,
660
660
  dealNativePixelToCssPixel,
661
661
  isAppStowShop,
662
662
  getSgmCustomCode,
663
663
  handleSgmCodeTaroVersion,
664
664
  isInGrayscale,
665
665
  isIpadDevice,
666
666
  getBorderStyle,
667
667
  isSupportHybridHttpRequest,
668
668
  isLanguageForEn,
669
669
  sColor,
670
670
  draInterfaceDSMCustomReport,
671
671
  isTabletDevice,
672
672
  taroToTransformRoutimePXNumber,
673
673
  updateContainerWidth,
674
674
  isInJdShopView,
675
675
  isDongWebView,
676
676
  isLanguageForHk,
677
677
  languageNowType,