@conecli/cone-render 0.8.15-taroUpdate.2 → 0.8.15-taroUpdate.3

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 (181) hide show
  1. package/dist/api/index.ts +1 -0
  2. package/dist/assets/fans_price@2x.png +0 -0
  3. package/dist/assets/jsbundles_jdreactshopactivitytab_images_samprice.png +0 -0
  4. package/dist/assets/plus-icon.png +0 -0
  5. package/dist/common/business.ts +1 -0
  6. package/dist/common/const.ts +1 -0
  7. package/dist/common/index.h5.ts +1 -0
  8. package/dist/common/index.jd.ts +1 -0
  9. package/dist/common/index.ts +1 -0
  10. package/dist/common/index.weapp.ts +1 -0
  11. package/dist/common/wxappApi.ts +1 -0
  12. package/dist/components/ErrorBoundary.tsx +1 -0
  13. package/dist/components/base/CommonFloorHead/index.module.scss +146 -0
  14. package/dist/components/base/CommonFloorHead/index.tsx +1 -0
  15. package/dist/components/base/CountDown/index.module.scss +47 -0
  16. package/dist/components/base/CountDown/index.tsx +1 -0
  17. package/dist/components/base/CustomImageLoadRealInfo/index.module.scss +10 -0
  18. package/dist/components/base/CustomImageLoadRealInfo/index.tsx +1 -0
  19. package/dist/components/base/CustomScrollView/index.module.scss +18 -0
  20. package/dist/components/base/CustomScrollView/index.tsx +1 -0
  21. package/dist/components/base/CustomScrollView/index.weapp.tsx +1 -0
  22. package/dist/components/base/Dialog/const.ts +1 -0
  23. package/dist/components/base/Dialog/index.module.scss +112 -0
  24. package/dist/components/base/Dialog/index.tsx +1 -0
  25. package/dist/components/base/Exposure/index.h5.module.scss +8 -0
  26. package/dist/components/base/Exposure/index.h5.tsx +1 -0
  27. package/dist/components/base/Exposure/index.module.scss +11 -0
  28. package/dist/components/base/Exposure/index.tsx +1 -0
  29. package/dist/components/base/ExposureSmart/index.h5.module.scss +8 -0
  30. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -0
  31. package/dist/components/base/ExposureSmart/index.module.scss +11 -0
  32. package/dist/components/base/ExposureSmart/index.tsx +1 -0
  33. package/dist/components/base/ExposureSmart/reporter.tsx +1 -0
  34. package/dist/components/base/InOrOutViewObserver/index.module.scss +0 -0
  35. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -0
  36. package/dist/components/base/InViewRender/const.ts +1 -0
  37. package/dist/components/base/InViewRender/index.module.scss +17 -0
  38. package/dist/components/base/InViewRender/index.tsx +1 -0
  39. package/dist/components/base/InViewRender/index.weapp.tsx +1 -0
  40. package/dist/components/base/JdLoading/index.module.scss +34 -0
  41. package/dist/components/base/JdLoading/index.tsx +1 -0
  42. package/dist/components/base/LazyLayoutLoad/const.ts +1 -0
  43. package/dist/components/base/LazyLayoutLoad/index.module.scss +17 -0
  44. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -0
  45. package/dist/components/base/LazyLayoutLoad/index.weapp.tsx +1 -0
  46. package/dist/components/base/LazyLoadImage/const.ts +1 -0
  47. package/dist/components/base/LazyLoadImage/index.h5.module.scss +24 -0
  48. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -0
  49. package/dist/components/base/LazyLoadImage/index.module.scss +17 -0
  50. package/dist/components/base/LazyLoadImage/index.tsx +1 -0
  51. package/dist/components/base/NetworkDataError/const.ts +1 -0
  52. package/dist/components/base/NetworkDataError/index.module.scss +76 -0
  53. package/dist/components/base/NetworkDataError/index.tsx +1 -0
  54. package/dist/components/base/Price/const.ts +1 -0
  55. package/dist/components/base/Price/index.module.scss +127 -0
  56. package/dist/components/base/Price/index.tsx +1 -0
  57. package/dist/components/base/Skeleton/index.module.scss +14 -0
  58. package/dist/components/base/Skeleton/index.tsx +1 -0
  59. package/dist/components/base/Skeleton/old.tsx +1 -0
  60. package/dist/components/base/Skeleton/svg/const.ts +1 -0
  61. package/dist/components/base/Skeleton/svg/shopHeader.svg +72 -0
  62. package/dist/components/decorate/DecorateFloorModule/index.module.scss +18 -0
  63. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -0
  64. package/dist/components/decorate/EmptyFloorModule/index.module.scss +20 -0
  65. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -0
  66. package/dist/components/decorate/PlaceHolder/index.module.scss +36 -0
  67. package/dist/components/decorate/PlaceHolder/index.tsx +1 -0
  68. package/dist/components/floorItem.tsx +1 -0
  69. package/dist/components/floorItem.weapp.tsx +1 -0
  70. package/dist/components/isv/Floor/index.module.scss +4 -0
  71. package/dist/components/isv/Floor/index.tsx +1 -0
  72. package/dist/config/env.ts +1 -0
  73. package/dist/config/shop.ts +1 -0
  74. package/dist/customHooks/useDocumentVisibilitychange.ts +1 -0
  75. package/dist/interface/common.ts +1 -0
  76. package/dist/interface/component.ts +1 -0
  77. package/dist/interface/index.ts +1 -0
  78. package/dist/interface/jumpEventReport.ts +1 -0
  79. package/dist/interface/service.ts +1 -0
  80. package/dist/interface/utils.ts +1 -0
  81. package/dist/jumpEventReport/base.ts +1 -0
  82. package/dist/jumpEventReport/const.ts +1 -0
  83. package/dist/jumpEventReport/createReportFloorData.ts +1 -0
  84. package/dist/jumpEventReport/index.h5.ts +1 -0
  85. package/dist/jumpEventReport/index.jd.ts +1 -0
  86. package/dist/jumpEventReport/index.ts +1 -0
  87. package/dist/jumpEventReport/index.weapp.ts +1 -0
  88. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -0
  89. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -0
  90. package/dist/jumpEventReport/jumpUrlConfig/index.h5.ts +1 -0
  91. package/dist/jumpEventReport/jumpUrlConfig/index.jd.ts +1 -0
  92. package/dist/jumpEventReport/jumpUrlConfig/index.ts +1 -0
  93. package/dist/jumpEventReport/jumpUrlConfig/index.weapp.ts +1 -0
  94. package/dist/jumpEventReport/logEventConfig.ts +1 -0
  95. package/dist/jumpEventReport/web/report.ts +1 -0
  96. package/dist/jumpEventReport/web/wqshop.report.ts +1 -0
  97. package/dist/jumpEventReport/web.base.ts +1 -0
  98. package/dist/jumpEventReport/web.jd.ts +1 -0
  99. package/dist/jumpEventReport/web.wxapp.ts +1 -0
  100. package/dist/libs/taroAppReport.js +4 -0
  101. package/dist/modules/ContainerFloorList/index.h5.module.scss +43 -0
  102. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -0
  103. package/dist/modules/ContainerFloorList/index.module.scss +17 -0
  104. package/dist/modules/ContainerFloorList/index.tsx +1 -0
  105. package/dist/modules/DecorateContainerFloorList/index.module.scss +34 -0
  106. package/dist/modules/DecorateContainerFloorList/index.tsx +1 -0
  107. package/dist/open/api/device.ts +1 -0
  108. package/dist/open/api/environment.ts +1 -0
  109. package/dist/open/api/global.ts +1 -0
  110. package/dist/open/api/index.ts +1 -0
  111. package/dist/open/api/jump.ts +1 -0
  112. package/dist/open/api/moduleUtil.ts +1 -0
  113. package/dist/open/api/storage.ts +1 -0
  114. package/dist/open/api/track.ts +1 -0
  115. package/dist/open/api/util.ts +1 -0
  116. package/dist/open/components/index.ts +1 -0
  117. package/dist/open/index.ts +1 -0
  118. package/dist/open/modules/index.ts +1 -0
  119. package/dist/sass/app.h5.scss +607 -0
  120. package/dist/sass/app.scss +21 -0
  121. package/dist/sass/base.scss +351 -0
  122. package/dist/sass/decorate.h5.scss +33 -0
  123. package/dist/sass/normalize.scss +261 -0
  124. package/dist/utils/MQ.ts +1 -0
  125. package/dist/utils/connectNativeJsBridge.ts +1 -0
  126. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -0
  127. package/dist/utils/draExceptionAndProfile.ts +1 -0
  128. package/dist/utils/floorDataFindDataDefines.ts +1 -0
  129. package/dist/utils/h5Utils.ts +1 -0
  130. package/dist/utils/index.h5.ts +1 -0
  131. package/dist/utils/index.ts +1 -0
  132. package/dist/utils/index.weapp.ts +1 -0
  133. package/dist/utils/intersectionObserver.ts +1 -0
  134. package/dist/utils/jm-common.js +1 -0
  135. package/dist/utils/jm-cookie.js +1 -0
  136. package/dist/utils/jm-js-agent-jd-profile.js +1 -0
  137. package/dist/utils/utils.ts +1 -0
  138. package/dist/wxapp/api/reportGDT.js +1 -0
  139. package/dist/wxapp/common/JD.js +1 -0
  140. package/dist/wxapp/common/biz.js +1 -0
  141. package/dist/wxapp/common/finger-report/index.js +1 -0
  142. package/dist/wxapp/common/login/login.js +1 -0
  143. package/dist/wxapp/common/navigator.js +1 -0
  144. package/dist/wxapp/common/request/params-sign.js +1 -0
  145. package/dist/wxapp/common/user_info.js +1 -0
  146. package/dist/wxapp/components/nav-bar/nav-bar.js +1 -0
  147. package/dist/wxapp/components/nav-bar/nav-bar.json +5 -0
  148. package/dist/wxapp/components/nav-bar/nav-bar.wxml +0 -0
  149. package/dist/wxapp/components/nav-bar/nav-bar.wxss +0 -0
  150. package/dist/wxapp/libs/sha256.js +191 -0
  151. package/package.json +1 -1
  152. package/dist/app.js +0 -2
  153. package/dist/app.js.LICENSE.txt +0 -29
  154. package/dist/app.json +0 -1
  155. package/dist/app.wxss +0 -1
  156. package/dist/base.wxml +0 -855
  157. package/dist/common.js +0 -1
  158. package/dist/common.wxss +0 -1
  159. package/dist/comp.js +0 -1
  160. package/dist/comp.json +0 -1
  161. package/dist/comp.wxml +0 -2
  162. package/dist/pages/index/ContainerFloorListDemo.js +0 -1
  163. package/dist/pages/index/ContainerFloorListDemo.json +0 -1
  164. package/dist/pages/index/ContainerFloorListDemo.wxml +0 -2
  165. package/dist/pages/index/ContainerFloorListDemo.wxss +0 -1
  166. package/dist/pages/index/DecorateContainerFloorListDemo.js +0 -1
  167. package/dist/pages/index/DecorateContainerFloorListDemo.json +0 -1
  168. package/dist/pages/index/DecorateContainerFloorListDemo.wxml +0 -2
  169. package/dist/pages/index/DecorateContainerFloorListDemo.wxss +0 -1
  170. package/dist/pages/index/decorate.js +0 -1
  171. package/dist/pages/index/decorate.json +0 -1
  172. package/dist/pages/index/decorate.wxml +0 -2
  173. package/dist/pages/index/index.js +0 -1
  174. package/dist/pages/index/index.json +0 -1
  175. package/dist/pages/index/index.wxml +0 -2
  176. package/dist/project.config.json +0 -13
  177. package/dist/runtime.js +0 -1
  178. package/dist/taro.js +0 -1
  179. package/dist/utils.wxs +0 -39
  180. package/dist/vendors.js +0 -2
  181. package/dist/vendors.js.LICENSE.txt +0 -25
