xiaoe_mp_npm 1.0.20 → 1.0.22-test01
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc.js +32 -6
- package/miniprogram_dist/Task/TaskBubble/index.js +2 -1
- package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.js +241 -166
- package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.scss +26 -0
- package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.wxml +27 -8
- package/miniprogram_dist/Task/TaskPopup/component/TaskItem/index.wxss +96 -0
- package/miniprogram_dist/Task/TaskPopup/component/TaskList/index.js +4 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.js +132 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.json +6 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.scss +192 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.wxml +65 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.wxs +79 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizContent/index.wxss +521 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizRichText/index.js +47 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizRichText/index.json +6 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizRichText/index.scss +7 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizRichText/index.wxml +2 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/quizRichText/index.wxss +298 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/base.wxml +50 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/html2json.js +623 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/htmlparser.js +183 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/iframeParse.js +216 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/loop.wxml +3563 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/showdown.js +2364 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/wxDiscode.js +209 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/wxParse.js +269 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/wxParse.wxml +1276 -0
- package/miniprogram_dist/Task/TaskQuizPopup/components/wxParse/wxParse.wxss +316 -0
- package/miniprogram_dist/Task/TaskQuizPopup/index.js +226 -0
- package/miniprogram_dist/Task/TaskQuizPopup/index.json +8 -0
- package/miniprogram_dist/Task/TaskQuizPopup/index.scss +158 -0
- package/miniprogram_dist/Task/TaskQuizPopup/index.wxml +96 -0
- package/miniprogram_dist/Task/TaskQuizPopup/index.wxss +474 -0
- package/miniprogram_dist/Task/taskQuizRemindPopup/index.js +79 -0
- package/miniprogram_dist/Task/taskQuizRemindPopup/index.json +6 -0
- package/miniprogram_dist/Task/taskQuizRemindPopup/index.scss +108 -0
- package/miniprogram_dist/Task/taskQuizRemindPopup/index.wxml +27 -0
- package/miniprogram_dist/Task/taskQuizRemindPopup/index.wxss +286 -0
- package/miniprogram_dist/Task/taskReceivePopup/coupon/index.js +13 -8
- package/miniprogram_dist/Task/taskReceivePopup/coupon/index.scss +32 -0
- package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxml +34 -22
- package/miniprogram_dist/Task/taskReceivePopup/coupon/index.wxss +141 -54
- package/miniprogram_dist/common/utils/tool.js +54 -48
- package/package.json +1 -1
- package/src/Task/TaskBubble/index.js +2 -1
- package/src/Task/TaskBubble/index.wxss +289 -289
- package/src/Task/TaskIcon/index.wxss +130 -130
- package/src/Task/TaskPopup/component/RewardList/index.wxss +18 -18
- package/src/Task/TaskPopup/component/TaskItem/index.js +241 -166
- package/src/Task/TaskPopup/component/TaskItem/index.scss +26 -0
- package/src/Task/TaskPopup/component/TaskItem/index.wxml +27 -8
- package/src/Task/TaskPopup/component/TaskItem/index.wxss +1 -394
- package/src/Task/TaskPopup/component/TaskList/index.js +4 -0
- package/src/Task/TaskPopup/component/TaskList/index.wxss +118 -118
- package/src/Task/TaskPopup/component/TaskType/index.wxss +110 -110
- package/src/Task/TaskPopup/index.wxss +406 -406
- package/src/Task/TaskQuizPopup/components/quizContent/index.js +132 -0
- package/src/Task/TaskQuizPopup/components/quizContent/index.json +6 -0
- package/src/Task/TaskQuizPopup/components/quizContent/index.scss +192 -0
- package/src/Task/TaskQuizPopup/components/quizContent/index.wxml +65 -0
- package/src/Task/TaskQuizPopup/components/quizContent/index.wxs +79 -0
- package/src/Task/TaskQuizPopup/components/quizContent/index.wxss +1 -0
- package/src/Task/TaskQuizPopup/components/quizRichText/index.js +47 -0
- package/src/Task/TaskQuizPopup/components/quizRichText/index.json +6 -0
- package/src/Task/TaskQuizPopup/components/quizRichText/index.scss +7 -0
- package/src/Task/TaskQuizPopup/components/quizRichText/index.wxml +2 -0
- package/src/Task/TaskQuizPopup/components/quizRichText/index.wxss +1 -0
- package/src/Task/TaskQuizPopup/components/wxParse/base.wxml +50 -0
- package/src/Task/TaskQuizPopup/components/wxParse/html2json.js +623 -0
- package/src/Task/TaskQuizPopup/components/wxParse/htmlparser.js +183 -0
- package/src/Task/TaskQuizPopup/components/wxParse/iframeParse.js +216 -0
- package/src/Task/TaskQuizPopup/components/wxParse/loop.wxml +3563 -0
- package/src/Task/TaskQuizPopup/components/wxParse/showdown.js +2364 -0
- package/src/Task/TaskQuizPopup/components/wxParse/wxDiscode.js +209 -0
- package/src/Task/TaskQuizPopup/components/wxParse/wxParse.js +269 -0
- package/src/Task/TaskQuizPopup/components/wxParse/wxParse.wxml +1276 -0
- package/src/Task/TaskQuizPopup/components/wxParse/wxParse.wxss +283 -0
- package/src/Task/TaskQuizPopup/index.js +226 -0
- package/src/Task/TaskQuizPopup/index.json +8 -0
- package/src/Task/TaskQuizPopup/index.scss +158 -0
- package/src/Task/TaskQuizPopup/index.wxml +96 -0
- package/src/Task/TaskQuizPopup/index.wxss +1 -0
- package/src/Task/taskQuizRemindPopup/index.js +79 -0
- package/src/Task/taskQuizRemindPopup/index.json +6 -0
- package/src/Task/taskQuizRemindPopup/index.scss +108 -0
- package/src/Task/taskQuizRemindPopup/index.wxml +27 -0
- package/src/Task/taskQuizRemindPopup/index.wxss +1 -0
- package/src/Task/taskReceivePopup/coupon/index.js +13 -8
- package/src/Task/taskReceivePopup/coupon/index.scss +32 -0
- package/src/Task/taskReceivePopup/coupon/index.wxml +34 -22
- package/src/Task/taskReceivePopup/coupon/index.wxss +145 -54
- package/src/Task/taskReceivePopup/customPrizes/index.wxss +220 -220
- package/src/Task/taskReceivePopup/index.wxss +1 -1
- package/src/Task/taskReceivePopup/integral/index.wxss +94 -94
- package/src/common/utils/tool.js +54 -48
package/.prettierrc.js
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
printWidth: 120,
|
|
3
|
+
tabWidth: 2,
|
|
4
|
+
useTabs: false,
|
|
5
|
+
semi: false,
|
|
6
|
+
singleQuote: true,
|
|
7
|
+
quoteProps: 'as-needed',
|
|
8
|
+
jsxSingleQuote: false,
|
|
9
|
+
trailingComma: 'all',
|
|
10
|
+
bracketSpacing: true,
|
|
11
|
+
jsxBracketSameLine: true,
|
|
12
|
+
arrowParens: 'always',
|
|
13
|
+
requirePragma: false,
|
|
14
|
+
insertPragma: false,
|
|
15
|
+
proseWrap: 'preserve',
|
|
16
|
+
htmlWhitespaceSensitivity: 'ignore',
|
|
17
|
+
vueIndentScriptAndStyle: false,
|
|
18
|
+
endOfLine: 'lf',
|
|
19
|
+
embeddedLanguageFormatting: 'auto',
|
|
20
|
+
overrides: [
|
|
21
|
+
{
|
|
22
|
+
files: '*.wxml',
|
|
23
|
+
options: { parser: 'html' }
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
files: '*.wxss',
|
|
27
|
+
options: { parser: 'css' }
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
files: '*.wxs',
|
|
31
|
+
options: { parser: 'babel' }
|
|
32
|
+
}
|
|
33
|
+
]
|
|
8
34
|
};
|
|
@@ -1,304 +1,379 @@
|
|
|
1
1
|
const computedBehavior = require('miniprogram-computed').behavior
|
|
2
2
|
|
|
3
3
|
const getHoursMinutes = (minutes) => {
|
|
4
|
-
const hours = Math.floor(minutes / 60)
|
|
5
|
-
const remainingMinutes = minutes % 60
|
|
6
|
-
return `${hours>0?hours+'小时':''}${remainingMinutes>0?remainingMinutes+'分钟':''}`
|
|
4
|
+
const hours = Math.floor(minutes / 60)
|
|
5
|
+
const remainingMinutes = minutes % 60
|
|
6
|
+
return `${hours > 0 ? hours + '小时' : ''}${remainingMinutes > 0 ? remainingMinutes + '分钟' : ''}`
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
const task_config = {
|
|
10
|
-
1:{
|
|
11
|
-
1:{
|
|
10
|
+
1: {
|
|
11
|
+
1: {
|
|
12
12
|
taskBelongType: 1,
|
|
13
|
-
taskBtnText:
|
|
14
|
-
event:
|
|
15
|
-
}
|
|
13
|
+
taskBtnText: '去观看',
|
|
14
|
+
event: 'view',
|
|
15
|
+
},
|
|
16
16
|
},
|
|
17
|
-
2:{
|
|
18
|
-
1:{
|
|
17
|
+
2: {
|
|
18
|
+
1: {
|
|
19
19
|
taskBelongType: 2,
|
|
20
|
-
taskBtnText:
|
|
21
|
-
handle:
|
|
22
|
-
event:
|
|
20
|
+
taskBtnText: '去评论',
|
|
21
|
+
handle: 'toComment',
|
|
22
|
+
event: 'input',
|
|
23
23
|
},
|
|
24
|
-
2:{
|
|
24
|
+
2: {
|
|
25
25
|
taskBelongType: 3,
|
|
26
|
-
taskBtnText:
|
|
27
|
-
handle:
|
|
28
|
-
event:
|
|
26
|
+
taskBtnText: '去转发',
|
|
27
|
+
handle: 'toShare',
|
|
28
|
+
event: 'share',
|
|
29
29
|
},
|
|
30
|
-
3:{
|
|
30
|
+
3: {
|
|
31
31
|
taskBelongType: 4,
|
|
32
|
-
taskBtnText:
|
|
33
|
-
event:
|
|
32
|
+
taskBtnText: '去点赞',
|
|
33
|
+
event: 'like',
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
|
-
3:{
|
|
37
|
-
4:{
|
|
36
|
+
3: {
|
|
37
|
+
4: {
|
|
38
38
|
taskBelongType: 5,
|
|
39
|
-
taskBtnText:
|
|
40
|
-
handle:
|
|
41
|
-
event:
|
|
39
|
+
taskBtnText: '去下单',
|
|
40
|
+
handle: 'toGoods',
|
|
41
|
+
event: 'order',
|
|
42
42
|
},
|
|
43
|
-
5:{
|
|
43
|
+
5: {
|
|
44
44
|
taskBelongType: 6,
|
|
45
|
-
taskBtnText:
|
|
46
|
-
handle:
|
|
47
|
-
event:
|
|
48
|
-
}
|
|
45
|
+
taskBtnText: '去消费',
|
|
46
|
+
handle: 'toGoods',
|
|
47
|
+
event: 'consumption',
|
|
48
|
+
},
|
|
49
49
|
},
|
|
50
|
-
4:{
|
|
51
|
-
6:{
|
|
50
|
+
4: {
|
|
51
|
+
6: {
|
|
52
52
|
taskBelongType: 7,
|
|
53
|
-
taskBtnText:
|
|
54
|
-
handle:
|
|
55
|
-
event:
|
|
53
|
+
taskBtnText: '去打赏',
|
|
54
|
+
handle: 'toGive',
|
|
55
|
+
event: 'give',
|
|
56
56
|
},
|
|
57
|
-
7:{
|
|
57
|
+
7: {
|
|
58
58
|
taskBelongType: 8,
|
|
59
|
-
taskBtnText:
|
|
60
|
-
event:
|
|
59
|
+
taskBtnText: '去投票',
|
|
60
|
+
event: 'vote',
|
|
61
61
|
},
|
|
62
|
-
8:{
|
|
62
|
+
8: {
|
|
63
63
|
taskBelongType: 9,
|
|
64
|
-
taskBtnText:
|
|
65
|
-
event:
|
|
64
|
+
taskBtnText: '去完成',
|
|
65
|
+
event: 'questionnaire',
|
|
66
66
|
},
|
|
67
|
-
9:{
|
|
67
|
+
9: {
|
|
68
68
|
taskBelongType: 10,
|
|
69
|
-
taskBtnText:
|
|
70
|
-
handle:
|
|
71
|
-
event:
|
|
72
|
-
}
|
|
73
|
-
|
|
69
|
+
taskBtnText: '去签到',
|
|
70
|
+
handle: 'toSign',
|
|
71
|
+
event: 'sign',
|
|
72
|
+
},
|
|
73
|
+
10: {
|
|
74
|
+
taskBelongType: 11,
|
|
75
|
+
taskBtnText: '去答题',
|
|
76
|
+
handle: 'toQuiz',
|
|
77
|
+
event: 'quiz',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
const list_type_config = {
|
|
77
|
-
|
|
78
|
-
btnText:
|
|
79
|
-
btnClick:
|
|
83
|
+
reward: {
|
|
84
|
+
btnText: '去使用',
|
|
85
|
+
btnClick: 'reward',
|
|
86
|
+
},
|
|
87
|
+
error: {
|
|
88
|
+
btnText: '领奖励',
|
|
89
|
+
btnClick: 'toRetry',
|
|
80
90
|
},
|
|
81
|
-
"error": {
|
|
82
|
-
btnText: "领奖励",
|
|
83
|
-
btnClick: "toRetry"
|
|
84
|
-
}
|
|
85
91
|
}
|
|
86
92
|
|
|
87
93
|
// 奖励icon配置
|
|
88
94
|
const reward_config = {
|
|
89
95
|
1: {
|
|
90
|
-
label:
|
|
91
|
-
icon:
|
|
96
|
+
label: '积分',
|
|
97
|
+
icon: 'https://commonresource-1252524126.cdn.xiaoeknow.com/image/ltrgz5y1064s.png',
|
|
92
98
|
},
|
|
93
99
|
2: {
|
|
94
|
-
label:
|
|
95
|
-
icon:
|
|
100
|
+
label: '优惠券',
|
|
101
|
+
icon: 'https://commonresource-1252524126.cdn.xiaoeknow.com/image/ltrgz5y00wfn.png',
|
|
96
102
|
},
|
|
97
103
|
3: {
|
|
98
|
-
label:
|
|
99
|
-
icon:
|
|
104
|
+
label: '红包',
|
|
105
|
+
icon: 'https://commonresource-1252524126.cdn.xiaoeknow.com/image/ltrgz5xy0i8g.png',
|
|
100
106
|
},
|
|
101
107
|
4: {
|
|
102
|
-
label:
|
|
103
|
-
icon:
|
|
108
|
+
label: '课程',
|
|
109
|
+
icon: 'https://commonresource-1252524126.cdn.xiaoeknow.com/image/ltrgz5xu04is.png',
|
|
104
110
|
},
|
|
105
111
|
5: {
|
|
106
|
-
label:
|
|
107
|
-
icon:
|
|
108
|
-
}
|
|
112
|
+
label: '奖品',
|
|
113
|
+
icon: 'https://commonresource-1252524126.cdn.xiaoeknow.com/image/ltrgz5xz08pf.png',
|
|
114
|
+
},
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
Component({
|
|
112
118
|
behaviors: [computedBehavior],
|
|
113
119
|
properties: {
|
|
114
|
-
|
|
120
|
+
// 任务详情数据
|
|
121
|
+
// id 直播间任务ID
|
|
122
|
+
// is_show_answer c端是否展示答案解析,0不展示,1展示
|
|
123
|
+
// task_type 任务类型:1=观看任务,2=互动任务,3=消费任务,4=活跃任务
|
|
124
|
+
// task_condition 直播任务条件:观看任务时填写具体分钟值,互动任务时:1-评论 2-分享 3-点赞,消费任务时:4-下单笔数 5-消费金额,活跃任务时:6-打赏 7-投票 8-问卷 9-签到 10-答题任务
|
|
125
|
+
// state 任务状态:1-正常,2-已停止
|
|
126
|
+
// reward_type 奖励类型:1=积分,2=优惠券,3=红包,4=课程/商品,5=自定义奖品
|
|
127
|
+
// reward_frequency 满足奖励所需频次,消费任务时:满足多少笔、或多少金额 ;答题任务时,答对多少题
|
|
128
|
+
// finish_frequency 已经完成奖励频次,消费任务时:满足多少笔、多少金额单位分
|
|
129
|
+
// reward_value 奖励值:积分数值、优惠券码、红包、商品、自定义奖品等。如果奖品存在多个字段,存储成json格式)
|
|
130
|
+
// start_at 任务开始时间
|
|
131
|
+
// end_at任务结束时间
|
|
132
|
+
// join_state 参与状态:0=未参与,1=参与中,2=已完成
|
|
133
|
+
// reward_state 奖励状态:1-待发放,2-发放成功,3-发放失败
|
|
134
|
+
// qs_is_pass 答题任务时,true-满足条件,false-不满足条件
|
|
135
|
+
taskItem: {
|
|
115
136
|
type: Object,
|
|
116
|
-
value:()=>{
|
|
137
|
+
value: () => {
|
|
117
138
|
return {}
|
|
118
|
-
}
|
|
139
|
+
},
|
|
119
140
|
},
|
|
120
|
-
isRadius:{
|
|
121
|
-
type:Boolean,
|
|
122
|
-
value: false
|
|
141
|
+
isRadius: {
|
|
142
|
+
type: Boolean,
|
|
143
|
+
value: false,
|
|
123
144
|
},
|
|
124
|
-
listType:{
|
|
125
|
-
type:String,
|
|
126
|
-
value:
|
|
145
|
+
listType: {
|
|
146
|
+
type: String,
|
|
147
|
+
value: 'task',
|
|
127
148
|
},
|
|
128
|
-
itemIndex:{
|
|
149
|
+
itemIndex: {
|
|
129
150
|
type: Number,
|
|
130
|
-
value: 0
|
|
151
|
+
value: 0,
|
|
131
152
|
},
|
|
132
|
-
isMb:{
|
|
153
|
+
isMb: {
|
|
133
154
|
type: Boolean,
|
|
134
|
-
value: false
|
|
155
|
+
value: false,
|
|
135
156
|
},
|
|
136
|
-
viewingInProgress:{
|
|
157
|
+
viewingInProgress: {
|
|
137
158
|
type: Array,
|
|
138
|
-
value:()=>{
|
|
159
|
+
value: () => {
|
|
139
160
|
return []
|
|
140
|
-
}
|
|
141
|
-
}
|
|
161
|
+
},
|
|
162
|
+
},
|
|
142
163
|
},
|
|
143
164
|
data: {
|
|
144
|
-
activeNames:[
|
|
165
|
+
activeNames: ['1'],
|
|
145
166
|
taskBelongType: null, // 任务类型归属 1-观看 2-评论 3-转发 4-点赞
|
|
146
167
|
},
|
|
147
|
-
watch:{
|
|
148
|
-
taskItem:function(newVal){
|
|
168
|
+
watch: {
|
|
169
|
+
taskItem: function (newVal) {
|
|
149
170
|
const { task_type, task_condition } = newVal
|
|
150
|
-
const { taskBelongType } = this.getTaskConfig(task_type,task_condition)
|
|
171
|
+
const { taskBelongType } = this.getTaskConfig(task_type, task_condition)
|
|
151
172
|
this.setData({
|
|
152
|
-
taskBelongType
|
|
173
|
+
taskBelongType,
|
|
153
174
|
})
|
|
154
|
-
}
|
|
175
|
+
},
|
|
155
176
|
},
|
|
156
|
-
computed:{
|
|
177
|
+
computed: {
|
|
178
|
+
// 是否展示奖励
|
|
179
|
+
isShowReward(data) {
|
|
180
|
+
const { listType, taskItem, isQuizTask } = data
|
|
181
|
+
// 答题任务&&已参与&&没满足条件,即已提交(没成功获取奖励情况),需要隐藏奖励
|
|
182
|
+
if (isQuizTask && taskItem.join_state === 2 && !taskItem.qs_is_pass) {
|
|
183
|
+
return false
|
|
184
|
+
}
|
|
185
|
+
return listType === 'task' || listType === 'error'
|
|
186
|
+
},
|
|
187
|
+
// 是否是答题任务
|
|
188
|
+
isQuizTask(data) {
|
|
189
|
+
const { taskItem } = data
|
|
190
|
+
return taskItem.task_type === 4 && taskItem.task_condition === '10'
|
|
191
|
+
},
|
|
192
|
+
// 未完成及已提交状态
|
|
193
|
+
getFailStatus(data) {
|
|
194
|
+
const { taskItem, isQuizTask } = data
|
|
195
|
+
return (
|
|
196
|
+
(isQuizTask && taskItem.join_state === 2 && !taskItem.qs_is_pass) ||
|
|
197
|
+
(taskItem.join_state === 0 && taskItem.state === 2)
|
|
198
|
+
)
|
|
199
|
+
},
|
|
200
|
+
// 展示答题任务中,说明模块, 答题任务&&(任务结束||参与了)&&(任务结束&&没参与————这个有单独的提示)
|
|
201
|
+
showAnswerTaskIntroduce(data) {
|
|
202
|
+
const { taskItem, isQuizTask } = data
|
|
203
|
+
return (
|
|
204
|
+
isQuizTask &&
|
|
205
|
+
(taskItem.state === 2 || taskItem.join_state === 2) &&
|
|
206
|
+
!(taskItem.state === 2 && taskItem.join_state === 0)
|
|
207
|
+
)
|
|
208
|
+
},
|
|
157
209
|
// 任务标题
|
|
158
|
-
taskTitle(data){
|
|
159
|
-
let title =
|
|
210
|
+
taskTitle(data) {
|
|
211
|
+
let title = ''
|
|
160
212
|
const { task_condition, reward_frequency } = data.taskItem
|
|
161
|
-
switch(data.taskBelongType){
|
|
213
|
+
switch (data.taskBelongType) {
|
|
162
214
|
case 1:
|
|
163
215
|
title = `观看时长${getHoursMinutes(task_condition)}`
|
|
164
|
-
break
|
|
216
|
+
break
|
|
165
217
|
case 2:
|
|
166
|
-
title =
|
|
167
|
-
break
|
|
218
|
+
title = '评论1次'
|
|
219
|
+
break
|
|
168
220
|
case 3:
|
|
169
|
-
title =
|
|
170
|
-
break
|
|
221
|
+
title = '转发1次'
|
|
222
|
+
break
|
|
171
223
|
case 4:
|
|
172
|
-
title =
|
|
173
|
-
break
|
|
224
|
+
title = '点赞1次'
|
|
225
|
+
break
|
|
174
226
|
case 5:
|
|
175
227
|
title = `成功消费 ${reward_frequency} 笔订单数`
|
|
176
|
-
break
|
|
228
|
+
break
|
|
177
229
|
case 6:
|
|
178
|
-
title = `成功消费 ${(reward_frequency/100).toFixed(2)} 元`
|
|
179
|
-
break
|
|
230
|
+
title = `成功消费 ${(reward_frequency / 100).toFixed(2)} 元`
|
|
231
|
+
break
|
|
180
232
|
case 7:
|
|
181
233
|
title = `完成打赏`
|
|
182
|
-
break
|
|
234
|
+
break
|
|
183
235
|
case 8:
|
|
184
236
|
title = `完成投票`
|
|
185
|
-
break
|
|
237
|
+
break
|
|
186
238
|
case 9:
|
|
187
239
|
title = `完成问卷`
|
|
188
|
-
break
|
|
240
|
+
break
|
|
189
241
|
case 10:
|
|
190
242
|
title = `完成签到`
|
|
191
|
-
break
|
|
243
|
+
break
|
|
244
|
+
case 11:
|
|
245
|
+
title = `完成答题,并答对${reward_frequency}题`
|
|
246
|
+
break
|
|
192
247
|
}
|
|
193
248
|
return title
|
|
194
249
|
},
|
|
195
250
|
|
|
196
251
|
// 任务按钮
|
|
197
|
-
btnText(data){
|
|
198
|
-
if(data.listType !== 'task'){
|
|
252
|
+
btnText(data) {
|
|
253
|
+
if (data.listType !== 'task') {
|
|
199
254
|
return list_type_config[data.listType]?.btnText
|
|
200
|
-
}else{
|
|
255
|
+
} else {
|
|
201
256
|
// 正常任务列表
|
|
202
|
-
const {join_state, state, task_type, task_condition} = data.taskItem
|
|
203
|
-
|
|
204
|
-
if(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
257
|
+
const { join_state, state, task_type, task_condition, qs_is_pass } = data.taskItem
|
|
258
|
+
// 答题任务&&已参与&&没满足条件
|
|
259
|
+
if (data.isQuizTask && join_state === 2 && !qs_is_pass) {
|
|
260
|
+
//已提交
|
|
261
|
+
return '已提交'
|
|
262
|
+
}
|
|
263
|
+
if (join_state === 2) return '已完成'
|
|
264
|
+
if (state === 2) return '未完成'
|
|
265
|
+
if (join_state === 0) return '未开始'
|
|
266
|
+
return task_config[task_type][task_type === 1 ? 1 : task_condition]?.taskBtnText || '去参与'
|
|
267
|
+
}
|
|
208
268
|
},
|
|
209
269
|
|
|
210
270
|
// 奖励内容
|
|
211
|
-
rewardText(data){
|
|
271
|
+
rewardText(data) {
|
|
212
272
|
const { reward_type, reward_value } = data.taskItem
|
|
213
|
-
const onlyOneType = [2,4,5]
|
|
214
|
-
if(onlyOneType.includes(reward_type)){
|
|
273
|
+
const onlyOneType = [2, 4, 5]
|
|
274
|
+
if (onlyOneType.includes(reward_type)) {
|
|
215
275
|
return `+1 ${reward_config[reward_type]?.label}`
|
|
216
|
-
}else if(reward_type === 3){
|
|
217
|
-
return `+${(reward_value.money/100).toFixed(2)} ${reward_config[reward_type]?.label}`
|
|
218
|
-
}else{
|
|
276
|
+
} else if (reward_type === 3) {
|
|
277
|
+
return `+${(reward_value.money / 100).toFixed(2)} ${reward_config[reward_type]?.label}`
|
|
278
|
+
} else {
|
|
219
279
|
return `+${reward_value} ${reward_config[reward_type]?.label}`
|
|
220
280
|
}
|
|
221
281
|
},
|
|
222
|
-
|
|
282
|
+
|
|
223
283
|
// 奖励图标
|
|
224
|
-
rewardIcon(data){
|
|
284
|
+
rewardIcon(data) {
|
|
225
285
|
const { reward_type } = data.taskItem
|
|
226
286
|
return reward_config[reward_type]?.icon
|
|
227
287
|
},
|
|
228
288
|
|
|
229
289
|
// 任务完成剩余条件
|
|
230
|
-
residueCondition(data){
|
|
290
|
+
residueCondition(data) {
|
|
231
291
|
const { join_state, state, task_type, task_condition, reward_value, reward_type, id } = data.taskItem
|
|
232
|
-
if(join_state!==1 || state ===2) return
|
|
233
|
-
|
|
234
|
-
if(task_type === 1){
|
|
292
|
+
if (join_state !== 1 || state === 2) return ''
|
|
293
|
+
|
|
294
|
+
if (task_type === 1) {
|
|
235
295
|
// 观看任务
|
|
236
|
-
if(data.viewingInProgress.length){
|
|
237
|
-
const { residue_time } = data.viewingInProgress.find(item => item.id === id)
|
|
238
|
-
return residue_time && residue_time > 60
|
|
239
|
-
|
|
240
|
-
|
|
296
|
+
if (data.viewingInProgress.length) {
|
|
297
|
+
const { residue_time } = data.viewingInProgress.find((item) => item.id === id)
|
|
298
|
+
return residue_time && residue_time > 60
|
|
299
|
+
? '再观看 ' + Math.floor(residue_time / 60) + '分钟 ' + '获得奖励'
|
|
300
|
+
: '即将获得奖励'
|
|
301
|
+
}
|
|
302
|
+
} else if (task_type === 3 && task_condition === '4') {
|
|
241
303
|
// 下单笔数
|
|
242
304
|
const { reward_frequency, finish_frequency } = data.taskItem
|
|
243
|
-
return reward_frequency && finish_frequency ? `再下${reward_frequency - finish_frequency}单
|
|
244
|
-
}else if(task_type === 3 && task_condition ===
|
|
305
|
+
return reward_frequency && finish_frequency ? `再下${reward_frequency - finish_frequency}单 获得奖励` : ''
|
|
306
|
+
} else if (task_type === 3 && task_condition === '5') {
|
|
245
307
|
// 消费金额
|
|
246
|
-
const { reward_frequency, finish_frequency } = data.taskItem
|
|
247
|
-
return reward_frequency && finish_frequency
|
|
248
|
-
|
|
249
|
-
|
|
308
|
+
const { reward_frequency, finish_frequency } = data.taskItem
|
|
309
|
+
return reward_frequency && finish_frequency
|
|
310
|
+
? `再消费${((reward_frequency - finish_frequency) / 100).toFixed(2)}元 获得奖励`
|
|
311
|
+
: ''
|
|
312
|
+
} else {
|
|
313
|
+
return ''
|
|
250
314
|
}
|
|
251
315
|
},
|
|
252
316
|
|
|
253
|
-
// 红包奖励剩余个数
|
|
254
|
-
redEnvelopeNum(data){
|
|
317
|
+
// 红包奖励剩余个数
|
|
318
|
+
redEnvelopeNum(data) {
|
|
255
319
|
const { join_state, state, reward_value, reward_type } = data.taskItem
|
|
256
|
-
if(
|
|
320
|
+
if (
|
|
321
|
+
(join_state !== 1 || state === 2 || reward_type !== 3) ||
|
|
322
|
+
(join_state === 0 && state === 2)
|
|
323
|
+
) {
|
|
324
|
+
return ''
|
|
325
|
+
}
|
|
257
326
|
return reward_value.remain_nums ? `领取名额还剩 ${reward_value.remain_nums}个` : '领取名额还剩 0个,无法领取'
|
|
258
|
-
}
|
|
327
|
+
},
|
|
259
328
|
},
|
|
260
329
|
lifetimes: {
|
|
261
330
|
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
|
262
|
-
attached: function () {
|
|
263
|
-
|
|
264
|
-
},
|
|
265
|
-
moved: function () { },
|
|
266
|
-
detached: function () { },
|
|
331
|
+
attached: function () {},
|
|
332
|
+
moved: function () {},
|
|
333
|
+
detached: function () {},
|
|
267
334
|
},
|
|
268
335
|
methods: {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
336
|
+
// 打开答题任务答案解析
|
|
337
|
+
handleAnswerAnalysis() {
|
|
338
|
+
this.triggerEvent('btnClick', {
|
|
339
|
+
type: "quizAnalysis",
|
|
340
|
+
taskItem: this.data.taskItem
|
|
341
|
+
})
|
|
342
|
+
},
|
|
343
|
+
getHoursMinutes(minutes) {
|
|
344
|
+
const hours = Math.floor(minutes / 60)
|
|
345
|
+
const remainingMinutes = minutes % 60
|
|
346
|
+
return `${hours > 0 ? hours + '小时' : ''}${remainingMinutes > 0 ? remainingMinutes + '分钟' : ''}`
|
|
273
347
|
},
|
|
274
|
-
btnClick(){
|
|
275
|
-
console.log(
|
|
348
|
+
btnClick() {
|
|
349
|
+
console.log('data.viewingInProgress btnClick', this.properties.viewingInProgress)
|
|
276
350
|
const { reward_type, task_type, task_condition, reward_value, id } = this.data.taskItem
|
|
277
|
-
if(this.data.listType ===
|
|
278
|
-
if(
|
|
351
|
+
if (this.data.listType === 'task') {
|
|
352
|
+
if (['已完成', '未开始', '未开始', '已提交'].includes(this.data.btnText)) return
|
|
279
353
|
const { handle } = this.getTaskConfig(task_type, task_condition)
|
|
280
|
-
if(handle){
|
|
281
|
-
this.triggerEvent(
|
|
282
|
-
type: handle
|
|
354
|
+
if (handle) {
|
|
355
|
+
this.triggerEvent('btnClick', {
|
|
356
|
+
type: handle,
|
|
357
|
+
taskItem: this.data.taskItem
|
|
283
358
|
})
|
|
284
|
-
}else{
|
|
285
|
-
this.triggerEvent(
|
|
286
|
-
type:
|
|
359
|
+
} else {
|
|
360
|
+
this.triggerEvent('btnClick', {
|
|
361
|
+
type: 'closePopup',
|
|
287
362
|
})
|
|
288
363
|
}
|
|
289
|
-
}else{
|
|
364
|
+
} else {
|
|
290
365
|
const { event } = this.getTaskConfig(task_type, task_condition)
|
|
291
|
-
this.triggerEvent(
|
|
366
|
+
this.triggerEvent('btnClick', {
|
|
292
367
|
type: list_type_config[this.data.listType]?.btnClick,
|
|
293
368
|
reward_type,
|
|
294
369
|
taskBelongType: event,
|
|
295
370
|
reward_value,
|
|
296
|
-
id
|
|
371
|
+
id,
|
|
297
372
|
})
|
|
298
373
|
}
|
|
299
374
|
},
|
|
300
|
-
getTaskConfig(task_type,task_condition){
|
|
301
|
-
if(task_type === 1) task_condition = 1
|
|
375
|
+
getTaskConfig(task_type, task_condition) {
|
|
376
|
+
if (task_type === 1) task_condition = 1
|
|
302
377
|
return task_config[task_type][task_condition]
|
|
303
378
|
},
|
|
304
379
|
},
|
|
@@ -77,7 +77,28 @@ $deviceWidth: 750;
|
|
|
77
77
|
margin-top: vmin(8);
|
|
78
78
|
font-size: vmin(24);
|
|
79
79
|
color: #FF5429;
|
|
80
|
+
font-family: "PingFang SC";
|
|
80
81
|
line-height: vmin(32);
|
|
82
|
+
align-items: center;
|
|
83
|
+
.warning-text {
|
|
84
|
+
}
|
|
85
|
+
.finish-text {
|
|
86
|
+
display: inline-block;
|
|
87
|
+
color: #999999;
|
|
88
|
+
}
|
|
89
|
+
.show-answer {
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
margin-left: vmin(20);
|
|
93
|
+
font-style: normal;
|
|
94
|
+
font-weight: 400;
|
|
95
|
+
line-height: vmin(32);
|
|
96
|
+
.analysis-icon {
|
|
97
|
+
width: vmin(24);
|
|
98
|
+
height: vmin(24);
|
|
99
|
+
margin-left: -vmin(4);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
104
|
|
|
@@ -104,6 +125,11 @@ $deviceWidth: 750;
|
|
|
104
125
|
background: #F5F5F5;
|
|
105
126
|
color: #B2B2B2;
|
|
106
127
|
}
|
|
128
|
+
&.orange-btn{
|
|
129
|
+
color: #ffffff;
|
|
130
|
+
opacity: 0.4;
|
|
131
|
+
background: #ff5429;
|
|
132
|
+
}
|
|
107
133
|
}
|
|
108
134
|
|
|
109
135
|
}
|