vhall-mini-sdk 0.1.0 → 0.1.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 (280) hide show
  1. package/lib/components/chat/chat-edit/chat-edit.js +7 -4
  2. package/lib/components/chat/chat-list/chat-list.js +1 -1
  3. package/lib/components/live-landscape/live-landscape.js +11 -7
  4. package/lib/components/live-landscape/live-landscape.wxml +2 -2
  5. package/lib/components/live-portrait/live-portrait.js +11 -7
  6. package/lib/components/live-portrait/live-portrait.wxml +3 -3
  7. package/lib/components/live-portrait/live-portrait.wxss +1 -1
  8. package/lib/components/lottery/lottery.wxml +2 -2
  9. package/lib/components/player/components/online-hot/index.js +2 -2
  10. package/lib/components/player/extensions/observers.js +5 -5
  11. package/lib/components/player/player.js +5 -0
  12. package/lib/components/player/player.wxml +3 -3
  13. package/lib/components/product/product-list/product-list.wxml +3 -11
  14. package/lib/components/signin/signin-dialog.js +1 -0
  15. package/lib/sdk/main/index.js +2 -1
  16. package/lib/sdk/player/index.js +1 -1
  17. package/lib/sdk/plugins/InviteCardServer.js +1 -1
  18. package/lib/sdk/plugins/MallRewardServer.js +1 -1
  19. package/lib/sdk/plugins/ProductServer.js +1 -1
  20. package/lib/shared/RequestUtil.js +1 -1
  21. package/lib/shared/logger.js +1 -1
  22. package/package.json +2 -4
  23. package/postinstall.js +21 -51
  24. package/dist/components/chat/chat-edit/chat-edit.js +0 -127
  25. package/dist/components/chat/chat-edit/chat-edit.json +0 -4
  26. package/dist/components/chat/chat-edit/chat-edit.wxml +0 -7
  27. package/dist/components/chat/chat-edit/chat-edit.wxss +0 -1
  28. package/dist/components/chat/chat-item/chat-item.js +0 -253
  29. package/dist/components/chat/chat-item/chat-item.json +0 -3
  30. package/dist/components/chat/chat-item/chat-item.wxml +0 -96
  31. package/dist/components/chat/chat-item/chat-item.wxss +0 -1
  32. package/dist/components/chat/chat-list/chat-list.js +0 -216
  33. package/dist/components/chat/chat-list/chat-list.json +0 -6
  34. package/dist/components/chat/chat-list/chat-list.wxml +0 -9
  35. package/dist/components/chat/chat-list/chat-list.wxss +0 -1
  36. package/dist/components/chat/chat.js +0 -98
  37. package/dist/components/chat/chat.json +0 -7
  38. package/dist/components/chat/chat.wxml +0 -7
  39. package/dist/components/chat/chat.wxss +0 -1
  40. package/dist/components/gift/gift-display/gift-display.js +0 -118
  41. package/dist/components/gift/gift-display/gift-display.json +0 -3
  42. package/dist/components/gift/gift-display/gift-display.wxml +0 -16
  43. package/dist/components/gift/gift-display/gift-display.wxss +0 -1
  44. package/dist/components/gift/gift-sender/gift-sender.js +0 -63
  45. package/dist/components/gift/gift-sender/gift-sender.json +0 -6
  46. package/dist/components/gift/gift-sender/gift-sender.wxml +0 -19
  47. package/dist/components/gift/gift-sender/gift-sender.wxss +0 -1
  48. package/dist/components/introduction/introduction.js +0 -43
  49. package/dist/components/introduction/introduction.json +0 -3
  50. package/dist/components/introduction/introduction.wxml +0 -8
  51. package/dist/components/introduction/introduction.wxss +0 -1
  52. package/dist/components/invite-rank/img/bronze.png +0 -0
  53. package/dist/components/invite-rank/img/gold.png +0 -0
  54. package/dist/components/invite-rank/img/silver.png +0 -0
  55. package/dist/components/invite-rank/index.js +0 -135
  56. package/dist/components/invite-rank/index.json +0 -8
  57. package/dist/components/invite-rank/index.wxml +0 -42
  58. package/dist/components/invite-rank/index.wxss +0 -1
  59. package/dist/components/invite-rank/invite-rank-item.js +0 -12
  60. package/dist/components/invite-rank/invite-rank-item.json +0 -4
  61. package/dist/components/invite-rank/invite-rank-item.wxml +0 -21
  62. package/dist/components/invite-rank/invite-rank-item.wxss +0 -1
  63. package/dist/components/invite-rank/my-invite-detail.js +0 -82
  64. package/dist/components/invite-rank/my-invite-detail.json +0 -7
  65. package/dist/components/invite-rank/my-invite-detail.wxml +0 -27
  66. package/dist/components/invite-rank/my-invite-detail.wxss +0 -1
  67. package/dist/components/invite-rank/util.wxs +0 -21
  68. package/dist/components/live-landscape/live-landscape.js +0 -216
  69. package/dist/components/live-landscape/live-landscape.json +0 -39
  70. package/dist/components/live-landscape/live-landscape.wxml +0 -73
  71. package/dist/components/live-landscape/live-landscape.wxss +0 -1
  72. package/dist/components/live-portrait/live-portrait.js +0 -274
  73. package/dist/components/live-portrait/live-portrait.json +0 -38
  74. package/dist/components/live-portrait/live-portrait.wxml +0 -106
  75. package/dist/components/live-portrait/live-portrait.wxss +0 -1
  76. package/dist/components/lottery/lottery-accept/index.js +0 -249
  77. package/dist/components/lottery/lottery-accept/index.json +0 -4
  78. package/dist/components/lottery/lottery-accept/index.wxml +0 -49
  79. package/dist/components/lottery/lottery-accept/index.wxss +0 -1
  80. package/dist/components/lottery/lottery-history/index.js +0 -36
  81. package/dist/components/lottery/lottery-history/index.json +0 -3
  82. package/dist/components/lottery/lottery-history/index.wxml +0 -28
  83. package/dist/components/lottery/lottery-history/index.wxss +0 -1
  84. package/dist/components/lottery/lottery-shake/lottery-shake.js +0 -328
  85. package/dist/components/lottery/lottery-shake/lottery-shake.json +0 -1
  86. package/dist/components/lottery/lottery-shake/lottery-shake.wxml +0 -52
  87. package/dist/components/lottery/lottery-shake/lottery-shake.wxss +0 -1
  88. package/dist/components/lottery/lottery-slot/lottery-slot.js +0 -230
  89. package/dist/components/lottery/lottery-slot/lottery-slot.json +0 -1
  90. package/dist/components/lottery/lottery-slot/lottery-slot.wxml +0 -62
  91. package/dist/components/lottery/lottery-slot/lottery-slot.wxss +0 -1
  92. package/dist/components/lottery/lottery-wheel/lottery-wheel.js +0 -153
  93. package/dist/components/lottery/lottery-wheel/lottery-wheel.json +0 -4
  94. package/dist/components/lottery/lottery-wheel/lottery-wheel.wxml +0 -91
  95. package/dist/components/lottery/lottery-wheel/lottery-wheel.wxss +0 -1
  96. package/dist/components/lottery/lottery-winners/index.js +0 -101
  97. package/dist/components/lottery/lottery-winners/index.json +0 -4
  98. package/dist/components/lottery/lottery-winners/index.wxml +0 -39
  99. package/dist/components/lottery/lottery-winners/index.wxss +0 -1
  100. package/dist/components/lottery/lottery.js +0 -388
  101. package/dist/components/lottery/lottery.json +0 -11
  102. package/dist/components/lottery/lottery.wxml +0 -78
  103. package/dist/components/lottery/lottery.wxss +0 -1
  104. package/dist/components/lottery/wheel.json +0 -49
  105. package/dist/components/mall-reward/common/reward-card.wxss +0 -0
  106. package/dist/components/mall-reward/duration-icon/index.js +0 -101
  107. package/dist/components/mall-reward/duration-icon/index.json +0 -3
  108. package/dist/components/mall-reward/duration-icon/index.wxml +0 -7
  109. package/dist/components/mall-reward/duration-icon/index.wxss +0 -1
  110. package/dist/components/mall-reward/f-count-down/index.js +0 -61
  111. package/dist/components/mall-reward/f-count-down/index.json +0 -3
  112. package/dist/components/mall-reward/f-count-down/index.wxml +0 -9
  113. package/dist/components/mall-reward/f-count-down/index.wxss +0 -1
  114. package/dist/components/mall-reward/f-empty/index.js +0 -11
  115. package/dist/components/mall-reward/f-empty/index.json +0 -3
  116. package/dist/components/mall-reward/f-empty/index.wxml +0 -8
  117. package/dist/components/mall-reward/f-empty/index.wxss +0 -1
  118. package/dist/components/mall-reward/f-history/index.js +0 -84
  119. package/dist/components/mall-reward/f-history/index.json +0 -4
  120. package/dist/components/mall-reward/f-history/index.wxml +0 -38
  121. package/dist/components/mall-reward/f-history/index.wxss +0 -1
  122. package/dist/components/mall-reward/f-open/index.js +0 -36
  123. package/dist/components/mall-reward/f-open/index.json +0 -3
  124. package/dist/components/mall-reward/f-open/index.wxml +0 -10
  125. package/dist/components/mall-reward/f-open/index.wxss +0 -1
  126. package/dist/components/mall-reward/f-receive/index.js +0 -36
  127. package/dist/components/mall-reward/f-receive/index.json +0 -3
  128. package/dist/components/mall-reward/f-receive/index.wxml +0 -9
  129. package/dist/components/mall-reward/f-receive/index.wxss +0 -1
  130. package/dist/components/mall-reward/index.js +0 -374
  131. package/dist/components/mall-reward/index.json +0 -8
  132. package/dist/components/mall-reward/index.wxml +0 -4
  133. package/dist/components/mall-reward/index.wxss +0 -0
  134. package/dist/components/mall-reward/main-popup/index.js +0 -46
  135. package/dist/components/mall-reward/main-popup/index.json +0 -12
  136. package/dist/components/mall-reward/main-popup/index.wxml +0 -16
  137. package/dist/components/mall-reward/main-popup/index.wxss +0 -1
  138. package/dist/components/player/assets/image/arrow-left.png +0 -0
  139. package/dist/components/player/assets/image/arrow-right.png +0 -0
  140. package/dist/components/player/assets/image/enterFullScreen.png +0 -0
  141. package/dist/components/player/assets/image/exitFullScreen.png +0 -0
  142. package/dist/components/player/assets/image/fullscreen_1.png +0 -0
  143. package/dist/components/player/assets/image/fullscreen_2.png +0 -0
  144. package/dist/components/player/assets/image/pause.png +0 -0
  145. package/dist/components/player/assets/image/pause_1.png +0 -0
  146. package/dist/components/player/assets/image/play.png +0 -0
  147. package/dist/components/player/assets/image/play_1.png +0 -0
  148. package/dist/components/player/assets/image/refresh.png +0 -0
  149. package/dist/components/player/assets/image/refresh_1.png +0 -0
  150. package/dist/components/player/assets/image/subtitle_close.png +0 -0
  151. package/dist/components/player/assets/image/subtitle_default.png +0 -0
  152. package/dist/components/player/assets/image/volume-off.png +0 -0
  153. package/dist/components/player/assets/image/volume-on.png +0 -0
  154. package/dist/components/player/common/config.js +0 -7
  155. package/dist/components/player/common/veComponent.js +0 -4
  156. package/dist/components/player/components/barrage/barrage-canvas.js +0 -488
  157. package/dist/components/player/components/barrage/barrage-dom.js +0 -471
  158. package/dist/components/player/components/barrage/index.js +0 -62
  159. package/dist/components/player/components/barrage/index.json +0 -4
  160. package/dist/components/player/components/barrage/index.wxml +0 -39
  161. package/dist/components/player/components/barrage/index.wxss +0 -1
  162. package/dist/components/player/components/barrage/utils.js +0 -71
  163. package/dist/components/player/components/controls/controls.js +0 -93
  164. package/dist/components/player/components/controls/controls.json +0 -6
  165. package/dist/components/player/components/controls/controls.wxml +0 -60
  166. package/dist/components/player/components/controls/controls.wxss +0 -1
  167. package/dist/components/player/components/danmaku/danmaku.js +0 -23
  168. package/dist/components/player/components/danmaku/danmaku.json +0 -4
  169. package/dist/components/player/components/danmaku/danmaku.wxml +0 -1
  170. package/dist/components/player/components/danmaku/danmaku.wxss +0 -0
  171. package/dist/components/player/components/error/error.js +0 -15
  172. package/dist/components/player/components/error/error.json +0 -3
  173. package/dist/components/player/components/error/error.wxml +0 -6
  174. package/dist/components/player/components/error/error.wxss +0 -1
  175. package/dist/components/player/components/loading/loading.js +0 -9
  176. package/dist/components/player/components/loading/loading.json +0 -3
  177. package/dist/components/player/components/loading/loading.wxml +0 -4
  178. package/dist/components/player/components/loading/loading.wxss +0 -1
  179. package/dist/components/player/components/main/extensions/data.js +0 -8
  180. package/dist/components/player/components/main/extensions/export.js +0 -83
  181. package/dist/components/player/components/main/extensions/methods.js +0 -110
  182. package/dist/components/player/components/main/extensions/observers.js +0 -41
  183. package/dist/components/player/components/main/extensions/props.js +0 -177
  184. package/dist/components/player/components/main/index.js +0 -44
  185. package/dist/components/player/components/main/index.json +0 -4
  186. package/dist/components/player/components/main/index.wxml +0 -7
  187. package/dist/components/player/components/main/index.wxss +0 -1
  188. package/dist/components/player/components/marquee/marquee.js +0 -304
  189. package/dist/components/player/components/marquee/marquee.json +0 -4
  190. package/dist/components/player/components/marquee/marquee.wxml +0 -14
  191. package/dist/components/player/components/marquee/marquee.wxss +0 -1
  192. package/dist/components/player/components/online-hot/assets/line-hot.png +0 -0
  193. package/dist/components/player/components/online-hot/assets/line-user.png +0 -0
  194. package/dist/components/player/components/online-hot/index.js +0 -66
  195. package/dist/components/player/components/online-hot/index.json +0 -3
  196. package/dist/components/player/components/online-hot/index.wxml +0 -15
  197. package/dist/components/player/components/online-hot/index.wxss +0 -1
  198. package/dist/components/player/components/poster/poster.js +0 -12
  199. package/dist/components/player/components/poster/poster.json +0 -3
  200. package/dist/components/player/components/poster/poster.wxml +0 -5
  201. package/dist/components/player/components/poster/poster.wxss +0 -1
  202. package/dist/components/player/components/watermark/watermark.js +0 -52
  203. package/dist/components/player/components/watermark/watermark.json +0 -4
  204. package/dist/components/player/components/watermark/watermark.wxml +0 -8
  205. package/dist/components/player/components/watermark/watermark.wxss +0 -1
  206. package/dist/components/player/extensions/data.js +0 -63
  207. package/dist/components/player/extensions/export.js +0 -325
  208. package/dist/components/player/extensions/methods.js +0 -406
  209. package/dist/components/player/extensions/observers.js +0 -114
  210. package/dist/components/player/extensions/props.js +0 -162
  211. package/dist/components/player/player.js +0 -83
  212. package/dist/components/player/player.json +0 -33
  213. package/dist/components/player/player.wxml +0 -48
  214. package/dist/components/player/player.wxss +0 -1
  215. package/dist/components/praise/praise.js +0 -150
  216. package/dist/components/praise/praise.json +0 -5
  217. package/dist/components/praise/praise.wxml +0 -17
  218. package/dist/components/praise/praise.wxss +0 -1
  219. package/dist/components/product/product-card/product-card.js +0 -109
  220. package/dist/components/product/product-card/product-card.json +0 -3
  221. package/dist/components/product/product-card/product-card.wxml +0 -47
  222. package/dist/components/product/product-card/product-card.wxss +0 -1
  223. package/dist/components/product/product-detail/product-detail.js +0 -127
  224. package/dist/components/product/product-detail/product-detail.json +0 -3
  225. package/dist/components/product/product-detail/product-detail.wxml +0 -57
  226. package/dist/components/product/product-detail/product-detail.wxss +0 -1
  227. package/dist/components/product/product-item/product-item.js +0 -56
  228. package/dist/components/product/product-item/product-item.json +0 -3
  229. package/dist/components/product/product-item/product-item.wxml +0 -35
  230. package/dist/components/product/product-item/product-item.wxss +0 -1
  231. package/dist/components/product/product-list/product-list.js +0 -67
  232. package/dist/components/product/product-list/product-list.json +0 -6
  233. package/dist/components/product/product-list/product-list.wxml +0 -16
  234. package/dist/components/product/product-list/product-list.wxss +0 -1
  235. package/dist/components/product/product-order/product-order.js +0 -394
  236. package/dist/components/product/product-order/product-order.json +0 -3
  237. package/dist/components/product/product-order/product-order.wxml +0 -75
  238. package/dist/components/product/product-order/product-order.wxss +0 -1
  239. package/dist/components/signin/signin-dialog.js +0 -305
  240. package/dist/components/signin/signin-dialog.json +0 -7
  241. package/dist/components/signin/signin-dialog.wxml +0 -19
  242. package/dist/components/signin/signin-dialog.wxss +0 -1
  243. package/dist/components/top-notify/index.js +0 -14
  244. package/dist/components/top-notify/index.json +0 -3
  245. package/dist/components/top-notify/index.wxml +0 -2
  246. package/dist/components/top-notify/index.wxss +0 -1
  247. package/dist/pubComponents/countdown/countdown.js +0 -97
  248. package/dist/pubComponents/countdown/countdown.json +0 -5
  249. package/dist/pubComponents/countdown/countdown.wxml +0 -19
  250. package/dist/pubComponents/countdown/countdown.wxss +0 -1
  251. package/dist/pubComponents/error-page/index.js +0 -146
  252. package/dist/pubComponents/error-page/index.json +0 -5
  253. package/dist/pubComponents/error-page/index.wxml +0 -37
  254. package/dist/pubComponents/error-page/index.wxss +0 -1
  255. package/dist/pubComponents/popup/popup.js +0 -161
  256. package/dist/pubComponents/popup/popup.json +0 -5
  257. package/dist/pubComponents/popup/popup.wxml +0 -17
  258. package/dist/pubComponents/popup/popup.wxss +0 -1
  259. package/dist/pubComponents/tabs/index.js +0 -95
  260. package/dist/pubComponents/tabs/index.json +0 -4
  261. package/dist/pubComponents/tabs/index.wxml +0 -22
  262. package/dist/pubComponents/tabs/index.wxss +0 -1
  263. package/dist/sdk/config/index.js +0 -1
  264. package/dist/sdk/main/index.js +0 -1
  265. package/dist/sdk/player/index.js +0 -1
  266. package/dist/sdk/plugins/ChatServer.js +0 -1
  267. package/dist/sdk/plugins/CustomMenuServer.js +0 -1
  268. package/dist/sdk/plugins/InteractServer.js +0 -1
  269. package/dist/sdk/plugins/InviteCardServer.js +0 -1
  270. package/dist/sdk/plugins/LotteryServer.js +0 -1
  271. package/dist/sdk/plugins/MallRewardServer.js +0 -1
  272. package/dist/sdk/plugins/ProductServer.js +0 -1
  273. package/dist/shared/RequestUtil.js +0 -1
  274. package/dist/shared/SerializableMap.js +0 -1
  275. package/dist/shared/base.server.js +0 -1
  276. package/dist/shared/cacheUtil.js +0 -1
  277. package/dist/shared/dateUtil.js +0 -1
  278. package/dist/shared/logger.js +0 -1
  279. package/dist/shared/mpUtils.js +0 -1
  280. package/dist/shared/utils.js +0 -1