@@ -0,0 +1,8 @@
1
+
2
+ .root {
3
+ position: absolute;
4
+ width: 1PX;
5
+ height: 0;
6
+ opacity: 0;
7
+ pointer-events: none;
8
+ }
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
2
  const inViewCallback = () => {
1
3
  console.log('埋点收到进入可视区域的回到啦!', reportData)
2
4
  addReportData(reportData)
3
5
  }
4
6
  exposureStyle.root,
5
7
  className,
6
8
  )} height={'100%'} inViewCallback={inViewCallback}></InViewRender>
@@ -0,0 +1,11 @@
1
+
2
+ .d-floor-exposure {
3
+ position: absolute;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ height: 1px;
8
+ width: 100%;
9
+ opacity: 0;
10
+ pointer-events: none;
11
+ }
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
@@ -0,0 +1 @@
1
+ import track from '../../../open/api/track'
2
  const {arr : arrTask, startWaitTime} = floorTask
1
3
  const isTimeout = startWaitTime != 0 && (Date.now() - startWaitTime >= 1000)
2
4
  const isOverMax = arrTask.length >= 10
3
5
  const hasData = arrTask.length > 0
4
6
  if(hasData && (isTimeout || isOverMax)){
5
7
  const reduceData = connactData(arrTask)
6
8
  track.reportExposureEventLog(reduceData)
7
9
  floorTask.arr = []
8
10
  floorTask.startWaitTime = 0
9
11
  clearTimeout(floorTask.timer)
10
12
  }
