| 
					
				 | 
			
			
				@@ -132,14 +132,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="luck-list-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div>{{ state.detail.receiveCount || 0 }}/{{ state.detail.totalCount || 0 }} Winners</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="right">  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="text"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.receiveAmountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               {{ getBit(state.detail.receiveAmountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            / 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              {{ getBit(state.detail.amountValue) || ''}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {{ getBit(state.detail.amountValue) || '' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           {{ state.detail.currencySymbol || '' }} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -159,9 +159,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="luck-money"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <img :src="state.detail.currencyIconPath" alt /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="luck-money-txt"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <a-tooltip :title="item.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  {{ getBit(item.amountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-tooltip :title="item.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ getBit(item.amountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="luck-king" v-if="item.maxAmount"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -202,18 +202,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="luck-list-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div>{{ state.detail.receiveCount || 0 }}/{{ state.detail.totalCount || 0 }} Winners</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="right">  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="text"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.receiveAmountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               {{ getBit(state.detail.receiveAmountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            / 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               {{ getBit(state.detail.amountValue) || '' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </span> {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            state.detail.currencySymbol || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              state.detail.currencySymbol || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="luck-list" @scroll="handleScroll"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="luck-item" v-for="item, i in state.detail.allReceived" v-bind:key="i"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -261,18 +262,19 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="luck-list-title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div>{{ state.detail.receiveCount || 0 }}/{{ state.detail.totalCount || 0 }} Winners</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="right">  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span class="text"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.receiveAmountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               {{ getBit(state.detail.receiveAmountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            / 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <a-tooltip :title="state.detail.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               {{ getBit(state.detail.amountValue || '') }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </span> {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            state.detail.currencySymbol || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              state.detail.currencySymbol || '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="luck-list max" @scroll="handleScroll"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -288,9 +290,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="luck-money"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <img :src="state.detail.currencyIconPath" alt /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="luck-money-txt"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <a-tooltip :title="item.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  {{ getBit(item.amountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <a-tooltip :title="item.amountValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{ getBit(item.amountValue) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </a-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="luck-king" v-if="item.maxAmount"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,7 +338,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { onMounted, reactive, ref } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getPostDetail, getRedPacket, finishRedPacket, oneKeyLike, oneKeyReTweet, oneKeyFollow, getTaskDetail, getReceivedList } from '@/http/redPacket.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getPostDetail, getRedPacket, finishRedPacket, oneKeyLike, oneKeyReTweet, oneKeyFollow, getTaskDetail, getReceivedList, addFinishEvent } from '@/http/redPacket.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getQueryString, guid, getBit } from '@/uilts/help.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { message } from 'ant-design-vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import FontAmount from '@/view/components/font-amount.vue' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -375,12 +377,23 @@ let state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function clickRetry() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let follow_open_tabs = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async function clickLikeBtn() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let _userInfo = await checkIsLogin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!_userInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.loading_show = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // window.parent.postMessage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   actionType: "IFRAME_DO_TASK", task_data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //     tweet_Id: state.tweetId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   }, task_type: 'like' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // }, "*"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   oneKeyLike({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       tweetId: state.srcContentId 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -392,10 +405,11 @@ async function clickLikeBtn() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.done.like = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.done.like = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       state.done.like = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 埋点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -457,8 +471,8 @@ async function clickRetweetBtn() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!_userInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.loading_show = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   oneKeyReTweet({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       tweetId: state.srcContentId 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -469,11 +483,12 @@ async function clickRetweetBtn() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (res.data.result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.done.retweet = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.done.retweet = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      window.open(`https://twitter.com/retweet/like?tweet_id=${state.tweetId}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       state.done.retweet = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 埋点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -524,8 +539,11 @@ async function clickFollowAll(item, is_all) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.loading_show = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let arr_name = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (let i in item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    arr_name.push(item[i].name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!item[i].finished) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      arr_name.push(item[i].name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   oneKeyFollow({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       names: arr_name 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -547,22 +565,29 @@ async function clickFollowAll(item, is_all) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         state.done.follow = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      state.detail.taskCondition[0].relatedUsers.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        item.finished = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 打开标签页的方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      arr_name.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url = `https://twitter.com/intent/follow?screen_name=${item}&tweet_id=${state.tweetId}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        chrome.tabs.create({ url }, (tab) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (follow_open_tabs.filter((item) => { return item.url == tab.url }).length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            follow_open_tabs.push(tab) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // -------- 埋点 -------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let _log_obj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pageSource: Report.pageSource.task_page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     businessType: Report.businessType.buttonClick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     objectType: Report.objectType.follow 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (is_all) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 埋点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _log_obj.objectType = Report.objectType.follow_button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Report.reportLog(_log_obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -808,9 +833,72 @@ function initTaskDetail() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let tab_index = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const doTaskReport = (type, { follow_name = '' }, sender) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 1 Twitter follow Twitter ScreenName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 2 Tweet like 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 3 Retweet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let event_type = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  switch (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    case 'retweet': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event_type = 3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.done.retweet = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chrome.tabs.remove(sender.tab.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    case 'like': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event_type = 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.done.like = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chrome.tabs.remove(sender.tab.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    case 'follow': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event_type = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chrome.tabs.remove(sender.tab.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let i = 0; i < follow_open_tabs.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (follow_open_tabs[i].id == sender.tab.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          follow_open_tabs.splice(i, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chrome.tabs.getCurrent((tab) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (follow_open_tabs.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          tab_index = follow_open_tabs[follow_open_tabs.length - 1].index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          tab_index = tab.index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        chrome.tabs.highlight({ windowId: tab.windowId, tabs: tab_index }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let has_no_finished = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.detail.taskCondition[0].relatedUsers.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (follow_name == item.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          item.finished = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.detail.taskCondition[0].relatedUsers.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!item.finished) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          has_no_finished = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!has_no_finished) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.done.follow = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.done.follow_red = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  addFinishEvent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      eventData: follow_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      eventType: event_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      luckdropId: state.detail.taskLuckdropId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.process_mode = process.env.NODE_ENV 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  console.log('state.process_mode',state.process_mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.postId = getQueryString('postId') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   state.tweetId = getQueryString('tweetId') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   init() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -819,6 +907,7 @@ onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // state.close_status = '没有领到钱' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 点击领取 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function clickOpenRedPacket() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   chrome.runtime.sendMessage({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1153,6 +1242,12 @@ function onRuntimeMsg() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       case 'BACK_DISCORD_LOGIN_SUCCESS': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         discordLoginSuccess(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      case 'DO_TASK': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!req.task_type || state.tweetId != req.tweet_Id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.loading_show = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        doTaskReport(req.task_type, req.task_data, sender) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1221,7 +1316,7 @@ async function joinDiscord() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           state.done.join_discord = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           state.done.join_discord = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if(discordAuthorizeRequired) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (discordAuthorizeRequired) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             discordAuth('authAndJoinIng'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             openInviteUrl(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1298,7 +1393,7 @@ function discordLoginSuccess() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (joinDiscordActionState == 'authAndJoinIng') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     openInviteUrl(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if(discordAuthorizeRequired) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (discordAuthorizeRequired) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     discordAuthorizeRequired = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1475,6 +1570,7 @@ body { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         p { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           margin: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           padding: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           color: #fff; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1581,7 +1677,7 @@ body { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       div:last-child { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         text-align: right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       .text { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 |