Sfoglia il codice sorgente

修复抖音激励视频问题

黎海 2 anni fa
parent
commit
383c7772cd

+ 1 - 1
app_list.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "taroConfig": {
3
-    "version": "1.3.3",
3
+    "version": "1.3.7",
4 4
     "desc": "更改人物动漫化"
5 5
   },
6 6
   "app_list": [

+ 1 - 1
package.json

@@ -81,7 +81,7 @@
81 81
         "webpack": "5.69.0"
82 82
     },
83 83
     "taroConfig": {
84
-        "version": "1.3.3",
84
+        "version": "1.3.7",
85 85
         "desc": "更改人物动漫化"
86 86
     }
87 87
 }

+ 13 - 3
src/moduleA/pages/darwDetailIndex/index.jsx

@@ -429,8 +429,16 @@ export default class Task extends Component {
429 429
         // 更多请参考错误码文档
430 430
       }
431 431
     });
432
-    // 监听视频播放完成
433
-    videoAd.onClose((data) => {
432
+    try {
433
+      if (videoAd.closeHandler) {
434
+        videoAd.offClose(videoAd.closeHandler);
435
+        console.log("videoAd.offClose卸载成功");
436
+      }
437
+    } catch (e) {
438
+      console.log("videoAd.offClose 卸载失败");
439
+      console.error(e);
440
+    }
441
+    videoAd.closeHandler = function (data) {
434 442
       Taro.hideLoading()
435 443
       if (data.isEnded) {
436 444
         api.finishTask({ task_id: that.state.task_id }).then(res => {
@@ -450,7 +458,9 @@ export default class Task extends Component {
450 458
           duration: 2000
451 459
         })
452 460
       }
453
-    });
461
+    }
462
+    // 监听视频播放完成
463
+    videoAd.onClose(videoAd.closeHandler);
454 464
   }
455 465
   //激励广告
456 466
   playVideoWeapp () {

+ 28 - 9
src/moduleA/pages/earnPoints/index.jsx

@@ -16,7 +16,7 @@ export default class Task extends Component {
16 16
     isIos: false,
17 17
     lastTime: 0,
18 18
   }
19
-  componentDidMount() {
19
+  componentDidMount () {
20 20
     this.finishTask = tool.throttle(this.finishTask.bind(this), 2000);
21 21
   }
22 22
   componentWillMount () {
@@ -76,7 +76,7 @@ export default class Task extends Component {
76 76
       }
77 77
     })
78 78
   }