11
13
  const initData = JSON.parse(JSON.stringify(arr[0]))
12
14
  initData.jsonParam.logBaseInfo = []
13
15
  initData.jsonParam.etModelInfo.lstms = []
14
16
  return arr.reduce((acc, cur) => {
15
17
  cur.jsonParam.etModelInfo.lstms[0].la_p = cur.jsonParam.logBaseInfo.mInfo.pos
16
18
  acc.jsonParam.logBaseInfo.push(cur.jsonParam.logBaseInfo)
17
19
  acc.jsonParam.etModelInfo.lstms.push(cur.jsonParam.etModelInfo.lstms)
18
20
  return acc
19
21
  }, initData)
20
22
  if(!Array.isArray(data)){
21
23
  console.log('坑位曝光埋点原始数据参类型错误,期望是数组,实际是:', data)
22
24
  return
23
25
  }
24
26
  const [floorData, mInfo, etModelInfo] = data
25
27
  if(floorData && mInfo && etModelInfo){
26
28
  const reportJson = track.getIsvExposureInfo(floorData, mInfo, etModelInfo)
27
29
  const { floorIdx } = floorData
28
30
  if(!task[floorIdx]){
29
31
  task[floorIdx] = {
30
32
  arr: [],
31
33
  startWaitTime: 0,
32
34
  timer : 0
33
35
  }
34
36
  }
35
37
  const floorTask = task[floorIdx]
36
38
  if(floorTask.arr.length === 0){
37
39
  floorTask.startWaitTime = Date.now()
38
40
  }
39
41
  if(reportJson){
40
42
  floorTask.arr.push(reportJson)
41
43
  clearTimeout(floorTask.timer)
42
44
  floorTask.timer = setTimeout(() => {
43
45
  check(floorTask)
44
46
  }, 1000)
45
47
  check(floorTask)
46
48
  }
47
49
  }else{
48
50
  console.log('坑位曝光埋点原始数据参数缺失,期望是[floorData, mInfo, etModelInfo],实际是:', data)
49
51
  }
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
2
  TaroEventType,
1
3
  const {
2
4
  children,
3
5
  inViewCallback,
4
6
  outViewCallback
5
7
  } = props
6
8
  const [componentShowState, setComponentShowState] = useState(false)
7
9
  const componentObserverRef = useRef<HTMLElement | null>(null)
8
10
  const componentShowStateRef = useRef(false)
