Explorar el Código

Merge branch 'dev_1.1.7.4' of https://git.yishihui.com/DeNet/de-net into dev_1.1.7.4

zhangwei hace 2 años
padre
commit
c10797b920

+ 8 - 8
src/logic/content/twitter.js

@@ -1201,7 +1201,7 @@ export function replyHandle(params) {
 }
 
 export function onTweetReplyClick(params) {
-    let iframe = window.parent.document.getElementById(params.postId);
+    let iframe = window.parent.document.getElementById(params.iframeId);
     let replyBtn = iframe.parentNode.parentNode.querySelector('div[data-testid="reply"]') ||
         iframe.parentNode.parentNode.parentNode.querySelector('div[data-testid="reply"]');
     if (replyBtn) {
@@ -2867,13 +2867,13 @@ export const sendContentByTwitterID = (params) => {
     // 获取内容
     let txt = parseCard.getContentByTwitterId(tweet_Id);
     messageCenter.send({
-        info: {
-            iframeId: params.iframeId,
-            actionType: 'CONTENT_GET_TWEET_TXT'
-        },
-        data: {
-            iframeGUId, tweet_Id, txt
-        }
+      info: {
+          iframeId: params.iframeId,
+          actionType: 'CONTENT_GET_TWEET_TXT'
+      },
+      data: {
+          tweet_Id, txt, iframeGUId
+      }
     })
     // 发送
     // chrome.runtime.sendMessage({

+ 4 - 3
src/view/iframe/red-packet/luck-draw.vue

@@ -842,7 +842,8 @@ function feacebookShareUrl(params = {}) {
     let { href = '', type = '', taskLuckdropId } = params;
     let cbParams = JSON.stringify({
         type,
-        taskLuckdropId
+        taskLuckdropId,
+        iframeId: state.iframeId
     })
     let shareUrl = `https://www.facebook.com/dialog/share?app_id=${facebookAppConfig.facebookAppId}&display=popup&href=${href}&redirect_uri=${facebookAppConfig.faceShareRedirectUrl}?params=${cbParams}`;
 
@@ -1984,7 +1985,7 @@ function handleErrorCode(res) {
 //   });
 // }
 function onWindowMessage() {
-    window.addEventListener("message", function (event) {
+    window.onmessage = function (event) {
         if (event.data) {
             switch (event.data.actionType) {
                 case 'CONTENT_RED_PACKET_REPLY_RASK_FINSH':
@@ -2001,7 +2002,7 @@ function onWindowMessage() {
                     break;
             }
         }
-    });
+    }
 }
 
 function onPageVisbile() {

+ 56 - 71
src/view/iframe/red-packet/red-packet.vue

@@ -425,6 +425,7 @@ import { getInviteGuildInfo } from "@/http/discordApi";
 import GlobalTip from '@/view/components/global-tip.vue'
 import customCardCover from '@/view/components/custom-card-cover.vue';
 import { RewardType, PlayType } from '@/types';
+import denet from '@/denet'
 
 var moment = require('moment');
 
@@ -529,13 +530,9 @@ async function clickLikeBtn() {
       break
     case '3':
       state.loading_show = true
-      chrome.tabs.getCurrent((tab) => {
-        chrome.tabs.sendMessage(tab.id, {
-          actionType: "IFRAME_TWITTER_API_DO_TASK", task_data: {
-            tweet_Id: state.tweetId
-          }, task_type: 'like'
-        }, (res) => { console.log(res) });
-      })
+      let likeRes = await denet.content.doTask.like({ tweetId: state.tweetId });
+      likeRes && doTaskReport({...likeRes, task_type: 'like', do_type: 'api'}, {tab: {}});
+
       break
     default:
       window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
@@ -644,13 +641,8 @@ async function clickRetweetBtn() {
       break
     case '3':
       state.loading_show = true
-      chrome.tabs.getCurrent((tab) => {
-        chrome.tabs.sendMessage(tab.id, {
-          actionType: "IFRAME_TWITTER_API_DO_TASK", task_data: {
-            tweet_Id: state.tweetId
-          }, task_type: 'retweet'
-        }, (res) => { console.log(res) });
-      })
+      let retweetRes = await denet.content.doTask.reTweet({ tweetId: state.tweetId });
+      retweetRes && doTaskReport({...retweetRes, task_type: 'retweet', do_type: 'api'}, {tab: {}});
       break
     default:
       window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`)
@@ -672,6 +664,7 @@ async function clickRetweetBtn() {
 function onTweetReplyClick(params) {
   let replyData = {
     postId: state.postId,
+    iframeId: state.iframeId,
     type: params.type,
     taskLuckdropId: state.detail.taskLuckdropId
   }
@@ -687,6 +680,7 @@ async function clickReply(params) {
 
   let replyData = {
     postId: state.postId,
+    iframeId: state.iframeId,
     type: params.type,
     taskLuckdropId: state.detail.taskLuckdropId
   }
@@ -895,17 +889,20 @@ async function clickFollowAll(item, is_all) {
         follow_data.push(item)
       })
       state.loading_show = true
-      chrome.tabs.getCurrent((tab) => {
-        chrome.tabs.sendMessage(tab.id, {
-          actionType: "IFRAME_TWITTER_API_DO_TASK",
-          task_data: {
-            tweet_Id: state.tweetId,
-            follow_data: follow_data,
-          },
-          task_type: 'follow'
-        }, (res) => { console.log(res) });
-      })
+      let promiseList = [];
+      for (let i = 0; i < follow_data.length; i++) {
+          promiseList[i] = denet.content.doTask.follows({ follow_name: follow_data[i]['name'], twitterUserId: follow_data[i]['twitterUserId'] });
+      }
 
+      Promise.allSettled(promiseList).then((res) => {
+        if (res && res.length) {
+            let resList = res.filter(item => item.status == 'fulfilled');
+            for (let i = 0; i < resList.length; i++) {
+              let item = resList[i].value;
+              item && doTaskReport({...item, task_type: 'follow', task_data: {follow_name: item.follow_name}, do_type: 'api'}, {tab: {}});
+            }
+        }
+      })
       break
     default:
       openFollowTabs(arr_name)
@@ -953,16 +950,37 @@ const reSetBindTwtterId = (_params) => {
   })
 }
 
-const reportBindTweetSuccess = (params) => {
+const reportBindTweetSuccess = async (params) => {
   let { discordTask, srcUserId } = params || {};
   discordTaskDetail = discordTask;
-  sendCurrentTabMessage({
-    actionType: "IFRAME_API_GET_TWEET_USER_INFO_REQ",
-    data: {
-      screen_name: srcUserId,
-      tweetId: state.tweetId
+  let {user = {}} = await denet.content.getData.getUserInfoByName({ screen_name: srcUserId });
+  if (user && user.result && user.result.legacy) {
+    let legacy = user.result.legacy;
+    reportParams.twitterFans = legacy ? legacy.followers_count : 0;
+
+    if (!discordTaskDetail) {
+        if (reportParams.hasReport) return;
+        reportParams.hasReport = true;
+        Report.reportLog({
+            objectType: Report.objectType.tweetPostBinded,
+            twitterFans: reportParams.twitterFans,
+            redPacketType: 1,
+            postId: state.postId
+        });
+    } else {
+        if (reportParams.discordFans !== '') {
+            if (reportParams.hasReport) return;
+            reportParams.hasReport = true;
+            Report.reportLog({
+                objectType: Report.objectType.tweetPostBinded,
+                twitterFans: reportParams.twitterFans,
+                discordFans: reportParams.discordFans,
+                redPacketType: 1,
+                postId: state.postId
+            });
+        }
     }
-  })
+  }
 
   if (discordTask) {
     getDiscordInfo({ inviteUrl: JSON.parse(discordTask.bizData).inviteUrl }, (res) => {
@@ -1291,7 +1309,8 @@ function initTaskDetail(cb) {
 let tab_index = 0
 const doTaskReport = (req, sender) => {
   state.loading_show = false
-  let follow_name = req.task_data.follow_name || ''
+  let follow_name = req.task_data ? req.task_data.follow_name : '';
+
   // 1 Twitter follow Twitter ScreenName
   // 2 Tweet like
   // 3 Retweet
@@ -1363,6 +1382,7 @@ const doTaskReport = (req, sender) => {
 onMounted(() => {
   state.process_mode = process.env.NODE_ENV
   state.postId = getQueryString('postId')
+  state.iframeId = getQueryString('iframeId') || ''
   state.window_origin = getQueryString('window_origin') || '';
   if (state.window_origin.indexOf('twitter.com') > -1) {
     state.tweetId = getQueryString('tweetId')
@@ -1763,8 +1783,10 @@ function onWindowMessage() {
     if (event.data) {
       switch (event.data.actionType) {
         case 'CONTENT_RED_PACKET_REPLY_RASK_FINSH':
-          state.done.reply = true;
-          state.done.reply_red = false;
+          if (event.data.data.postId == state.postId) {
+            state.done.reply = true;
+            state.done.reply_red = false;
+          }
           break;
         case 'CONTENT_RED_PACKET_GET_TWEET_AUTHOR':
           fullName = event.data.data.fullName
@@ -1803,43 +1825,6 @@ function onRuntimeMsg() {
         state.loading_show = false
         doTaskReport(req, sender);
         break;
-      case 'CONTENT_RED_PACKET_REPLY_RASK_FINSH':
-        if (req.data && req.data.postId == state.postId) {
-          state.done.reply = true;
-          state.done.reply_red = false;
-        }
-        break;
-      case 'CONTENT_API_GET_TWEET_USER_INFO_RES':
-        let { user } = req.data || {};
-        if (req.tweetId == state.tweetId && user && user.result && user.result.legacy) {
-          let legacy = user.result.legacy;
-          reportParams.twitterFans = legacy ? legacy.followers_count : 0;
-
-          if (!discordTaskDetail) {
-            if (reportParams.hasReport) return;
-            reportParams.hasReport = true;
-            Report.reportLog({
-              objectType: Report.objectType.tweetPostBinded,
-              twitterFans: reportParams.twitterFans,
-              redPacketType: 0,
-              postId: state.postId
-            });
-          } else {
-            if (reportParams.discordFans !== '') {
-              if (reportParams.hasReport) return;
-              reportParams.hasReport = true;
-              Report.reportLog({
-                objectType: Report.objectType.tweetPostBinded,
-                twitterFans: reportParams.twitterFans,
-                discordFans: reportParams.discordFans,
-                redPacketType: 0,
-                postId: state.postId
-              });
-            }
-          }
-
-        }
-        break;
     }
     sendResponse && sendResponse();
   })