79
-  finishTask (item,index) {
79
+  finishTask (item, index) {
80 80
     if (item.status != 0) return
81 81
     if (item.btn_title == '观看') {
82 82
       console.log('观看');
@@ -109,11 +109,13 @@ export default class Task extends Component {
109 109
   //抖音激励广告
110 110
   playVideoTT (item) {
111 111
     let that = this
112
-    tt.showLoading();
112
+    Taro.showLoading({
113
+      title: '加载中...',
114
+    })
113 115
     const videoAd = tt.createRewardedVideoAd({ adUnitId: item.jumpurl });
114 116
     videoAd.show()
115 117
     videoAd.onError((err) => {
116
-      tt.hideLoading();
118
+      Taro.hideLoading()
117 119
       switch (err.errCode) {
118 120
         case 1004:
119 121
           // 无合适的广告
@@ -122,9 +124,17 @@ export default class Task extends Component {
122 124
         // 更多请参考错误码文档
123 125
       }
124 126
     });
125
-    // 监听视频播放完成
126
-    videoAd.onClose((data) => {
127
-      tt.hideLoading();
127
+    try {
128
+      if (videoAd.closeHandler) {
129
+        videoAd.offClose(videoAd.closeHandler);
130
+        console.log("videoAd.offClose卸载成功");
131
+      }
132
+    } catch (e) {
133
+      console.log("videoAd.offClose 卸载失败");
134
+      console.error(e);
135
+    }
136
+    videoAd.closeHandler = function (data) {
137
+      Taro.hideLoading()
128 138
       if (data.isEnded) {
129 139
         api.finishTask({ task_id: item.id }).then(res => {
130 140
           if (res.code == 200) {
@@ -144,7 +154,9 @@ export default class Task extends Component {
144 154
           duration: 2000
145 155
         })
146 156
       }
147
-    });
157
+    }
158
+    // 监听视频播放完成
159
+    videoAd.onClose(videoAd.closeHandler);
148 160
   }
149 161
   //微信激励广告
150 162
   playVideo (item) {
@@ -354,7 +366,7 @@ export default class Task extends Component {
354 366
                 </View>
355 367
                 <View className='register-right'
356 368
                   style={item.status == 0 ? '' : 'background-image: linear-gradient(-45deg, #0c1419 0%, #3b3d3e 100%);opacity: 0.5;'}
357
-                  onClick={e => (this.finishTask(item,index))}>
369
+                  onClick={e => (this.finishTask(item, index))}>
358 370
                   {item.btn_title}
359 371
                 </View>
360 372
               </View>
@@ -417,6 +429,13 @@ export default class Task extends Component {
417 429
             </View>
418 430
           }
419 431
           {
432
+            !this.state.isIos &&
433
+            <View className='android-tips'>
434
+              <View>注:</View>
435
+              一经购买不可退款
436
+            </View>
437
+          }
438
+          {
420 439
             this.state.isIos &&
421 440
             <View className='ios-tips'>
422 441
               ios暂不支持充值

+ 6 - 0
src/moduleA/pages/earnPoints/index.less

@@ -246,4 +246,10 @@
246 246
   margin-top: 100px;
247 247
   text-align: center;
248 248
 }
249
+.android-tips{
250
+  font-family: PingFangSC-Regular;
251
+  font-size: 28rpx;
252
+  color: rgba(255, 255, 255, 0.75);
253
+  margin-top: 100px;
254
+}
249 255
 }

+ 18 - 7
src/moduleB/pages/comic/index.jsx

@@ -136,6 +136,7 @@ export default class collection extends Component {
136 136
         this.setState({
137 137
           drawTaskId:res.data.task_id
138 138
         },()=>{
139
+          console.log(res.data.task_id,'res.data.task_id');
139 140
           this.playVideo()
140 141
         })
141 142
        
@@ -172,17 +173,27 @@ export default class collection extends Component {
172 173
         // 更多请参考错误码文档
173 174
       }
174 175
     });
175
-    // 监听视频播放完成
176
-    videoAd.onClose((data) => {
176
+    try {
177
+      if (videoAd.closeHandler) {
178
+        videoAd.offClose(videoAd.closeHandler);
179
+        console.log("videoAd.offClose卸载成功");
180
+      }
181
+    } catch (e) {
182
+      console.log("videoAd.offClose 卸载失败");
183
+      console.error(e);
184
+    }
185
+    videoAd.closeHandler = function (data) {
177 186
       Taro.hideLoading()
178 187
       if (data.isEnded) {
179 188
         Taro.navigateTo({
180
-          url: `/moduleB/pages/comicDetail/index?task_id=${that.drawTaskId}`
189
+          url: `/moduleB/pages/comicDetail/index?task_id=${that.state.drawTaskId}`
181 190
         })
182 191
       } else {
183 192
        
184 193
       }
185
-    });
194
+    }
195
+    // 监听视频播放完成
196
+    videoAd.onClose(videoAd.closeHandler);
186 197
   }
187 198
   //激励广告
188 199
   playVideoWeapp () {
@@ -213,7 +224,7 @@ export default class collection extends Component {
213 224
         if (res && res.isEnded || res === undefined) {
214 225
           // 正常播放结束,可以下发游戏奖励
215 226
           Taro.navigateTo({
216
-            url: `/moduleB/pages/comicDetail/index?task_id=${that.drawTaskId}`
227
+            url: `/moduleB/pages/comicDetail/index?task_id=${that.state.drawTaskId}`
217 228
           })
218 229
         } else {
219 230
           //提前关闭小程序
@@ -284,7 +295,7 @@ export default class collection extends Component {
284 295
               <Image className='delete' src='http://video-img.fyshark.com/1680147210173guanbi.png' onClick={e => (this.deleteImg())}></Image>
285 296
             }
286 297
           </View>
287
-          <View className='banner-tips'>绝美的动漫头像,上传图片一生成</View>
298
+          <View className='banner-tips'>绝美的动漫头像,上传图片一生成</View>
288 299
 
289 300
         </View>
290 301
         {
@@ -340,7 +351,7 @@ export default class collection extends Component {
340 351
         <View className='update' onClick={e => (tool.throttle(this.updateButton()), 2000)}>
341 352
           <View className='update-button'>
342 353
             <Image className='update-img' src={!this.state.isImage ? 'http://video-img.fyshark.com/1681719589061%E7%BB%98%E7%94%BB%402x.png' : 'http://video-img.fyshark.com/1681719637510%E5%9B%BE%E7%89%87%402x.png'}></Image>
343
-            {!this.state.isImage ? '上传图片' : this.state.creatInfo.wallet_status == 0 ? '点击绘制 (当前点券不足,看广告绘制图片' : '点击绘制 (当前点券充足,前往绘制吧)'}
354
+            {!this.state.isImage ? '上传图片' : this.state.creatInfo.wallet_status == 0 ? '点击看广告绘制图片' : '点击绘制 (当前点券充足,前往绘制吧)'}
344 355
           </View>
345 356
         </View>
346 357
         <View className='tip-img'>

+ 22 - 11
src/moduleB/pages/comicDetail/index.jsx

@@ -17,22 +17,22 @@ export default class collection extends Component {
17 17
     draw_infos: [],
18 18
     que_cnt: 0,
19 19
     default_img: '',
20
-    interval: null,
21 20
     wallet_balance: 0,//用户当前余额
22 21
   }
23 22
 
24 23
   componentWillMount () {
24
+
25
+  }
26
+  componentDidShow () {
25 27
     let routers = this.$instance.router.params
26 28
     this.getCoinTaskAd()
27 29
     api.unlockGcImg({ task_id: routers.task_id }).then(res => {
30
+      console.log('解锁');
28 31
       if (res.code == 200) {
29 32
         this.getDrawTaskStatus(routers.task_id)
30 33
       }
31 34
     })
32 35
   }
33
-  componentDidShow () {
34
-
35
-  }
36 36
   //页面销毁之前调用
37 37
   componentWillUnmount () {
38 38
     //避免服务器攻击
@@ -51,6 +51,7 @@ export default class collection extends Component {
51 51
   }
52 52
   //解锁成功
53 53
   unlockGcImg (item, index) {
54
+    console.log('解锁002');
54 55
     api.unlockGcImg({ task_id: item.task_id }).then(res => {
55 56
       if (res.code == 200) {
56 57
         this.setState({
@@ -112,8 +113,16 @@ export default class collection extends Component {
112 113
         // 更多请参考错误码文档
113 114
       }
114 115
     });
115
-    // 监听视频播放完成
116
-    videoAd.onClose((data) => {
116
+    try {
117
+      if (videoAd.closeHandler) {
118
+        videoAd.offClose(videoAd.closeHandler);
119
+        console.log("videoAd.offClose卸载成功");
120
+      }
121
+    } catch (e) {
122
+      console.log("videoAd.offClose 卸载失败");
123
+      console.error(e);
124
+    }
125
+    videoAd.closeHandler = function (data) {
117 126
       Taro.hideLoading()
118 127
       if (data.isEnded) {
119 128
         Taro.showToast({
@@ -122,7 +131,6 @@ export default class collection extends Component {
122 131
           duration: 2000
123 132
         })
124 133
         that.unlockGcImg(item, index)
125
-        that.getDrawTaskStatus(item.task_id)
126 134
       } else {
127 135
         that.getDrawTaskStatus(item.task_id)
128 136
         Taro.showToast({
@@ -131,7 +139,9 @@ export default class collection extends Component {
131 139
           duration: 2000
132 140
         })
133 141
       }
134
-    });
142
+    }
143
+    // 监听视频播放完成
144
+    videoAd.onClose(videoAd.closeHandler);
135 145
   }
136 146
   //激励广告
137 147
   playVideoWeapp (item, index) {
@@ -330,8 +340,9 @@ export default class collection extends Component {
330 340
                 onClick={e => (this.previewImage())}
331 341
                 src={this.state.draw_infos[this.state.current].img}
332 342
               ></Image>
333
-              {
334
-                this.state.draw_infos[this.state.current].id == -1 &&
343
+              {/* {
344
+                this.state.draw_infos[this.state.current].status == 0 &&
345
+                this.state.draw_infos[this.state.current].status == 1 &&
335 346
                 <View className='content-wait'>
336 347
                   <View className='wait-date'>预计等待{Math.ceil((this.state.que_cnt - 1) * 0.2 + 1)}分钟...</View>
337 348
                   <View className='wait-middle'>{this.state.draw_status == 0 ? '等待中' : this.state.draw_status == 1 ? '正在绘画...' : '已完成'}</View>
@@ -340,7 +351,7 @@ export default class collection extends Component {
340 351
                     <View className='wait-get-num' onClick={e => (tool.throttle(this.playVideo()), 2000)}>点击观看广告领取更多点券</View>
341 352
                   </View>
342 353
                 </View>
343
-              }
354
+              } */}
344 355
 
345 356
             </View>
346 357
           </View>

+ 5 - 5
src/moduleB/pages/comicDetail/index.less

@@ -1,25 +1,25 @@
1 1
 .mine {
2
-  padding: 48px 40px;
2
+  padding: 1px 40px;
3 3
   min-height: 100vh;
4 4
   background-color: #041129;
5 5
 
6 6
 
7 7
   .banner {
8 8
     position: relative;
9
-    margin-top: 20px;
10 9
     border-radius: 20px;
10
+    width: 100%;
11 11
 
12 12
     .banner-content {
13 13
       position: relative;
14 14
       border-radius: 20px;
15 15
       left: 50%;
16 16
       transform: translateX(-50%);
17
-      width: 500px;
18
-      height: 890px;
17
+      width: 100%;
18
+      height: 740px;
19 19
     }
20 20
 
21 21
     .content-img {
22
-      background-color: #545353;
22
+      // background-color: #545353;
23 23
       border-radius: 20px;
24 24
       width: 100%;
25 25
       height: 100%;

+ 18 - 3
src/moduleB/pages/poetry/index.jsx

@@ -119,8 +119,12 @@ export default class collection extends Component {
119 119
   //抖音激励广告
120 120
   playVideoTT (item) {
121 121
     const videoAd = tt.createRewardedVideoAd({ adUnitId: item.jumpurl });
122
+    Taro.showLoading({
123
+      title: '加载中...',
124
+    })
122 125
     videoAd.show()
123 126
     videoAd.onError((err) => {
127
+      Taro.hideLoading()
124 128
       switch (err.errCode) {
125 129
         case 1004:
126 130
           // 无合适的广告
@@ -129,8 +133,17 @@ export default class collection extends Component {
129 133
         // 更多请参考错误码文档
130 134
       }
131 135
     });
132
-    // 监听视频播放完成
133
-    videoAd.onClose((data) => {
136
+    try {
137
+      if (videoAd.closeHandler) {
138
+        videoAd.offClose(videoAd.closeHandler);
139
+        console.log("videoAd.offClose卸载成功");
140
+      }
141
+    } catch (e) {
142
+      console.log("videoAd.offClose 卸载失败");
143
+      console.error(e);
144
+    }
145
+    videoAd.closeHandler = function (data) {
146
+      Taro.hideLoading()
134 147
       if (data.isEnded) {
135 148
         api.finishTask({ task_id: item.id }).then(res => {
136 149
           if (res.code == 200) {
@@ -150,7 +163,9 @@ export default class collection extends Component {
150 163
           duration: 2000
151 164
         })
152 165
       }
153
-    });
166
+    }
167
+    // 监听视频播放完成
168
+    videoAd.onClose(videoAd.closeHandler);
154 169
   }
155 170
   //微信激励广告
156 171
   playVideo (item) {

+ 14 - 7
src/pages/index/index.jsx

@@ -392,6 +392,7 @@ export default class Mine extends Component {
392 392
   }
393 393
   //抖音激励广告
394 394
   playVideoTT (item) {
395
+    let that = this
395 396
     let lastTime = this.state.lastTime;
396 397
     let now = new Date().getTime();
397 398
     if (now - lastTime < 2000) return
@@ -414,14 +415,20 @@ export default class Mine extends Component {
414 415
         // 更多请参考错误码文档
415 416
       }
416 417
     });
417
-    // 监听视频播放完成
418
-    videoAd.onClose((data) => {
418
+    try {
419
+      if (videoAd.closeHandler) {
420
+        videoAd.offClose(videoAd.closeHandler);
421
+        console.log("videoAd.offClose卸载成功");
422
+      }
423
+    } catch (e) {
424
+      console.log("videoAd.offClose 卸载失败");
425
+      console.error(e);
426
+    }
427
+    videoAd.closeHandler = function (data) {
419 428
       Taro.hideLoading();
420 429
       if (data.isEnded) {
421 430
         api.finishTask({ task_id: item.id }).then(res => {
422 431
           if (res.code == 200) {
423
-            that.getUserInfo()
424
-            that.getCoinTaskList()
425 432
             Taro.showToast({
426 433
               title: '领取点券成功',
427 434
               icon: 'none',
@@ -436,7 +443,9 @@ export default class Mine extends Component {
436 443
           duration: 2000
437 444
         })
438 445
       }
439
-    });
446
+    }
447
+    // 监听视频播放完成
448
+    videoAd.onClose(videoAd.closeHandler);
440 449
   }
441 450
   //微信激励广告
442 451
   playVideo (item) {
@@ -475,8 +484,6 @@ export default class Mine extends Component {
475 484
           // 正常播放结束,可以下发游戏奖励
476 485
           api.finishTask({ task_id: item.id }).then(res => {
477 486
             if (res.code == 200) {
478
-              that.getUserInfo()
479
-              that.getCoinTaskList()
480 487
               Taro.showToast({
481 488
                 title: '领取点券成功',
482 489
                 icon: 'none',