9
11
  if (isH5AndJdShopView) {
10
12
  useEffect(() => {
11
13
  const latestRes = latestFromNativeMsgStorage[TaroEventType.PAGE_SCROLL] || {}
12
14
  dealPageScrollInfo(latestRes)
13
15
  Taro.eventCenter.on(TaroEventType.PAGE_SCROLL, (res) => {
14
16
  dealPageScrollInfo(res)
15
17
  })
16
18
  }, [])
17
19
  useEffect(() => {
18
20
  if (componentShowState) {
19
21
  typeof inViewCallback === 'function' && inViewCallback()
20
22
  console.log('app=>in可视区域')
21
23
  } else {
22
24
  typeof outViewCallback === 'function' && outViewCallback()
23
25
  console.log('app=>out可视区域')
24
26
  }
25
27
  }, [componentShowState])
26
28
 
27
29
  const handleInOrOutView = (type: boolean) => {
28
30
  componentShowStateRef.current = type
29
31
  setComponentShowState(type)
30
32
  }
31
33
 
32
34
  const dealPageScrollInfo = (res) => {
33
35
  const { displayHeight, offSetY } = res
34
36
  if (componentObserverRef.current) {
35
37
  const eleClientRect =
36
38
  componentObserverRef.current.getBoundingClientRect()
37
39
  const eleOffsetTop = Math.ceil(eleClientRect.top)
38
40
  const eleHeight = Math.ceil(eleClientRect.height)
39
41
  console.log('==========================eleOffsetTop, eleHeight', eleOffsetTop, eleHeight)
40
42
  if (eleOffsetTop >= 0 && eleOffsetTop < displayHeight) {
41
43
  const isOutView = offSetY > eleOffsetTop + eleHeight
42
44
  handleInOrOutView(isOutView ? false : true)
43
45
  } else {
44
46
  const isInView = (offSetY > eleOffsetTop - displayHeight) && (offSetY < eleOffsetTop + eleHeight)
45
47
  handleInOrOutView(isInView ? true : false)
46
48
  }
47
49
  }
48
50
  }
49
51
  return (
50
52
  <View ref={componentObserverRef}>
51
53
  {children}
52
54
  </View>
53
55
  )
54
56
  } else {
55
57
  const rootDom = document.querySelector('#J_shopHomeRoot')
56
58
  console.log('rootDom', rootDom)
57
59
  const { ref, inView } = useInView({
58
60
  threshold: 0,
59
61
  triggerOnce: false,
60
62
  root: rootDom || null,
61
63
  rootMargin: `0px 0px 0px 0px`,
62
64
  })
63
65
  useEffect(() => {
64
66
  if (inView) {
65
67
  typeof inViewCallback === 'function' && inViewCallback()
66
68
  console.log('其他h5=>in可视区域')
67
69
  } else {
68
70
  typeof outViewCallback === 'function' && outViewCallback()
69
71
  console.log('其他h5=>out可视区域')
70
72
  }
71
73
  }, [inView])
72
74
  return (
73
75
  <View ref={ref}>
74
76
  {children}
75
77
  </View>
76
78
  )
77
79
  }
78
80
  children: null,
79
81
  className: '',
80
82
  inViewCallback: null,
81
83
  outViewCallback: null