@@ -1,39 +0,0 @@
1
- <view wx:if="{{visible}}" class="lottery-winners-modal">
2
- <view class="lottery-winners-mask" bindtap="close"></view>
3
- <view class="lottery-winners-content">
4
- <view class="lottery-winners-header">
5
- <text class="lottery-winners-title">中奖名单</text>
6
- <view class="lottery-winners-close" bindtap="close">
7
- <icon type="cancel" size="24" color="#ffb029;" />
8
- </view>
9
- </view>
10
- <view class="lottery-winners-body">
11
- <scroll-view class="lottery-winners-list" scroll-y bindscrolltolower="onScrollToLower">
12
- <view class="lottery-winners-list-inner">
13
- <view wx:for="{{winnersList}}" wx:key="lottery_user_id" class="lottery-winners-item" wx:class="{ isSelf: item.win }">
14
- <view class="lottery-winners-rank">
15
- {{index < 9 ? '0' + (index + 1) : (index + 1)}}
16
- </view>
17
- <image class="lottery-winners-avatar" src="{{item.lottery_user_avatar || 'https://cnstatic01.e.vhall.com/common-static/images/default_avatar.png'}}" mode="aspectFill" />
18
- <view class="lottery-winners-nickname">
19
- {{item.lottery_user_nickname }}
20
- </view>
21
- <view class="lottery-winners-prize">
22
- 获得"{{item.lottery_award_name || ''}}"
23
- </view>
24
- </view>
25
- </view>
26
- <view wx:if="{{loading}}" class="lottery-winners-loading">
27
- <text>加载中...</text>
28
- </view>
29
- <view wx:if="{{!loading && !hasMore && winnersList.length > 0}}" class="lottery-winners-end">
30
- <text>没有更多了</text>
31
- </view>
32
- <view wx:if="{{!loading && winnersList.length == 0}}" class="lottery-winners-empty">
33
- <text class="empty-emoji">🙁</text>
34
- <text class="empty-text">当前无中奖用户</text>
35
- </view>
36
- </scroll-view>
37
- </view>
38
- </view>
39
- </view>
@@ -1 +0,0 @@
1
- .lottery-winners-modal{align-items:flex-end;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.lottery-winners-mask{background:rgba(0,0,0,.5);bottom:0;left:0;position:absolute;right:0;top:0}.lottery-winners-content{background:linear-gradient(37.94deg,#fffbe8 3.86%,#fbf0e6 84.36%);border-radius:32rpx 32rpx 0 0;display:flex;flex-direction:column;max-height:70vh;position:relative;width:100%}.lottery-winners-header{align-items:center;display:flex;justify-content:center;padding:30rpx;position:relative}.lottery-winners-title{color:#ad2000;font-size:1.29rem}.lottery-winners-close{align-items:center;display:flex;height:48rpx;justify-content:center;position:absolute;right:30rpx;top:50%;transform:translateY(-50%);width:48rpx}.lottery-winners-body{flex:1;overflow:hidden;padding:0 30rpx 30rpx}.lottery-winners-list{height:55vh}.lottery-winners-list-inner{background:#fff;border-radius:24rpx;overflow:hidden}.lottery-winners-item{align-items:center;border-bottom:1rpx solid #f5f5f5;color:#333;display:flex;padding:30rpx}.lottery-winners-item:last-child{border-bottom:none}.lottery-winners-item.isSelf .lottery-winners-nickname,.lottery-winners-item.isSelf .lottery-winners-prize,.lottery-winners-item.isSelf .lottery-winners-rank{color:#fb2626}.lottery-winners-rank{color:#333;font-size:1.14rem;font-weight:700;margin-right:24rpx;width:60rpx}.lottery-winners-avatar{background:#f5f5f5;border-radius:50%;height:80rpx;margin-right:24rpx;width:80rpx}.lottery-winners-nickname{color:#333;flex:1;font-size:1.14rem}.lottery-winners-prize{color:#333;font-size:1rem}.lottery-winners-end,.lottery-winners-loading{color:#999;font-size:.93rem;padding:30rpx;text-align:center}.lottery-winners-empty{align-items:center;background:#fff;border-radius:24rpx;display:flex;flex-direction:column;height:100%;justify-content:center}.lottery-winners-empty .empty-emoji{font-size:4.29rem;margin-bottom:30rpx}.lottery-winners-empty .empty-text{color:#999;font-size:1.07rem}
@@ -1,388 +0,0 @@
1
- Component({
2
- properties: {
3
- sdkInstance: {
4
- type: Object,
5
- value: null,
6
- },
7
- },
8
- data: {
9
- visible: false,
10
- lotteryStatus: '',
11
- currentLottery: null,
12
- winners: [],
13
- animating: false,
14
- isWinner: false,
15
- prizeName: '',
16
- prizeImage: '',
17
- nickname: '',
18
- winnersList: [],
19
- receiveAwardWay: '',
20
- showReceiveModal: false,
21
- showHistory: false,
22
- showHistoryIcon: false,
23
- lotteryCount: 0,
24
- winLotteryHistory: [],
25
- showAwardPool: false,
26
- awardList: [],
27
- drawAwareFiled: {},
28
- showWinnersList: false,
29
- },
30
- observers: {
31
- sdkInstance: function sdkInstance(_sdkInstance) {
32
- if (!_sdkInstance) return;
33
- this.sdkInstance = _sdkInstance;
34
- this.initSubscribe();
35
- this.initEventListener();
36
- this.initLotteryHistory(); // 初始化抽奖历史相关
37
- },
38
- },
39
- lifetimes: {
40
- attached() {},
41
- detached() {
42
- this.lotteryListUnsub && this.lotteryListUnsub();
43
- this.unlistener && this.unlistener();
44
- this._resultTimer && clearTimeout(this._resultTimer);
45
- },
46
- },
47
- methods: {
48
- // 初始化订阅监听
49
- initSubscribe() {
50
- // 监听 lotteryList 变化
51
- this.lotteryListUnsub && this.lotteryListUnsub();
52
- const store = this.sdkInstance.store;
53
- this.lotteryListUnsub = store.get({
54
- lotteryList: (lotteryList) => {
55
- if (!lotteryList || !Array.isArray(lotteryList)) return;
56
- const winHistory = lotteryList.filter((item) => item.win == 1);
57
- this.setData({
58
- showHistoryIcon: lotteryList.length > 0,
59
- lotteryCount: lotteryList.length,
60
- winLotteryHistory: winHistory,
61
- });
62
- },
63
- });
64
- },
65
- // 初始化事件监听
66
- initEventListener() {
67
- this.unlistener && this.unlistener();
68
- const obj = {};
69
-
70
- // 抽奖开始
71
- obj[this.sdkInstance.EVENT.LOTTERY_START] = (data) => {
72
- data.lotteryStatus = 0;
73
- this.setData({ currentLottery: data });
74
- this.showLottery(data);
75
- };
76
-
77
- // 抽奖结束
78
- obj[this.sdkInstance.EVENT.LOTTERY_END] = (data, curLottery) => {
79
- // console.log('LOTTERY_END', data, curLottery);
80
- // 抽奖已结束,兜底清除该抽奖"进行中"缓存(即便对应组件当时未渲染)
81
- const endedLotteryId = curLottery && (curLottery.lottery_id || curLottery.id);
82
- if (endedLotteryId) wx.removeStorageSync(`lottery_${endedLotteryId}_cache`);
83
- const isWinner = data && data.award_name;
84
- const user = this.sdkInstance?.store?.get('user') || {};
85
- const resultData = {
86
- visible: true,
87
- lotteryStatus: 1,
88
- isWinner: !!isWinner,
89
- prizeName: data?.award_name || '',
90
- prizeImage: data?.image_url || '',
91
- nickname: user.nickname,
92
- receiveAwardWay: data?.receive_award_way,
93
- drawAwareFiled: JSON.parse(curLottery?.draw_aware_filed || '[]')[0],
94
- animating: false,
95
- currentLottery: curLottery,
96
- };
97
- // 通过消息控制动画停止:先平滑减速,过渡结束后再展示结果
98
- const mode = this.data.currentLottery && this.data.currentLottery.img_order;
99
- const wheel = this.selectComponent('#lotteryWheel');
100
- const slot = this.selectComponent('#lotterySlot');
101
- const shake = this.selectComponent('#lotteryShake');
102
- if (mode == 3 && shake && this.data.lotteryStatus === 0) {
103
- // 摇奖机模式:停止弹跳球聚落
104
- const stopped = shake.stop();
105
- if (stopped) {
106
- this._resultTimer && clearTimeout(this._resultTimer);
107
- this._resultTimer = setTimeout(() => {
108
- this.setData(resultData);
109
- }, 2500); // 等摇奖机球停止聚落
110
- return;
111
- }
112
- }
113
- if (mode == 2 && slot && this.data.lotteryStatus === 0) {
114
- // 老虎机模式:停止滚轴,传入是否中奖(决定三轴落定在谢谢参与/恭喜中奖)
115
- const stopped = slot.stop(resultData.isWinner);
116
- if (stopped) {
117
- this._resultTimer && clearTimeout(this._resultTimer);
118
- this._resultTimer = setTimeout(() => {
119
- this.setData(resultData);
120
- }, 3200); // 等老虎机三轴依次停止
121
- return;
122
- }
123
- }
124
- if (mode != 2 && wheel && this.data.lotteryStatus === 0) {
125
- // 转盘模式(默认):平滑减速
126
- const stopped = wheel.stop();
127
- if (stopped) {
128
- this._resultTimer && clearTimeout(this._resultTimer);
129
- this._resultTimer = setTimeout(() => {
130
- this.setData(resultData);
131
- }, 4200); // 略大于减速过渡时长(4s)
132
- return;
133
- }
134
- }
135
- this.setData(resultData);
136
- };
137
-
138
- // 切回前台刷新:重新拉取抽奖列表与历史(时机与后台时长由 sdk 统一控制)
139
- obj[this.sdkInstance.EVENT.FOREGROUND_REFRESH] = () => {
140
- this.initLotteryHistory();
141
- };
142
-
143
- this.unlistener = this.sdkInstance.on(obj);
144
- },
145
-
146
- showLottery(data) {
147
- this.closeAllModals();
148
- this.setData({
149
- visible: true,
150
- lotteryStatus: data.lotteryStatus,
151
- currentLottery: data,
152
- animating: data.lotteryStatus == 0,
153
- });
154
-
155
- if (data.lotteryStatus == 1) {
156
- this.checkWinner(data);
157
- }
158
- },
159
-
160
- // 检查是否中奖
161
- checkWinner(data) {
162
- const user = this.sdkInstance?.store?.get('user') || {};
163
- const currentUserId = user.id || user.uid || user.openid || '';
164
- const winners = data.lottery_winners || '';
165
- const winnerIds = winners.split(',').map((id) => id.trim());
166
- const isWinner = winnerIds.includes(currentUserId);
167
-
168
- let prizeName = '';
169
- let prizeImage = '';
170
- const winnersAward = data.lottery_winners_award || [];
171
-
172
- if (isWinner && winnersAward.length > 0) {
173
- const userAward = winnersAward.find((award) => award.uid == currentUserId);
174
- if (userAward) {
175
- prizeName = userAward.award_name;
176
- prizeImage = userAward.image_url;
177
- }
178
- }
179
-
180
- const winnersList = winnersAward.map((item) => ({
181
- uid: item.uid,
182
- prizeName: item.award_name || item.prize_name || item.name || '',
183
- imageUrl: item.image_url || item.image || item.img || '',
184
- }));
185
-
186
- this.setData({
187
- isWinner,
188
- prizeName,
189
- prizeImage,
190
- winnersList,
191
- animating: false,
192
- });
193
- },
194
-
195
- closeAllModals() {
196
- this.setData({
197
- visible: false,
198
- animating: false,
199
- showReceiveModal: false,
200
- showHistory: false,
201
- showAwardPool: false,
202
- showWinnersList: false,
203
- });
204
- },
205
-
206
- // 用户点击转盘中心按钮触发的抽奖意图(透传,可在此接入服务端抽奖)
207
- onWheelDraw() {
208
- // 当前抽奖由 SDK 的 LOTTERY_START/LOTTERY_END 驱动,点击仅作为动画开始信号;
209
- // 若需要点击即发起服务端抽奖,可在此调用对应接口。
210
- },
211
-
212
- // 转盘减速停止完成回调(结果已在 LOTTERY_END 中延时展示,这里可做兜底)
213
- onWheelStopped() {},
214
-
215
- // 老虎机用户点击抽奖
216
- onSlotDraw() {},
217
-
218
- // 老虎机停止回调
219
- onSlotStopped() {},
220
-
221
- // 摇奖机用户点击抽奖
222
- onShakeDraw() {},
223
-
224
- // 摇奖机停止回调
225
- onShakeStopped() {},
226
-
227
- onClose() {
228
- this.closeAllModals();
229
- },
230
-
231
- receiveAward() {
232
- if (this.data.receiveAwardWay == 4) {
233
- wx.openUrl({
234
- url: this.data.drawAwareFiled.custom_link,
235
- success() {},
236
- fail(err) {
237
- wx.showToast({
238
- title: '请联系主办方',
239
- icon: 'error',
240
- });
241
- },
242
- });
243
- return;
244
- }
245
- this.closeAllModals();
246
- this.setData({ showReceiveModal: true });
247
- },
248
- onReceiveModalClose() {
249
- this.setData({ showReceiveModal: false });
250
- },
251
- onReceiveSuccess() {},
252
-
253
- // 初始化抽奖历史(获取列表 + 监听变化)
254
- initLotteryHistory() {
255
- this.closeAllModals();
256
- // 获取抽奖列表
257
- const lotteryServer = this.sdkInstance.get('lotteryServer');
258
- if (!lotteryServer) return;
259
- const webinarId = this.sdkInstance.store.get('webinarId');
260
- lotteryServer
261
- .getLotteryList({ webinar_id: webinarId || '' })
262
- .then((res) => {
263
- if (res && res.data && res.data.length > 0) {
264
- const ongoingLottery = res.data.find((item) => item.lottery_status == 0);
265
- if (ongoingLottery) {
266
- this.showLottery({
267
- ...ongoingLottery,
268
- lotteryStatus: 0,
269
- });
270
- }
271
- }
272
- })
273
- .catch((err) => {
274
- console.error('获取抽奖列表失败:', err);
275
- });
276
- },
277
-
278
- showLotteryHistory() {
279
- const lotteryServer = this.sdkInstance.get('lotteryServer');
280
- if (!lotteryServer) return;
281
- const webinarId = this.sdkInstance.store.get('webinarId');
282
- lotteryServer
283
- .getLotteryList({ webinar_id: webinarId || '' })
284
- .then((res) => {
285
- if (!res || !res.data) return;
286
- const lotteryList = res.data;
287
- let ongoingLottery = null;
288
- let hasWinner = false;
289
- for (let i = 0, len = lotteryList.length; i < len; i++) {
290
- const item = lotteryList[i];
291
- if (!ongoingLottery && item.lottery_status == 0) {
292
- ongoingLottery = item;
293
- }
294
- if (!hasWinner && item.win == 1) {
295
- hasWinner = true;
296
- }
297
- if (ongoingLottery && hasWinner) break;
298
- }
299
-
300
- this.closeAllModals();
301
-
302
- // 无抽奖数据时不展示任何面板
303
- if (lotteryList.length === 0) return;
304
-
305
- if (ongoingLottery) {
306
- this.setData({
307
- visible: true,
308
- lotteryStatus: 0,
309
- currentLottery: ongoingLottery,
310
- animating: true,
311
- });
312
- } else if (!hasWinner) {
313
- this.setData({
314
- visible: true,
315
- lotteryStatus: 1,
316
- isWinner: false,
317
- });
318
- } else {
319
- this.setData({ showHistory: true });
320
- }
321
- })
322
- .catch((err) => {
323
- console.error('获取抽奖列表失败:', err);
324
- this.closeAllModals();
325
- this.setData({ showHistory: true });
326
- });
327
- },
328
- onHistoryClose() {
329
- this.closeAllModals();
330
- },
331
- onTakeAward(e) {
332
- this.closeAllModals();
333
- this.setData({
334
- showReceiveModal: true,
335
- currentLottery: e.detail,
336
- });
337
- },
338
-
339
- onHistoryItemClick(e) {
340
- const lottery = e.detail;
341
- this.closeAllModals();
342
- this.setData({
343
- visible: true,
344
- lotteryStatus: 1,
345
- isWinner: true,
346
- prizeName: lottery.award_snapshoot?.award_name || '',
347
- prizeImage: lottery.award_snapshoot?.image_url || '',
348
- receiveAwardWay: lottery.receive_award_way,
349
- drawAwareFiled: JSON.parse(lottery?.draw_aware_filed || '[]')[0],
350
- currentLottery: lottery,
351
- });
352
- },
353
-
354
- async showAwardPool() {
355
- const lotteryServer = this.sdkInstance.get('lotteryServer');
356
- if (!lotteryServer) return;
357
- const currentLottery = this.data.currentLottery;
358
- if (!currentLottery) return;
359
-
360
- this.closeAllModals();
361
-
362
- const res = await lotteryServer.getAwardList({
363
- lottery_id: currentLottery.lottery_id || currentLottery.id,
364
- });
365
-
366
- if (res.code == 200) {
367
- this.setData({
368
- awardList: res.data.list || [],
369
- showAwardPool: true,
370
- });
371
- }
372
- },
373
-
374
- onAwardPoolClose() {
375
- this.closeAllModals();
376
- this.setData({ visible: true });
377
- },
378
-
379
- viewWinnersList() {
380
- this.closeAllModals();
381
- this.setData({ showWinnersList: true });
382
- },
383
-
384
- onWinnersClose() {
385
- this.closeAllModals();
386
- },
387
- },
388
- });
@@ -1,11 +0,0 @@
1
- {
2
- "component": true,
3
- "usingComponents": {
4
- "lottery-wheel":"./lottery-wheel/lottery-wheel",
5
- "lottery-slot":"./lottery-slot/lottery-slot",
6
- "lottery-shake":"./lottery-shake/lottery-shake",
7
- "lottery-accept":"./lottery-accept",
8
- "lottery-history":"./lottery-history",
9
- "lottery-winners":"./lottery-winners"
10
- }
11
- }
@@ -1,78 +0,0 @@
1
- <view class="lottery-container mode-{{currentLottery.img_order}} display-{{currentLottery.display_of_results}}" wx:if="{{visible}}" catchtouchmove="true">
2
- <!-- <view class="lottery-overlay" bindtap="onClose"></view> -->
3
- <view class="lottery-modal">
4
- <!-- 抽奖进行中 -->
5
- <view wx:if="{{lotteryStatus==0}}" class="lottery-content">
6
- <!-- 抽奖形式由 img_order 决定:1=转盘,2=老虎机,3=摇奖机 -->
7
- <!-- 摇奖机模式 (img_order == 3) -->
8
- <lottery-shake wx:if="{{currentLottery.img_order == 3}}" id="lotteryShake" lotteryId="{{currentLottery.lottery_id || currentLottery.id}}" remark="{{currentLottery.remark}}" autoplay loop bind:draw="onShakeDraw" bind:stopped="onShakeStopped" />
9
- <!-- 老虎机模式 (img_order == 2) -->
10
- <lottery-slot wx:elif="{{currentLottery.img_order == 2}}" id="lotterySlot" lotteryId="{{currentLottery.lottery_id || currentLottery.id}}" remark="{{currentLottery.remark}}" autoplay loop bind:draw="onSlotDraw" bind:stopped="onSlotStopped" />
11
- <!-- 转盘模式(默认回退:img_order == 1 或其它未识别值都走转盘) -->
12
- <lottery-wheel wx:else id="lotteryWheel" type="{{currentLottery.img_order || 1}}" lotteryId="{{currentLottery.lottery_id || currentLottery.id}}" autoplay loop remark="{{currentLottery.remark}}" bind:draw="onWheelDraw" bind:stopped="onWheelStopped" />
13
- <!-- 新增形式:在对应位置插入 wx:elif="{{currentLottery.img_order == N}}" 分支即可 -->
14
- <view wx:if="{{currentLottery && currentLottery.can_look_award_pool == 1}}" class="lottery-award-pool-btn" bindtap="showAwardPool">
15
- <text class="lottery-award-pool-text">查看奖池 ></text>
16
- </view>
17
- </view>
18
- <!-- 中奖结果展示 -->
19
- <view wx:if="{{lotteryStatus==1}}" class="lottery-content">
20
- <!-- 中奖 -->
21
- <view wx:if="{{isWinner}}" class="lottery-result lottery-win">
22
- <text class="lottery-win-title stroked-text" data-text="恭喜您中奖啦">恭喜您中奖啦</text>
23
- <text class="lottery-win-nickname">{{nickname}}</text>
24
- <view class="prize-card">
25
- <image wx:if="{{prizeImage}}" class="prize-image" src="{{prizeImage}}" mode="aspectFit"></image>
26
- </view>
27
- <text class="prize-name">奖品【{{prizeName}}】</text>
28
- <view wx:if="{{receiveAwardWay&&receiveAwardWay!=3}}" class="receive-btn" bindtap="receiveAward">
29
- {{receiveAwardWay==4?drawAwareFiled.custom_btn_txt:'立即领奖'}}
30
- </view>
31
- <button wx:if="{{receiveAwardWay==3 && currentLottery.publish_winner == 1}}" class="lottery-success-btn" bindtap="viewWinnersList">
32
- 查看中奖名单
33
- </button>
34
- </view>
35
- <!-- 未中奖 -->
36
- <view wx:else class="lottery-result lottery-lose">
37
- <view class="lottery-lose-content">
38
- <text class="lottery-lose-title stroked-text" data-text="谢谢参与">谢谢参与</text>
39
- </view>
40
- <button wx:if="{{currentLottery.publish_winner == 1}}" class="lottery-success-btn" bindtap="viewWinnersList">
41
- 查看中奖名单
42
- </button>
43
- </view>
44
- </view>
45
- <view class="lottery-close-btn" bindtap="onClose">
46
- <icon class="lottery-close-icon" type="cancel" size="{{currentLottery.display_of_results==1?'30':'40'}}" color="#fff" />
47
- </view>
48
- </view>
49
- </view>
50
- <!-- 右下角抽奖历史图标 -->
51
- <view wx:if="{{showHistoryIcon}}" class="lottery-history-icon" bindtap="showLotteryHistory">
52
- <image class="history-icon-img" src="https://cnstatic01.e.vhall.com/common-static/saas-wap/static/img/icon.f669b92c.png" mode="aspectFit"></image>
53
- <view wx:if="{{showHistoryBadge}}" class="history-badge"></view>
54
- </view>
55
- <!-- 领奖弹框组件 -->
56
- <lottery-accept visible="{{showReceiveModal}}" lotteryId="{{currentLottery && (currentLottery.lottery_id || currentLottery.id)}}" sdkInstance="{{sdkInstance}}" publishWinner="{{currentLottery && currentLottery.publish_winner}}" bind:close="onReceiveModalClose" bind:success="onReceiveSuccess" bind:viewWinners="viewWinnersList"></lottery-accept>
57
- <!-- 抽奖历史弹窗组件 -->
58
- <lottery-history visible="{{showHistory}}" winLotteryHistory="{{winLotteryHistory}}" bind:takeAward="onTakeAward" bind:close="onHistoryClose" bind:itemClick="onHistoryItemClick"></lottery-history>
59
- <!-- 奖池底部弹窗 -->
60
- <view wx:if="{{showAwardPool}}" class="award-pool-modal">
61
- <view class="award-pool-mask" bindtap="onAwardPoolClose"></view>
62
- <view class="award-pool-content">
63
- <view class="award-pool-title">奖池奖品</view>
64
- <view class="award-pool-wrap-container">
65
- <scroll-view class="award-pool-wrap" scroll-y>
66
- <view wx:for="{{awardList}}" wx:key="id" class="award-pool-item">
67
- <image class="award-pool-item__img" src="{{item.award_img_url}}" mode="aspectFill" />
68
- <view class="award-pool-item__content">
69
- <p class="award-pool-item-name">{{item.award_name}}</p>
70
- <p class="award-pool-item-desc">{{item.award_desc}}</p>
71
- </view>
72
- </view>
73
- </scroll-view>
74
- </view>
75
- </view>
76
- </view>
77
- <!-- 中奖名单弹窗组件 -->
78
- <lottery-winners visible="{{showWinnersList}}" lotteryId="{{currentLottery && (currentLottery.lottery_id || currentLottery.id)}}" sdkInstance="{{sdkInstance}}" bind:close="onWinnersClose"></lottery-winners>
@@ -1 +0,0 @@
1
- .lottery-container{align-items:center;background:rgba(0,0,0,.7);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.lottery-container.display-1{background:url(https://s1.e.vhall.com/common-static/saas-wap/static/img/popupBg.35704976.png) no-repeat top;background-size:100% 100%;bottom:0;height:auto;top:56.25vw}.lottery-container.display-1 .lottery-close-btn{border-radius:50%;height:60rpx;position:absolute;right:20rpx;top:20rpx;width:60rpx}.lottery-overlay{background:rgba(0,0,0,.7);height:100%;left:0;position:absolute;top:0;width:100%}.lottery-modal{border-radius:24rpx;box-sizing:border-box;flex-direction:column;height:100%;position:relative;width:100%}.lottery-close,.lottery-modal{display:flex;justify-content:center}.lottery-close{align-items:center;height:50rpx;position:absolute;right:20rpx;top:20rpx;width:50rpx}.lottery-close .lottery-close-icon{height:40rpx;width:40rpx}.lottery-header{margin-bottom:30rpx;text-align:center}.lottery-title{color:#fff;font-size:36rpx;font-weight:700;text-shadow:0 2rpx 4rpx rgba(0,0,0,.3)}.lottery-content{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:30rpx}.svga-canvas{height:400rpx;width:400rpx}.lottery-footer{margin-bottom:20rpx;text-align:center}.lottery-join-btn{animation:bounce .6s ease-in-out infinite;background:linear-gradient(135deg,#ffd32a,#ff9f1a);border:none;border-radius:50rpx;box-shadow:0 6rpx 20rpx rgba(255,159,26,.5);color:#d63031;display:inline-block;font-size:32rpx;font-weight:700;padding:20rpx 60rpx}.lottery-join-btn:after{border:none}.lottery-hint{animation:pulse 1s ease-in-out infinite;color:#fff;display:block;font-size:28rpx}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.lottery-winners{background:hsla(0,0%,100%,.95);border-radius:16rpx;max-height:200rpx;padding:20rpx}.lottery-winners-title{color:#d63031;font-size:26rpx;font-weight:700;margin-bottom:15rpx;text-align:center}.lottery-winners-list{max-height:150rpx}.lottery-winner-item{align-items:center;display:flex;padding:10rpx 0}.lottery-winner-item:not(:last-child){border-bottom:1rpx solid #f0f0f0}.lottery-winner-avatar{border-radius:50%;height:50rpx;margin-right:15rpx;width:50rpx}.lottery-winner-name{color:#333;font-size:24rpx}.lottery-close-btn{border-radius:50%;height:80rpx;margin:0rpx auto;width:80rpx}.lottery-close-btn,.lottery-result{align-items:center;display:flex;justify-content:center}.lottery-result{flex-direction:column;padding:40rpx;text-align:center}.lottery-win-title{margin-bottom:20rpx}.stroked-text{color:#fff;font-size:48rpx;font-weight:700;letter-spacing:5px;transform:matrix(.99,0,-.15,1,0,0)}.stroked-text:after,.stroked-text:before{content:attr(data-text);left:0;position:absolute;top:0}.stroked-text:before{-webkit-text-stroke:5px #fb2626;z-index:-1}.stroked-text:after{-webkit-text-stroke:8px #ffecb7;z-index:-2}.lottery-win-nickname{background:linear-gradient(270deg,rgba(255,107,38,0) 5.07%,#ff6b26 25.41%,#f52c03);border-radius:50rpx 0 0 50rpx;color:#fff;display:inline-block;margin-bottom:20rpx;max-width:340rpx;padding:6rpx 40rpx 6rpx 20rpx}.lottery-prize{background:linear-gradient(135deg,#ffd32a,#ff9f1a);border-radius:40rpx;color:#fff;font-size:36rpx;font-weight:700;padding:20rpx 40rpx}.lottery-lose-content{align-items:center;background:url(https://cnstatic01.e.vhall.com/common-static/saas-wap/static/img/lottery-miss.5a1292bf.png) no-repeat 50%;background-size:contain;display:flex;flex-direction:row;height:420rpx;justify-content:center;width:420rpx}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.lottery-animation{padding:40rpx}.lottery-animation,.lottery-spinner{align-items:center;display:flex;justify-content:center}.lottery-spinner{animation:spin 2s linear infinite;background:linear-gradient(135deg,#ffd32a,#ff9f1a);border-radius:50%;box-shadow:0 10rpx 30rpx rgba(255,159,26,.5);height:200rpx;width:200rpx}.lottery-ball{animation:bounce .6s ease-in-out infinite;background:#fff;border-radius:50%;height:60rpx;width:60rpx}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lottery-result{background:url(https://cnstatic01.e.vhall.com/common-static/saas-wap/static/img/lottery-win-gold-coin.1bcfdf22.png) no-repeat 50%;background-size:contain}.lottery-win{align-items:center;display:flex;flex-direction:column;padding:40rpx}.win-icon{animation:bounce .5s ease;font-size:100rpx;margin-bottom:20rpx}.prize-card{align-items:center;background:url(https://cnstatic01.e.vhall.com/common-static/saas-wap/static/img/lottery-win-annulus.ec2c80bd.png) no-repeat 50%;background-size:contain;display:flex;flex-direction:column;margin-top:-100rpx;padding:160rpx}.prize-image{border-radius:140rpx;height:280rpx;width:280rpx}.prize-name{background:linear-gradient(270deg,rgba(255,226,73,0) 2.54%,#ffeb32 32.61%,#ffeb32 59.83%,rgba(255,215,73,0) 94.2%);color:#d63031;display:block;font-size:32rpx;line-height:60rpx;margin-top:-140rpx;width:100%}.lottery-win-hint{color:hsla(0,0%,100%,.8);font-size:26rpx;margin-top:10rpx}.lottery-success-btn,.receive-btn{background:#fb2626;border-radius:50rpx;color:#fff;margin-top:30rpx;padding:20rpx 60rpx}.lottery-success-btn .receive-btn-text,.receive-btn .receive-btn-text{color:#fff;font-size:32rpx}.lottery-history-icon{align-items:center;border-radius:50%;bottom:200rpx;display:flex;justify-content:center;position:fixed;right:40rpx;z-index:500}.lottery-history-icon .history-icon-img{height:70rpx;width:70rpx}.lottery-history-icon .history-badge{background-color:#fb2626;border:4rpx solid #fff;border-radius:50%;height:24rpx;position:absolute;right:-4rpx;top:-4rpx;width:24rpx}.lottery-award-pool-btn .lottery-award-pool-text{color:#fce09e;font-size:32rpx}.award-pool-modal{bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:10001}.award-pool-mask{background:rgba(0,0,0,.5);bottom:0;left:0;position:absolute;right:0;top:0}.award-pool-content{background:linear-gradient(37.94deg,#fffbe8 3.86%,#fbf0e6 84.36%);border-radius:32rpx 32rpx 0 0;max-height:70vh;overflow:hidden;padding:0 40rpx 80rpx;position:relative}.award-pool-title{border-bottom:2rpx solid #f0f0f0;color:#333;font-size:38rpx;font-weight:600;height:100rpx;line-height:100rpx;text-align:center}.award-pool-wrap-container{padding-right:4rpx}.award-pool-wrap{max-height:432rpx;min-height:128rpx}.award-pool-item-wrapper{margin-bottom:24rpx}.award-pool-item{align-items:center;background:#fff;border-radius:24rpx;display:flex;flex-direction:row;padding:28rpx 32rpx}.award-pool-item__img{border:2rpx solid #d9d9d9;border-radius:24rpx;flex-shrink:0;height:160rpx;width:160rpx}.award-pool-item__content{display:flex;flex:1;flex-direction:column;height:100%;justify-content:center;margin-left:30rpx;width:0}.award-pool-item-name{color:#262626;font-size:32rpx;font-weight:500;line-height:48rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.award-pool-item-desc{color:#8c8c8c;font-size:28rpx;line-height:36rpx;margin-top:8rpx}
@@ -1,49 +0,0 @@
1
- {
2
- "v":"5.12.0",
3
- "fr":30,
4
- "ip":0,
5
- "op":60,
6
- "w":300,
7
- "h":300,
8
- "nm":"抽奖转盘",
9
- "ddd":0,
10
- "assets":[],
11
- "layers":[
12
- {
13
- "ddd":0,
14
- "ind":1,
15
- "ty":1,
16
- "nm":"转盘底座",
17
- "sr":1,
18
- "ks":{
19
- "o":{"a":0,"k":100},
20
- "r":{"a":1,"k":[{"t":0,"s":[0]},{"t":60,"s":[720]}]},
21
- "p":{"a":0,"k":[150,150,0]},
22
- "a":{"a":0,"k":[150,150,0]}
23
- },
24
- "shapes":[
25
- {
26
- "ty":"gr",
27
- "it":[
28
- {
29
- "ty":"el",
30
- "s":{"a":0,"k":[150,150]},
31
- "p":{"a":0,"k":[0,0]}
32
- },
33
- {
34
- "ty":"st",
35
- "c":{"a":0,"k":[1,0.8,0.2]},
36
- "o":{"a":0,"k":100},
37
- "w":{"a":0,"k":8}
38
- },
39
- {
40
- "ty":"fl",
41
- "c":{"a":0,"k":[0.95,0.25,0.25]},
42
- "o":{"a":0,"k":100}
43
- }
44
- ]
45
- }
46
- ]
47
- }
48
- ]
49
- }