xiaoe_mp_npm 0.5.48 → 1.0.0-live10

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 (143) hide show
  1. package/miniprogram_dist/GoodsItem/index.json +6 -6
  2. package/miniprogram_dist/Task/TaskBubble/index.js +117 -0
  3. package/miniprogram_dist/Task/TaskBubble/index.json +4 -0
  4. package/miniprogram_dist/Task/TaskBubble/index.scss +125 -0
  5. package/miniprogram_dist/Task/TaskBubble/index.wxml +27 -0
  6. package/miniprogram_dist/Task/TaskBubble/index.wxss +289 -0
  7. package/miniprogram_dist/Task/TaskIcon/index.js +29 -0
  8. package/miniprogram_dist/Task/TaskIcon/index.json +4 -0
  9. package/miniprogram_dist/Task/TaskIcon/index.scss +70 -0
  10. package/miniprogram_dist/Task/TaskIcon/index.wxml +5 -0
  11. package/miniprogram_dist/Task/TaskIcon/index.wxss +130 -0
  12. package/miniprogram_dist/Task/TaskPopup/component/RewardList/index.js +36 -0
  13. package/miniprogram_dist/Task/TaskPopup/component/RewardList/index.json +6 -0
  14. package/miniprogram_dist/Task/TaskPopup/component/RewardList/index.scss +0 -0
  15. package/miniprogram_dist/Task/TaskPopup/component/RewardList/index.wxml +18 -0
  16. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.js +185 -0
  17. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.json +5 -0
  18. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.scss +135 -0
  19. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.wxml +43 -0
  20. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.wxs +8 -0
  21. package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.wxss +374 -0
  22. package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.js +126 -0
  23. package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.json +7 -0
  24. package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.scss +63 -0
  25. package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.wxml +38 -0
  26. package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.wxss +98 -0
  27. package/miniprogram_dist/Task/TaskPopup/component/TaskType/index.js +55 -0
  28. package/miniprogram_dist/Task/TaskPopup/component/TaskType/index.json +9 -0
  29. package/miniprogram_dist/Task/TaskPopup/component/TaskType/index.scss +60 -0
  30. package/miniprogram_dist/Task/TaskPopup/component/TaskType/index.wxml +42 -0
  31. package/miniprogram_dist/Task/TaskPopup/component/TaskType/index.wxss +98 -0
  32. package/miniprogram_dist/Task/TaskPopup/index.js +103 -0
  33. package/miniprogram_dist/Task/TaskPopup/index.json +8 -0
  34. package/miniprogram_dist/Task/TaskPopup/index.scss +105 -0
  35. package/miniprogram_dist/Task/TaskPopup/index.wxml +63 -0
  36. package/miniprogram_dist/Task/TaskPopup/index.wxss +274 -0
  37. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.js +52 -0
  38. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.json +6 -0
  39. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.scss +91 -0
  40. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxml +53 -0
  41. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxs +48 -0
  42. package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxss +187 -0
  43. package/miniprogram_dist/Task/taskReceivePopup/index.js +30 -0
  44. package/miniprogram_dist/Task/taskReceivePopup/index.json +11 -0
  45. package/miniprogram_dist/Task/taskReceivePopup/index.wxml +17 -0
  46. package/miniprogram_dist/Task/taskReceivePopup/index.wxss +1 -0
  47. package/miniprogram_dist/Task/taskReceivePopup/integral/index.js +37 -0
  48. package/miniprogram_dist/Task/taskReceivePopup/integral/index.json +6 -0
  49. package/miniprogram_dist/Task/taskReceivePopup/integral/index.scss +60 -0
  50. package/miniprogram_dist/Task/taskReceivePopup/integral/index.wxml +17 -0
  51. package/miniprogram_dist/Task/taskReceivePopup/integral/index.wxss +94 -0
  52. package/package.json +1 -1
  53. package/src/AliveInvite/LiveRoomVertical/index.wxss +252 -252
  54. package/src/CollectionAddress/index.wxss +5 -5
  55. package/src/ConfirmOrder/components/AddressEdit/index.wxss +120 -120
  56. package/src/ConfirmOrder/components/AddressManage/index.wxss +98 -98
  57. package/src/ConfirmOrder/components/AddressSelect/index.wxss +67 -67
  58. package/src/ConfirmOrder/components/ChoosePicker/index.wxss +18 -18
  59. package/src/ConfirmOrder/components/GoodsInfo/components/GoodsCommerce/components/entityGiftList/index.wxss +45 -45
  60. package/src/ConfirmOrder/components/GoodsInfo/components/GoodsCommerce/components/entityItem/index.wxss +100 -100
  61. package/src/ConfirmOrder/components/GoodsInfo/components/GoodsCommerce/index.wxss +55 -55
  62. package/src/ConfirmOrder/components/GoodsInfo/components/ImageData/index.wxss +13 -13
  63. package/src/ConfirmOrder/components/Header/index.wxss +26 -26
  64. package/src/ConfirmOrder/components/IntegralSelect/componenets/integralTips/index.wxss +85 -85
  65. package/src/ConfirmOrder/components/Invoice/components/InvoiceSelect/index.wxss +155 -155
  66. package/src/ConfirmOrder/components/Invoice/components/InvoiceTip/index.wxss +51 -51
  67. package/src/ConfirmOrder/components/ModeSelect/index.wxss +44 -44
  68. package/src/ConfirmOrder/components/PickupSelect/index.wxss +22 -22
  69. package/src/ConfirmOrder/components/SelectSite/index.wxss +82 -82
  70. package/src/ConfirmOrder/components/Shipper/index.wxss +76 -76
  71. package/src/ConfirmOrder/components/ShipperEdit/index.wxss +78 -78
  72. package/src/ConfirmOrder/components/WechatAddress/index.wxss +22 -22
  73. package/src/ConfirmOrder/index.wxss +5 -5
  74. package/src/CouponList/couponMsg/index.wxss +3 -3
  75. package/src/CustomPopup/index.wxss +22 -22
  76. package/src/GoodsItem/index.json +6 -6
  77. package/src/LiveGoodsList/index.wxss +230 -230
  78. package/src/PayComplete/Components/CouponItem/index.wxss +122 -122
  79. package/src/PayComplete/Components/Header/index.wxss +27 -27
  80. package/src/PayComplete/Components/LeadGroup/index.wxss +33 -33
  81. package/src/PayComplete/Components/PayGifts/index.wxss +157 -157
  82. package/src/PayComplete/Components/PayState/earnIntegral/index.wxss +23 -23
  83. package/src/PayComplete/Components/PayState/index.wxss +20 -20
  84. package/src/PayComplete/index.wxss +27 -27
  85. package/src/PayModule/wechatLoading/index.wxss +57 -57
  86. package/src/Recommend/index.wxss +110 -110
  87. package/src/Sku/Header/index.wxss +27 -27
  88. package/src/Sku/goods-info/index.wxss +52 -52
  89. package/src/Sku/index/index.wxss +52 -52
  90. package/src/Sku/row-item/index.wxss +50 -50
  91. package/src/Sku/step/index.wxss +11 -11
  92. package/src/Task/TaskBubble/index.js +117 -0
  93. package/src/Task/TaskBubble/index.json +4 -0
  94. package/src/Task/TaskBubble/index.scss +125 -0
  95. package/src/Task/TaskBubble/index.wxml +27 -0
  96. package/src/Task/TaskBubble/index.wxss +289 -0
  97. package/src/Task/TaskIcon/index.js +29 -0
  98. package/src/Task/TaskIcon/index.json +4 -0
  99. package/src/Task/TaskIcon/index.scss +70 -0
  100. package/src/Task/TaskIcon/index.wxml +5 -0
  101. package/src/Task/TaskIcon/index.wxss +130 -0
  102. package/src/Task/TaskPopup/component/RewardList/index.js +36 -0
  103. package/src/Task/TaskPopup/component/RewardList/index.json +6 -0
  104. package/src/Task/TaskPopup/component/RewardList/index.scss +0 -0
  105. package/src/Task/TaskPopup/component/RewardList/index.wxml +18 -0
  106. package/src/Task/TaskPopup/component/TaskItem/index.js +185 -0
  107. package/src/Task/TaskPopup/component/TaskItem/index.json +5 -0
  108. package/src/Task/TaskPopup/component/TaskItem/index.scss +135 -0
  109. package/src/Task/TaskPopup/component/TaskItem/index.wxml +43 -0
  110. package/src/Task/TaskPopup/component/TaskItem/index.wxs +8 -0
  111. package/src/Task/TaskPopup/component/TaskItem/index.wxss +374 -0
  112. package/src/Task/TaskPopup/component/TaskList/index.js +126 -0
  113. package/src/Task/TaskPopup/component/TaskList/index.json +7 -0
  114. package/src/Task/TaskPopup/component/TaskList/index.scss +63 -0
  115. package/src/Task/TaskPopup/component/TaskList/index.wxml +38 -0
  116. package/src/Task/TaskPopup/component/TaskList/index.wxss +98 -0
  117. package/src/Task/TaskPopup/component/TaskType/index.js +55 -0
  118. package/src/Task/TaskPopup/component/TaskType/index.json +9 -0
  119. package/src/Task/TaskPopup/component/TaskType/index.scss +60 -0
  120. package/src/Task/TaskPopup/component/TaskType/index.wxml +42 -0
  121. package/src/Task/TaskPopup/component/TaskType/index.wxss +98 -0
  122. package/src/Task/TaskPopup/index.js +103 -0
  123. package/src/Task/TaskPopup/index.json +8 -0
  124. package/src/Task/TaskPopup/index.scss +105 -0
  125. package/src/Task/TaskPopup/index.wxml +63 -0
  126. package/src/Task/TaskPopup/index.wxss +1 -0
  127. package/src/Task/taskReceivePopup/coupon/index.js +52 -0
  128. package/src/Task/taskReceivePopup/coupon/index.json +6 -0
  129. package/src/Task/taskReceivePopup/coupon/index.scss +91 -0
  130. package/src/Task/taskReceivePopup/coupon/index.wxml +53 -0
  131. package/src/Task/taskReceivePopup/coupon/index.wxs +48 -0
  132. package/src/Task/taskReceivePopup/coupon/index.wxss +187 -0
  133. package/src/Task/taskReceivePopup/index.js +30 -0
  134. package/src/Task/taskReceivePopup/index.json +11 -0
  135. package/src/Task/taskReceivePopup/index.wxml +17 -0
  136. package/src/Task/taskReceivePopup/index.wxss +1 -0
  137. package/src/Task/taskReceivePopup/integral/index.js +37 -0
  138. package/src/Task/taskReceivePopup/integral/index.json +6 -0
  139. package/src/Task/taskReceivePopup/integral/index.scss +60 -0
  140. package/src/Task/taskReceivePopup/integral/index.wxml +17 -0
  141. package/src/Task/taskReceivePopup/integral/index.wxss +94 -0
  142. package/src/common/css/theme.wxss +16 -16
  143. package/src/miniprogram_npm/miniprogram-computed/index.js +0 -1