@@ -0,0 +1 @@
1
+ export const LazyType = {
@@ -0,0 +1,17 @@
1
+
2
+
3
+ .d-mobile-floor-lazy-layout-load,
4
+ .d-app-floor-lazy-layout-load {
5
+ position: relative;
6
+ background: #fff
7
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAeCAMAAABT0xOcAAAAe1BMVEUAAADx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fELy0NOAAAAKHRSTlMApwmfFtYm9rWveHDm70yJHYJaD2k8IeIr6pY2X0HHfsGRZDHdu1XNmO+CqgAAAu9JREFUSMfNlNmymzAQRAchkCUhdrMZbLze/v8vjIRMKN8kRR7ykFNeVIPV9Ewj039P1TR8+eILjL7RdLFFJUO8QMS7ZmyDJvZ0nDYGY+aKKDSJpY3OwWX6uFUEY/peCNEbY4Rp6AABixFYkLQRAK3VOmAjUrawMt1GrfWtXD7rlFF3uiA6HV/p0TF1tBECEVskYe+7qqW08mqT1jruneu21/72JfHoSZ7faj2bJu6mOlgEa3qjEXKeL/ACV1s5YSbqYP6stXUeX2FZnV3wuBSZqnVWqDNCIvaFRzZIiGAIw+CS/1brQCslgOQdUBoW10C2EFJei7AkygOlAnmGeMprJq/NjhZpAIrepOpOte2Oq9EXjupIMVoiXduQ9rTo7KsODhxJYaAGuJPjgRvdkRD1KP9CawRwettyF5SbVLZ49ZbuMJxGW93XisXPKA/oXNMDEReJT6N0OfZ2V4RqX4tFQPbOQbntwrl8oXCOQmu2hVosSr6j5QcW+uvukZJP37CWzL7tQs2lH8B53Nd6eq192N/72mdfa52XhdXPx6zcXKYgikLXbaNP66M27edoAO2X+RkQ9tVRhoWC6IZkCZAbHHa1SgDHNdHDsbrLr0ojKTkfDWp6+WPh1APakMAXbVrb6B/Mn+311zlETJZOCJYChttWxedUIyvyi9bLt+J4IPcLvVYypBNaDG5TguCzmct3rUkAPSdHJRLyDEjXQ6Un3GZQBamxaU09gJg+/r+4gqV0uzixXjBfLnDzixrjhDJGNoDXXqvK76OEJaO3L1bx/FQOCSxqcfJVUWiXCydEPowHeIqaZnf3wmvNRsBiC28ttEnS+1oy+lNtOMVAzayZCwsQ5ESNREgvKKuNjjI/ewNHr9Y4N5Is98llx2U8iOQXcKczhDwAM6ObayaanfWDDwhJcMvpU8ucr6+cPji5a8+UEVMCMNo97tLm0MU2uoMmi850yrc8s8Khyzuj7+Q6U7GPMCt8mOtGljP6l/wAUcBZ6lceL/8AAAAASUVORK5CYII=')
8
+ center center no-repeat;
9
+ }
10
+
11
+ .d-mobile-prestrain-component {
12
+ position: absolute;
13
+ //top: -50vh;
14
+ top: -35vh;
15
+ width: 100%;
16
+ height: 0;
17
+ }
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
2
  TaroEventType,
1
3
  const {
2
4
  children,
3
5
  placeholder,
4
6
  height,
5
7
  inViewCallback
6
8
  } = props
7
9
  const [componentShowState, setComponentShowState] = useState(false)
8
10
  const [componentRenderShowState, setComponentRenderShowState] =
9
11
  useState(false)
10
12
  const componentLazyRef = useRef<HTMLElement | null>(null)
11
13
  const componentShowStateRef = useRef(false)
12
14
  if (isH5AndJdShopView) {
13
15
  useEffect(() => {
14
16
  const latestRes = latestFromNativeMsgStorage[TaroEventType.PAGE_SCROLL] || {}
15
17
  !componentShowStateRef.current && dealPageScrollInfo(latestRes)
16
18
  Taro.eventCenter.on(TaroEventType.PAGE_SCROLL, (res) => {
17
19
  !componentShowStateRef.current && dealPageScrollInfo(res)
18
20
  })
19
21
  }, [])
20
22
  useEffect(() => {
21
23
  if (componentShowState) {
22
24
  typeof inViewCallback === 'function' && inViewCallback()
23
25
  console.log('InViewRender -- 店铺H5 展示啦!')
24
26
  }
25
27
  }, [componentShowState])
26
28
 
27
29
  const dealPageScrollInfo = (res) => {
28
30
  if (componentLazyRef.current) {
29
31
  const eleClientRect =
30
32
  componentLazyRef.current.getBoundingClientRect()
31
33
  const getContainerHeightOffSetY = res.displayHeight + res.offSetY
32
34
  const eleOffsetTop = Math.ceil(eleClientRect.top)
33
35
  if (!componentShowStateRef.current) {
34
36
  if (getContainerHeightOffSetY > eleOffsetTop) {
35
37
  componentShowStateRef.current = true
36
38
  setComponentShowState(true)
37
39
  Taro.nextTick(() => {
38
40
  setComponentRenderShowState(true)
39
41
  })
40
42
  }
41
43
  }
42
44
  }
43
45
  }
44
46
  return (
45
47
  <View
46
48
  ref={componentLazyRef}
47
49
  className={classNames(
48
50
  lazyLayoutLoadStyle['d-app-floor-lazy-layout-load'],
49
51
  'd-app-floor-lazy-load',
50
52
  )}
51
53
  style={{
52
54
  minHeight: `${componentRenderShowState ? 'auto' : height + (typeof height === 'number' ? 'px' : '')
53
55
  }`,
54
56
  backgroundColor: componentRenderShowState
55
57
  ? 'transparent'
56
58
  : '#ffffff',
57
59
  }}
58
60
  >
59
61
  {componentShowState ? children : placeholder}
60
62
  </View>
61
63
  )
62
64
  } else {
63
65
  const rootDom = document.querySelector('#J_shopHomeRoot')
64
66
  const { ref, inView } = useInView({
65
67
  threshold: 0,
66
68
  triggerOnce: true,
67
69
  root: rootDom || null,
68
70
  rootMargin: `0px 0px 0px 0px`,
69
71
  })
70
72
  useEffect(() => {
71
73
  if (inView) {
72
74
  typeof inViewCallback === 'function' && inViewCallback()
73
75
  console.log('InViewRender -- 其它H5 展示啦!')
74
76
  }
75
77
  }, [inView])
76
78
  return (
77
79
  <View
78
80
  ref={ref}
79
81
  style={{
80
82
  minHeight: `${inView ? 'auto' : height + 'px'}`,
81
83
  backgroundColor: 'transparent',
82
84
  }}
83
85
  >
84
86
  {inView ? children : placeholder}
85
87
  </View>
86
88
  )
87
89
  }
88
90
  children: null,
89
91
  placeholder: null,
90
92
  height: 1,
91
93
  className: '',
92
94
  lazyNodeClassName: '',
93
95
  inViewCallback: null,
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
@@ -0,0 +1,34 @@
1
+
2
+ .d-jd-loading{
3
+ position: absolute;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ z-index: 1;
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+ &.d-jd-full-loading{
13
+ position: fixed;
14
+ z-index: 1111111;
15
+ }
16
+ &.d-jd-local-loading{
17
+ position: relative;
18
+ padding: 20px 0;
19
+ }
20
+ &.d-jd-loading-hide{
21
+ display: none;
22
+ }
23
+ .d-loading-image{
24
+ display: inline-block;
25
+ width: 50px;
26
+ height: 50px;
27
+ }
28
+ .d-loading-text{
29
+ margin-left: 10px;
30
+ line-height: 24px;
31
+ font-size: 24px;
32
+ color: #A9A9A9;
33
+ }
34
+ }
@@ -0,0 +1 @@
1
+ import React from 'react'
@@ -0,0 +1 @@
1
+ export const LazyType = {
@@ -0,0 +1,17 @@
1
+
2
+
3
+ .d-mobile-floor-lazy-layout-load,
4
+ .d-app-floor-lazy-layout-load {
5
+ position: relative;
6
+ background: #fff
7
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAeCAMAAABT0xOcAAAAe1BMVEUAAADx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fELy0NOAAAAKHRSTlMApwmfFtYm9rWveHDm70yJHYJaD2k8IeIr6pY2X0HHfsGRZDHdu1XNmO+CqgAAAu9JREFUSMfNlNmymzAQRAchkCUhdrMZbLze/v8vjIRMKN8kRR7ykFNeVIPV9Ewj039P1TR8+eILjL7RdLFFJUO8QMS7ZmyDJvZ0nDYGY+aKKDSJpY3OwWX6uFUEY/peCNEbY4Rp6AABixFYkLQRAK3VOmAjUrawMt1GrfWtXD7rlFF3uiA6HV/p0TF1tBECEVskYe+7qqW08mqT1jruneu21/72JfHoSZ7faj2bJu6mOlgEa3qjEXKeL/ACV1s5YSbqYP6stXUeX2FZnV3wuBSZqnVWqDNCIvaFRzZIiGAIw+CS/1brQCslgOQdUBoW10C2EFJei7AkygOlAnmGeMprJq/NjhZpAIrepOpOte2Oq9EXjupIMVoiXduQ9rTo7KsODhxJYaAGuJPjgRvdkRD1KP9CawRwettyF5SbVLZ49ZbuMJxGW93XisXPKA/oXNMDEReJT6N0OfZ2V4RqX4tFQPbOQbntwrl8oXCOQmu2hVosSr6j5QcW+uvukZJP37CWzL7tQs2lH8B53Nd6eq192N/72mdfa52XhdXPx6zcXKYgikLXbaNP66M27edoAO2X+RkQ9tVRhoWC6IZkCZAbHHa1SgDHNdHDsbrLr0ojKTkfDWp6+WPh1APakMAXbVrb6B/Mn+311zlETJZOCJYChttWxedUIyvyi9bLt+J4IPcLvVYypBNaDG5TguCzmct3rUkAPSdHJRLyDEjXQ6Un3GZQBamxaU09gJg+/r+4gqV0uzixXjBfLnDzixrjhDJGNoDXXqvK76OEJaO3L1bx/FQOCSxqcfJVUWiXCydEPowHeIqaZnf3wmvNRsBiC28ttEnS+1oy+lNtOMVAzayZCwsQ5ESNREgvKKuNjjI/ewNHr9Y4N5Is98llx2U8iOQXcKczhDwAM6ObayaanfWDDwhJcMvpU8ucr6+cPji5a8+UEVMCMNo97tLm0MU2uoMmi850yrc8s8Khyzuj7+Q6U7GPMCt8mOtGljP6l/wAUcBZ6lceL/8AAAAASUVORK5CYII=')
8
+ center center no-repeat;
9
+ }
10
+
11
+ .d-mobile-prestrain-component {
12
+ position: absolute;
13
+ //top: -50vh;
14
+ top: -35vh;
15
+ width: 100%;
16
+ height: 0;
17
+ }
@@ -0,0 +1 @@
1
+ import Taro, { useRouter } from '@tarojs/taro'
2
  floorData = {},
1
3
  const rootDom = document.querySelector('#J_shopHomeRoot')
2
4
  root: rootDom,
3
5
  rootMargin: `0px 0px ${window.innerHeight}px 0px`,
4
6
  const latestRes = latestFromNativeMsgStorage[TaroEventType.PAGE_SCROLL] || {}
5
7
  !componentShowStateRef.current && dealPageScrollInfo(latestRes)
6
8
  useEffect(() => {
7
9
  if(componentShowState === true){
8
10
  console.log('>>>>>>>>>>>>>>>>>>> 楼层【id=' + containerId + '】已经渲染!')
9
11
  const modularPackResult = floorData?.floorExtInfo?.modularPackResult
10
12
  nativePageRegisterMessage(
11
13
  Message_Type.NATIVE_INJECT_JS_FILE,
12
14
  {
13
15
  data: {
14
16
  "bundleUrl": [bundleUrl]
15
17
  },
16
18
  },
17
19
  )
18
20
  }
19
21
  }
20
22
  }, [componentShowState])
21
23
  ref={ref}
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
@@ -0,0 +1 @@
1
+ export const NetWorkTypeQuality = {
@@ -0,0 +1,24 @@
1
+
2
+ .d-lazy-image,
3
+ .d-app-lazy-image {
4
+ //background: #F8F8F8 url("../../resoure/jd_logo_bg.png") center center/50% no-repeat;
5
+ background: #fff
6
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAeCAMAAABT0xOcAAAAe1BMVEUAAADx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fELy0NOAAAAKHRSTlMApwmfFtYm9rWveHDm70yJHYJaD2k8IeIr6pY2X0HHfsGRZDHdu1XNmO+CqgAAAu9JREFUSMfNlNmymzAQRAchkCUhdrMZbLze/v8vjIRMKN8kRR7ykFNeVIPV9Ewj039P1TR8+eILjL7RdLFFJUO8QMS7ZmyDJvZ0nDYGY+aKKDSJpY3OwWX6uFUEY/peCNEbY4Rp6AABixFYkLQRAK3VOmAjUrawMt1GrfWtXD7rlFF3uiA6HV/p0TF1tBECEVskYe+7qqW08mqT1jruneu21/72JfHoSZ7faj2bJu6mOlgEa3qjEXKeL/ACV1s5YSbqYP6stXUeX2FZnV3wuBSZqnVWqDNCIvaFRzZIiGAIw+CS/1brQCslgOQdUBoW10C2EFJei7AkygOlAnmGeMprJq/NjhZpAIrepOpOte2Oq9EXjupIMVoiXduQ9rTo7KsODhxJYaAGuJPjgRvdkRD1KP9CawRwettyF5SbVLZ49ZbuMJxGW93XisXPKA/oXNMDEReJT6N0OfZ2V4RqX4tFQPbOQbntwrl8oXCOQmu2hVosSr6j5QcW+uvukZJP37CWzL7tQs2lH8B53Nd6eq192N/72mdfa52XhdXPx6zcXKYgikLXbaNP66M27edoAO2X+RkQ9tVRhoWC6IZkCZAbHHa1SgDHNdHDsbrLr0ojKTkfDWp6+WPh1APakMAXbVrb6B/Mn+311zlETJZOCJYChttWxedUIyvyi9bLt+J4IPcLvVYypBNaDG5TguCzmct3rUkAPSdHJRLyDEjXQ6Un3GZQBamxaU09gJg+/r+4gqV0uzixXjBfLnDzixrjhDJGNoDXXqvK76OEJaO3L1bx/FQOCSxqcfJVUWiXCydEPowHeIqaZnf3wmvNRsBiC28ttEnS+1oy+lNtOMVAzayZCwsQ5ESNREgvKKuNjjI/ewNHr9Y4N5Is98llx2U8iOQXcKczhDwAM6ObayaanfWDDwhJcMvpU8ucr6+cPji5a8+UEVMCMNo97tLm0MU2uoMmi850yrc8s8Khyzuj7+Q6U7GPMCt8mOtGljP6l/wAUcBZ6lceL/8AAAAASUVORK5CYII=')
7
+ center center no-repeat;
8
+ &.d-lazy-sku-image {
9
+ background-image: url('https://img14.360buyimg.com/imagetools/jfs/t1/222907/25/7012/5824/61c4797cEbcd17c7f/6c76fc71e4fdb5a5.png');
10
+ background-size: cover;
11
+ }
12
+ &.d-load-completed {
13
+ background: none;
14
+ }
15
+ img {
16
+ display: block;
17
+ width: 100%;
18
+ }
19
+ &.d-hide-image-error {
20
+ img {
21
+ opacity: 0;
22
+ }
23
+ }
24
+ }
@@ -0,0 +1 @@
1
+ import React, { useCallback, useEffect, useRef, useState } from 'react'
2
  const [componentShowState, setComponentShowState] = useState(false)
1
3
  const componentLazyRef = useRef<HTMLElement | null>(null)
2
4
  const componentShowStateRef = useRef(false)
3
5
  useEffect(() => {
4
6
  const latestRes = latestFromNativeMsgStorage[TaroEventType.PAGE_SCROLL] || {}
5
7
  !componentShowStateRef.current && dealPageScrollInfo(latestRes)
6
8
  Taro.eventCenter.on(TaroEventType.PAGE_SCROLL, (res) => {
7
9
  !componentShowStateRef.current && dealPageScrollInfo(res)
8
10
  })
9
11
 
10
12
 
11
13
  <View
12
14
  ref={componentLazyRef}
13
15
  className={classNames(
14
16
  imageStyle['d-app-lazy-image'],
15
17
  {
16
18
  [imageStyle['d-lazy-sku-image']]: isSkuImage,
17
19
  },
18
20
  {
19
21
  [imageStyle['d-hide-image-error']]: imageErrState,
20
22
  },
21
23
  {
22
24
  [imageStyle['d-load-completed']]: loadSuccess,
23
25
  },
24
26
  {
25
27
  'd-imag-rendering-crisp-edges':
26
28
  !taroJdBaseInfo.info.pageInfo.isVipShop &&
27
29
  imagRenderingSet,
28
30
  },
29
31
  'J_html5ImageBg',
30
32
  className,
31
33
  )}
32
34
  style={{
33
35
  ...style,
34
36
  ...changeStyleIncludeWidthAndHeightAndBgColor(),
35
37
  >
36
38
  {(componentShowState || lazyLoad === false) && <img
37
39
  src={getQualityImage(
38
40
  imgSrc,
39
41
  taroJdBaseInfo.info.pageInfo.isVipShop
40
42
  ? NetWorkTypeQuality['perfect']
41
43
  : NetWorkTypeQuality[getNetWorkType],
42
44
  )}
43
45
  onLoad={imageLoad.bind(this, imgSrc)}
44
46
  onError={imageError}
45
47
  />}
46
48
  </View>
47
49
  ) : (
48
50
  <Image
49
51
  style={{
50
52
  ...style,
51
53
  ...changeStyleIncludeWidthAndHeightAndBgColor(),
52
54
  }}
53
55
  className={classNames(
54
56
  imageStyle['d-lazy-image'],
55
57
  {
56
58
  [imageStyle['d-lazy-sku-image']]: isSkuImage,
57
59
  },
58
60
  {
59
61
  [imageStyle['d-hide-image-error']]: imageErrState,
60
62
  },
61
63
  {
62
64
  [imageStyle['d-load-completed']]: loadSuccess,
63
65
  },
64
66
  {
65
67
  'd-imag-rendering-crisp-edges': imagRenderingSet,
66
68
  },
67
69
  className,
68
70
  )}
69
71
  src={getQualityImage(
70
72
  imgSrc,
71
73
  NetWorkTypeQuality[getNetWorkType],
72
74
  )}
73
75
  lazyLoad={lazyLoad}
74
76
  onError={imageError}
75
77
  onLoad={imageLoad.bind(this, imgSrc)}
76
78
  {...otherOption}
77
79
  />
78
80
  )
@@ -0,0 +1,17 @@
1
+
2
+ .d-lazy-image {
3
+ //background: #F8F8F8 url("../../resoure/jd_logo_bg.png") center center/50% no-repeat;
4
+ background: #fff
5
+ url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAeCAMAAABT0xOcAAAAe1BMVEUAAADx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fELy0NOAAAAKHRSTlMApwmfFtYm9rWveHDm70yJHYJaD2k8IeIr6pY2X0HHfsGRZDHdu1XNmO+CqgAAAu9JREFUSMfNlNmymzAQRAchkCUhdrMZbLze/v8vjIRMKN8kRR7ykFNeVIPV9Ewj039P1TR8+eILjL7RdLFFJUO8QMS7ZmyDJvZ0nDYGY+aKKDSJpY3OwWX6uFUEY/peCNEbY4Rp6AABixFYkLQRAK3VOmAjUrawMt1GrfWtXD7rlFF3uiA6HV/p0TF1tBECEVskYe+7qqW08mqT1jruneu21/72JfHoSZ7faj2bJu6mOlgEa3qjEXKeL/ACV1s5YSbqYP6stXUeX2FZnV3wuBSZqnVWqDNCIvaFRzZIiGAIw+CS/1brQCslgOQdUBoW10C2EFJei7AkygOlAnmGeMprJq/NjhZpAIrepOpOte2Oq9EXjupIMVoiXduQ9rTo7KsODhxJYaAGuJPjgRvdkRD1KP9CawRwettyF5SbVLZ49ZbuMJxGW93XisXPKA/oXNMDEReJT6N0OfZ2V4RqX4tFQPbOQbntwrl8oXCOQmu2hVosSr6j5QcW+uvukZJP37CWzL7tQs2lH8B53Nd6eq192N/72mdfa52XhdXPx6zcXKYgikLXbaNP66M27edoAO2X+RkQ9tVRhoWC6IZkCZAbHHa1SgDHNdHDsbrLr0ojKTkfDWp6+WPh1APakMAXbVrb6B/Mn+311zlETJZOCJYChttWxedUIyvyi9bLt+J4IPcLvVYypBNaDG5TguCzmct3rUkAPSdHJRLyDEjXQ6Un3GZQBamxaU09gJg+/r+4gqV0uzixXjBfLnDzixrjhDJGNoDXXqvK76OEJaO3L1bx/FQOCSxqcfJVUWiXCydEPowHeIqaZnf3wmvNRsBiC28ttEnS+1oy+lNtOMVAzayZCwsQ5ESNREgvKKuNjjI/ewNHr9Y4N5Is98llx2U8iOQXcKczhDwAM6ObayaanfWDDwhJcMvpU8ucr6+cPji5a8+UEVMCMNo97tLm0MU2uoMmi850yrc8s8Khyzuj7+Q6U7GPMCt8mOtGljP6l/wAUcBZ6lceL/8AAAAASUVORK5CYII=')
6
+ center center no-repeat;
7
+ &.d-lazy-sku-image {
8
+ background-image: url('https://img14.360buyimg.com/imagetools/jfs/t1/222907/25/7012/5824/61c4797cEbcd17c7f/6c76fc71e4fdb5a5.png');
9
+ background-size: cover;
10
+ }
11
+ &.d-load-completed {
12
+ background: none;
13
+ }
14
+ &.d-hide-image-error {
15
+ opacity: 0;
16
+ }
17
+ }
@@ -0,0 +1 @@
1
+ import React, {useCallback, useState} from 'react'
@@ -0,0 +1 @@
1
+ import { NETWORK_DATA_TYPE } from '../../../common/const'
@@ -0,0 +1,76 @@
1
+
2
+ .d-shop-network {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ background: #e5e5e5;
9
+ &.d-shop-network-white {
10
+ background-color: #fff;
11
+ }
12
+ .d-error-content {
13
+ text-align: center;
14
+ }
15
+
16
+ .d-error-tip {
17
+ padding: 24px 0 40px;
18
+ font-size: 28px;
19
+ line-height: 28px;
20
+ color: #cccccc;
21
+ }
22
+
23
+ .d-error-type {
24
+ margin: 0 auto;
25
+ width: 300px;
26
+ height: 300px;
27
+ background-size: contain;
28
+ background-repeat: no-repeat;
29
+ }
30
+
31
+ .d-no-network {
32
+ background-image: url('https://img11.360buyimg.com/imagetools/jfs/t1/183170/9/1300/33060/6088fed9E6fad2c89/ac0c00d4d90ce536.png');
33
+ }
34
+
35
+ .d-data-error {
36
+ background-image: url('https://img11.360buyimg.com/imagetools/jfs/t1/190994/19/325/42717/6088fed0Ec4b502d5/0e8de7593fb0d06c.png');
37
+ }
38
+
39
+ .d-no-data {
40
+ background-image: url('https://img11.360buyimg.com/imagetools/jfs/t1/190994/19/325/42717/6088fed0Ec4b502d5/0e8de7593fb0d06c.png');
41
+ }
42
+ .d-no-data-tip-1 {
43
+ background-image: url('https://img14.360buyimg.com/imagetools/jfs/t1/152550/40/8432/21643/5fc9cae0E5391a506/523da679188ff687.png');
44
+ }
45
+ .d-no-network-err-tip {
46
+ background-image: url('https://img14.360buyimg.com/imagetools/jfs/t1/146556/1/17745/7493/5fd1e62dE86e86669/96f5c91befa8e991.png');
47
+ }
48
+
49
+ .d-opt-btn {
50
+ padding: 0;
51
+ width: 160px;
52
+ height: 64px;
53
+ line-height: 64px;
54
+ font-size: 24px;
55
+ color: #fa2c19;
56
+ border: 1PX solid #fa2c19;
57
+ box-sizing: border-box;
58
+ border-radius: 48px;
59
+ &:active {
60
+ opacity: 0.8;
61
+ }
62
+ }
63
+ }
64
+
65
+ .d-network-jd-shop-view {
66
+ min-height: 500px;
67
+ }
68
+
69
+ .d-shop-network-part {
70
+ position: absolute;
71
+ min-height: 500px;
72
+ background: #f2f2f2;
73
+ .d-error-tip {
74
+ color: #999;
75
+ }
76
+ }
@@ -0,0 +1 @@
1
+ import { Button, View } from '@tarojs/components'
2
  backgroundColorWhite,
@@ -0,0 +1 @@
1
+ export const MemberPriceIcon = {