@@ -1,6 +1,6 @@
1
- {
2
- "component": true,
3
- "usingComponents": {
4
- "van-switch": "@vant/weapp/switch/index"
5
- }
6
- }
1
+ {
2
+ "component": true,
3
+ "usingComponents": {
4
+ "van-switch": "@vant/weapp/switch/index"
5
+ }
6
+ }
@@ -0,0 +1,117 @@
1
+ const computedBehavior = require('miniprogram-computed').behavior
2
+ Component({
3
+ behaviors: [computedBehavior],
4
+ /**
5
+ * 组件的属性列表
6
+ */
7
+ properties: {
8
+ taskMsg: {
9
+ type: Object,
10
+ value: {},
11
+ },
12
+ },
13
+
14
+ /**
15
+ * 组件的初始数据
16
+ */
17
+ data: {
18
+ animationData: {},
19
+ taskIcon: {
20
+ 1: "https://commonresource-1252524126.cdn.xiaoeknow.com/image/lopitz1y0v93.png",
21
+ 2: "https://commonresource-1252524126.cdn.xiaoeknow.com/image/lopitz1w0t4k.png"
22
+ }
23
+ },
24
+
25
+ computed: {
26
+ // 奖品类型
27
+ rewardValue(data){
28
+ return data.taskMsg.live_task?.task_type === 1? this.convertMinutesToHoursAndMinutes(data.taskMsg.live_task?.reward_value) : ['', '发表评论', '转发直播间', '完成点赞'][data.taskMsg.live_task?.task_condition] || ''
29
+ },
30
+ // 奖品icon
31
+ taskIconImg(data){
32
+ return data.taskIcon[data.taskMsg.live_task?.reward_type]
33
+ },
34
+ // 奖品数量
35
+ prizeNum(data){
36
+ return data.taskMsg.live_task?.reward_type === 1? data.taskMsg.live_task?.reward_value: data.taskMsg.coupon_list?.length
37
+ }
38
+ },
39
+
40
+ lifetimes: {},
41
+
42
+ /**
43
+ * 组件的方法列表
44
+ */
45
+ methods: {
46
+ // 气泡点击事件
47
+ bubbleClick(){
48
+ this.triggerEvent("bubbleClick")
49
+ },
50
+
51
+ // 显示气泡动画
52
+ showBubble() {
53
+ const animation = wx.createAnimation({
54
+ duration: 1500,
55
+ timingFunction: 'ease',
56
+ })
57
+
58
+ animation.translateX(0).step()
59
+
60
+ this.setData({
61
+ animationData: animation.export(),
62
+ })
63
+ setTimeout(() => {
64
+ this.triggerEvent('afterEnter')
65
+ }, 1500)
66
+ },
67
+
68
+ // 隐藏气泡动画
69
+ hideBubble() {
70
+ const animation = wx.createAnimation({
71
+ duration: 1500,
72
+ timingFunction: 'ease',
73
+ })
74
+
75
+ animation.opacity(0).step()
76
+
77
+ this.setData({
78
+ animationData: animation.export(),
79
+ })
80
+ // 在动画结束后调用还原元素位置的函数
81
+ setTimeout(() => {
82
+ this.restoreElement()
83
+ this.triggerEvent('afterLeave')
84
+ }, 1500) // 设置延时与动画时长一致
85
+ },
86
+
87
+ // 重置气泡位置
88
+ restoreElement() {
89
+ const animation = wx.createAnimation({
90
+ duration: 0, // 立即执行,无过渡效果
91
+ })
92
+
93
+ animation.translateX(-500).opacity(1).step()
94
+
95
+ this.setData({
96
+ animationData: animation.export(),
97
+ })
98
+ },
99
+
100
+ convertMinutesToHoursAndMinutes(minutes) {
101
+ if (isNaN(minutes) || minutes < 0) {
102
+ return;
103
+ }
104
+
105
+ const hours = Math.floor(minutes / 60);
106
+ const remainingMinutes = minutes % 60;
107
+
108
+ if (hours === 0) {
109
+ return `达${remainingMinutes}分钟`;
110
+ } else if (remainingMinutes === 0) {
111
+ return `达${hours}小时`;
112
+ } else {
113
+ return `达${hours}小时${remainingMinutes}分钟`;
114
+ }
115
+ },
116
+ },
117
+ })
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "usingComponents": {}
4
+ }
@@ -0,0 +1,125 @@
1
+ @function vmin($rpx) {
2
+ @return #{$rpx * 100 / $deviceWidth}vmin;
3
+ }
4
+
5
+ $deviceWidth: 750;
6
+
7
+ @mixin barrage-container {
8
+ color: #fff;
9
+ font-size: vmin(20);
10
+ .barrage-wrap {
11
+ display: flex;
12
+ .barrage-item {
13
+ position: relative;
14
+ background: linear-gradient(270deg, #ff781f00 0%, #ff8619c7 21.42%, #ff9a0feb 46.71%, #FC0 100%);
15
+ height: vmin(64);
16
+ font-size: vmin(24);
17
+ line-height: vmin(64);
18
+ border-radius: vmin(92);
19
+ transition: 0.3s;
20
+ transform: translateX(vmin(-500));
21
+
22
+ .barrage-content {
23
+ display: flex;
24
+ align-items: center;
25
+ }
26
+
27
+ .task-completion-icon {
28
+ width: vmin(48);
29
+ height: vmin(48);
30
+ border-radius: 50%;
31
+ margin-left: vmin(10);
32
+ margin-right: vmin(8);
33
+ flex-shrink: 0;
34
+ }
35
+ .task-type {
36
+ display: flex;
37
+ flex-direction: column;
38
+ margin-right: vmin(8);
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
41
+ white-space: nowrap;
42
+ view {
43
+ width: 100%;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ }
48
+ }
49
+ .prize-icon {
50
+ width: vmin(56);
51
+ height: vmin(56);
52
+ display: flex;
53
+ justify-content: center;
54
+ align-items: center;
55
+ margin: 0 vmin(8);
56
+ }
57
+ .prize-num {
58
+ color: #FFF5CC;
59
+ font-weight: 500;
60
+ margin-right: vmin(8);
61
+ }
62
+ .right-arrow-icon{
63
+ height: vmin(40);
64
+ width: vmin(40);
65
+ margin-right: vmin(52);
66
+ }
67
+ &.barrage-item-show {
68
+ animation: taskFadeInLeft 1.5s both;
69
+ }
70
+ &.barrage-item-hide {
71
+ animation: taskFadeOut 1.5s both;
72
+ }
73
+ }
74
+ @keyframes taskFadeInLeft {
75
+ 0% {
76
+ transform: translateX(vmin(-500));
77
+ opacity: 1;
78
+ }
79
+ 100% {
80
+ transform: translateX(0);
81
+ opacity: 1;
82
+ }
83
+ }
84
+ @keyframes taskFadeOut {
85
+ 0% {
86
+ transform: translateX(0);
87
+ opacity: 1;
88
+ }
89
+ 100% {
90
+ transform: translateX(0);
91
+ opacity: 0;
92
+ }
93
+ }
94
+ @keyframes moveRight {
95
+ from {
96
+ transform: translateX(-100%);
97
+ }
98
+ to {
99
+ transform: translateX(0);
100
+ }
101
+ }
102
+ }
103
+ }
104
+
105
+ .barrage-container {
106
+ @include barrage-container;
107
+ }
108
+
109
+ // 竖屏pad
110
+ @media screen and (min-width: 768px) and (orientation: portrait) {
111
+ $deviceWidth: 1536 !global;
112
+
113
+ .barrage-container {
114
+ @include barrage-container;
115
+ }
116
+ }
117
+
118
+ // 横屏pad
119
+ @media screen and (min-height: 768px) and (orientation: landscape) {
120
+ $deviceWidth: 1536 !global;
121
+
122
+ .barrage-container {
123
+ @include barrage-container;
124
+ }
125
+ }
@@ -0,0 +1,27 @@
1
+ <view class="barrage-container" catch:tap="bubbleClick">
2
+ <view class="barrage-wrap">
3
+ <view class="barrage-item" animation="{{animationData}}">
4
+ <view class="barrage-content">
5
+ <image
6
+ class="task-completion-icon"
7
+ src="https://commonresource-1252524126.cdn.xiaoeknow.com/image/lopitz1y0c73.png"
8
+ alt
9
+ />
10
+ <view wx:if="{{taskMsg.live_task.task_type === 1}}" class="task-type">观看时长</view>
11
+ <view>{{ rewardValue }}</view>
12
+ <image
13
+ class="prize-icon"
14
+ src="{{taskIconImg}}"
15
+ alt="奖励"
16
+ />
17
+ <view class="prize-num">+{{ prizeNum }}</view>
18
+ <image
19
+ class="right-arrow-icon"
20
+ src="https://commonresource-1252524126.cdn.xiaoeknow.com/image/lopitz1k0dzj.png"
21
+ alt
22
+ />
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </view>
27
+
@@ -0,0 +1,289 @@
1
+ .barrage-container {
2
+ color: #fff;
3
+ font-size: 2.66667vmin;
4
+ }
5
+ .barrage-container .barrage-wrap {
6
+ display: flex;
7
+ }
8
+ .barrage-container .barrage-wrap .barrage-item {
9
+ position: relative;
10
+ background: linear-gradient(270deg, #ff781f00 0%, #ff8619c7 21.42%, #ff9a0feb 46.71%, #FC0 100%);
11
+ height: 8.53333vmin;
12
+ font-size: 3.2vmin;
13
+ line-height: 8.53333vmin;
14
+ border-radius: 12.26667vmin;
15
+ transition: 0.3s;
16
+ transform: translateX(-66.66667vmin);
17
+ }
18
+ .barrage-container .barrage-wrap .barrage-item .barrage-content {
19
+ display: flex;
20
+ align-items: center;
21
+ }
22
+ .barrage-container .barrage-wrap .barrage-item .task-completion-icon {
23
+ width: 6.4vmin;
24
+ height: 6.4vmin;
25
+ border-radius: 50%;
26
+ margin-left: 1.33333vmin;
27
+ margin-right: 1.06667vmin;
28
+ flex-shrink: 0;
29
+ }
30
+ .barrage-container .barrage-wrap .barrage-item .task-type {
31
+ display: flex;
32
+ flex-direction: column;
33
+ margin-right: 1.06667vmin;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ }
38
+ .barrage-container .barrage-wrap .barrage-item .task-type view {
39
+ width: 100%;
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ white-space: nowrap;
43
+ }
44
+ .barrage-container .barrage-wrap .barrage-item .prize-icon {
45
+ width: 7.46667vmin;
46
+ height: 7.46667vmin;
47
+ display: flex;
48
+ justify-content: center;
49
+ align-items: center;
50
+ margin: 0 1.06667vmin;
51
+ }
52
+ .barrage-container .barrage-wrap .barrage-item .prize-num {
53
+ color: #FFF5CC;
54
+ font-weight: 500;
55
+ margin-right: 1.06667vmin;
56
+ }
57
+ .barrage-container .barrage-wrap .barrage-item .right-arrow-icon {
58
+ height: 5.33333vmin;
59
+ width: 5.33333vmin;
60
+ margin-right: 6.93333vmin;
61
+ }
62
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-show {
63
+ animation: taskFadeInLeft 1.5s both;
64
+ }
65
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-hide {
66
+ animation: taskFadeOut 1.5s both;
67
+ }
68
+ @keyframes taskFadeInLeft {
69
+ 0% {
70
+ transform: translateX(-66.66667vmin);
71
+ opacity: 1;
72
+ }
73
+ 100% {
74
+ transform: translateX(0);
75
+ opacity: 1;
76
+ }
77
+ }
78
+ @keyframes taskFadeOut {
79
+ 0% {
80
+ transform: translateX(0);
81
+ opacity: 1;
82
+ }
83
+ 100% {
84
+ transform: translateX(0);
85
+ opacity: 0;
86
+ }
87
+ }
88
+ @keyframes moveRight {
89
+ from {
90
+ transform: translateX(-100%);
91
+ }
92
+ to {
93
+ transform: translateX(0);
94
+ }
95
+ }
96
+ @media screen and (min-width: 768px) and (orientation: portrait) {
97
+ .barrage-container {
98
+ color: #fff;
99
+ font-size: 1.30208vmin;
100
+ }
101
+ .barrage-container .barrage-wrap {
102
+ display: flex;
103
+ }
104
+ .barrage-container .barrage-wrap .barrage-item {
105
+ position: relative;
106
+ background: linear-gradient(270deg, #ff781f00 0%, #ff8619c7 21.42%, #ff9a0feb 46.71%, #FC0 100%);
107
+ height: 4.16667vmin;
108
+ font-size: 1.5625vmin;
109
+ line-height: 4.16667vmin;
110
+ border-radius: 5.98958vmin;
111
+ transition: 0.3s;
112
+ transform: translateX(-32.55208vmin);
113
+ }
114
+ .barrage-container .barrage-wrap .barrage-item .barrage-content {
115
+ display: flex;
116
+ align-items: center;
117
+ }
118
+ .barrage-container .barrage-wrap .barrage-item .task-completion-icon {
119
+ width: 3.125vmin;
120
+ height: 3.125vmin;
121
+ border-radius: 50%;
122
+ margin-left: 0.65104vmin;
123
+ margin-right: 0.52083vmin;
124
+ flex-shrink: 0;
125
+ }
126
+ .barrage-container .barrage-wrap .barrage-item .task-type {
127
+ display: flex;
128
+ flex-direction: column;
129
+ margin-right: 0.52083vmin;
130
+ overflow: hidden;
131
+ text-overflow: ellipsis;
132
+ white-space: nowrap;
133
+ }
134
+ .barrage-container .barrage-wrap .barrage-item .task-type view {
135
+ width: 100%;
136
+ overflow: hidden;
137
+ text-overflow: ellipsis;
138
+ white-space: nowrap;
139
+ }
140
+ .barrage-container .barrage-wrap .barrage-item .prize-icon {
141
+ width: 3.64583vmin;
142
+ height: 3.64583vmin;
143
+ display: flex;
144
+ justify-content: center;
145
+ align-items: center;
146
+ margin: 0 0.52083vmin;
147
+ }
148
+ .barrage-container .barrage-wrap .barrage-item .prize-num {
149
+ color: #FFF5CC;
150
+ font-weight: 500;
151
+ margin-right: 0.52083vmin;
152
+ }
153
+ .barrage-container .barrage-wrap .barrage-item .right-arrow-icon {
154
+ height: 2.60417vmin;
155
+ width: 2.60417vmin;
156
+ margin-right: 3.38542vmin;
157
+ }
158
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-show {
159
+ animation: taskFadeInLeft 1.5s both;
160
+ }
161
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-hide {
162
+ animation: taskFadeOut 1.5s both;
163
+ }
164
+ @keyframes taskFadeInLeft {
165
+ 0% {
166
+ transform: translateX(-32.55208vmin);
167
+ opacity: 1;
168
+ }
169
+ 100% {
170
+ transform: translateX(0);
171
+ opacity: 1;
172
+ }
173
+ }
174
+ @keyframes taskFadeOut {
175
+ 0% {
176
+ transform: translateX(0);
177
+ opacity: 1;
178
+ }
179
+ 100% {
180
+ transform: translateX(0);
181
+ opacity: 0;
182
+ }
183
+ }
184
+ @keyframes moveRight {
185
+ from {
186
+ transform: translateX(-100%);
187
+ }
188
+ to {
189
+ transform: translateX(0);
190
+ }
191
+ }
192
+ }
193
+ @media screen and (min-height: 768px) and (orientation: landscape) {
194
+ .barrage-container {
195
+ color: #fff;
196
+ font-size: 1.30208vmin;
197
+ }
198
+ .barrage-container .barrage-wrap {
199
+ display: flex;
200
+ }
201
+ .barrage-container .barrage-wrap .barrage-item {
202
+ position: relative;
203
+ background: linear-gradient(270deg, #ff781f00 0%, #ff8619c7 21.42%, #ff9a0feb 46.71%, #FC0 100%);
204
+ height: 4.16667vmin;
205
+ font-size: 1.5625vmin;
206
+ line-height: 4.16667vmin;
207
+ border-radius: 5.98958vmin;
208
+ transition: 0.3s;
209
+ transform: translateX(-32.55208vmin);
210
+ }
211
+ .barrage-container .barrage-wrap .barrage-item .barrage-content {
212
+ display: flex;
213
+ align-items: center;
214
+ }
215
+ .barrage-container .barrage-wrap .barrage-item .task-completion-icon {
216
+ width: 3.125vmin;
217
+ height: 3.125vmin;
218
+ border-radius: 50%;
219
+ margin-left: 0.65104vmin;
220
+ margin-right: 0.52083vmin;
221
+ flex-shrink: 0;
222
+ }
223
+ .barrage-container .barrage-wrap .barrage-item .task-type {
224
+ display: flex;
225
+ flex-direction: column;
226
+ margin-right: 0.52083vmin;
227
+ overflow: hidden;
228
+ text-overflow: ellipsis;
229
+ white-space: nowrap;
230
+ }
231
+ .barrage-container .barrage-wrap .barrage-item .task-type view {
232
+ width: 100%;
233
+ overflow: hidden;
234
+ text-overflow: ellipsis;
235
+ white-space: nowrap;
236
+ }
237
+ .barrage-container .barrage-wrap .barrage-item .prize-icon {
238
+ width: 3.64583vmin;
239
+ height: 3.64583vmin;
240
+ display: flex;
241
+ justify-content: center;
242
+ align-items: center;
243
+ margin: 0 0.52083vmin;
244
+ }
245
+ .barrage-container .barrage-wrap .barrage-item .prize-num {
246
+ color: #FFF5CC;
247
+ font-weight: 500;
248
+ margin-right: 0.52083vmin;
249
+ }
250
+ .barrage-container .barrage-wrap .barrage-item .right-arrow-icon {
251
+ height: 2.60417vmin;
252
+ width: 2.60417vmin;
253
+ margin-right: 3.38542vmin;
254
+ }
255
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-show {
256
+ animation: taskFadeInLeft 1.5s both;
257
+ }
258
+ .barrage-container .barrage-wrap .barrage-item.barrage-item-hide {
259
+ animation: taskFadeOut 1.5s both;
260
+ }
261
+ @keyframes taskFadeInLeft {
262
+ 0% {
263
+ transform: translateX(-32.55208vmin);
264
+ opacity: 1;
265
+ }
266
+ 100% {
267
+ transform: translateX(0);
268
+ opacity: 1;
269
+ }
270
+ }
271
+ @keyframes taskFadeOut {
272
+ 0% {
273
+ transform: translateX(0);
274
+ opacity: 1;
275
+ }
276
+ 100% {
277
+ transform: translateX(0);
278
+ opacity: 0;
279
+ }
280
+ }
281
+ @keyframes moveRight {
282
+ from {
283
+ transform: translateX(-100%);
284
+ }
285
+ to {
286
+ transform: translateX(0);
287
+ }
288
+ }
289
+ }
@@ -0,0 +1,29 @@
1
+ Component({
2
+ /**
3
+ * 组件的属性列表
4
+ */
5
+ properties: {
6
+ aliveMode:{
7
+ type: Number,
8
+ value: 1
9
+ },
10
+ iconText:{
11
+ type: String,
12
+ value: '得奖励'
13
+ },
14
+ },
15
+
16
+ /**
17
+ * 组件的初始数据
18
+ */
19
+ data: {},
20
+
21
+ /**
22
+ * 组件的方法列表
23
+ */
24
+ methods: {
25
+ iconClick(){
26
+ this.triggerEvent("iconClick")
27
+ }
28
+ },
29
+ })
@@ -0,0 +1,4 @@
1
+ {
2
+ "component": true,
3
+ "usingComponents": {}
4
+ }
@@ -0,0 +1,70 @@
1
+ @function vmin($rpx) {
2
+ @return #{$rpx * 100 / $deviceWidth}vmin;
3
+ }
4
+
5
+ $deviceWidth: 750;
6
+
7
+ @mixin taskIcon {
8
+ z-index: 9;
9
+ box-sizing: border-box;
10
+ width: vmin(72);
11
+ height: vmin(72);
12
+ text-align: center;
13
+ padding: 0;
14
+ position: relative;
15
+ display: flex;
16
+ flex-direction: column;
17
+ align-items: center;
18
+ font-size: vmin(16);
19
+ height: 100%;
20
+ border-radius: vmin(16);
21
+ margin: 0 vmin(32) vmin(24) 0;
22
+ pointer-events: auto;
23
+ .task-icon {
24
+ flex-shrink: 0;
25
+ display: block;
26
+ width: vmin(64);
27
+ height: vmin(64);
28
+ background-image: url('https://commonresource-1252524126.cdn.xiaoeknow.com/image/lopok62p0l77.png');
29
+ background-size: 100% 100%;
30
+ }
31
+ .task-text {
32
+ width: vmin(64);
33
+ height: vmin(24);
34
+ line-height: vmin(24);
35
+ border-radius: vmin(12);
36
+ font-size: vmin(16);
37
+ background: rgba($color: #000000, $alpha: 0.4);
38
+ color: #fff;
39
+ }
40
+ &.verticalStyle{
41
+ margin: 0;
42
+ background: rgba($color: #000000, $alpha: 0.2);
43
+ .task-text{
44
+ position: absolute;
45
+ bottom: vmin(-2);
46
+ }
47
+ }
48
+ }
49
+
50
+ .taskIcon {
51
+ @include taskIcon;
52
+ }
53
+
54
+ // 竖屏pad
55
+ @media screen and (min-width: 768px) and (orientation: portrait) {
56
+ $deviceWidth: 1536 !global;
57
+
58
+ .taskIcon {
59
+ @include taskIcon;
60
+ }
61
+ }
62
+
63
+ // 横屏pad
64
+ @media screen and (min-height: 768px) and (orientation: landscape) {
65
+ $deviceWidth: 1536 !global;
66
+
67
+ .taskIcon {
68
+ @include taskIcon;
69
+ }
70
+ }
@@ -0,0 +1,5 @@
1
+ <view class="taskIcon {{aliveMode === 1? 'verticalStyle' : ''}}" catch:tap="iconClick">
2
+ <view class="task-icon" />
3
+ <view class="task-text">{{iconText}}</view>
4
+ </view>
5
+