소스 검색

[edit] treasure msg center

wenliming 2 년 전
부모
커밋
b757662c0e
5개의 변경된 파일35개의 추가작업 그리고 92개의 파일을 삭제
  1. 4 7
      src/entry/content.js
  2. 3 1
      src/logic/content/help/doTask.js
  3. 19 0
      src/logic/content/help/dom.js
  4. 0 16
      src/logic/content/twitter.js
  5. 9 68
      src/view/iframe/treasure-hunt/index.vue

+ 4 - 7
src/entry/content.js

@@ -36,7 +36,6 @@ import {
     refreshTabGroup,
     groupTipsSelectGroupTab,
     showPublishDialog,
-    sendContentByTwitterID,
     getExtensionStorgeDataForIframe
 } from "@/logic/content/twitter.js";
 import denet from '@/denet'
@@ -58,6 +57,7 @@ import {
 
 import doTask from '@/logic/content/help/doTask'
 import getData from '@/logic/content/help/getData'
+import dom from '@/logic/content/help/dom'
 import chromeMessageCenter from '@/uilts/messageCenter/chrome';
 
 chrome.storage.onChanged.addListener(changes => {
@@ -115,9 +115,6 @@ const oldOnMessageMethod = (res) => {
         case 'IFRAME_GET_EXTENSION_STORGE_DATA':
             getExtensionStorgeDataForIframe(res.data.data);
             break;
-        case 'GET_CONTENT_BY_TWITTER_ID':
-            sendContentByTwitterID(res.data)
-            break
     }
 }
 
@@ -145,6 +142,9 @@ const newOnMessageMethod = (res) => {
         case 'IFRAME_DO_TASK_DO_TREASURE_TASKS':
             doTask.doTreasureTasks({ info, data })
             break;
+        case 'IFRAME_DOM_GET_TWEET_TEXT':
+            dom.getContentByTwitterID({info, data})
+            break;
     }
 }
 
@@ -255,9 +255,6 @@ const oldRuntimeOnMessageMethod = (req, sender, sendResponse) => {
         case 'Hide_ToolBox_By_Nft':
             toolBox.hideBuyNft(req)
             break;
-        case 'GET_CONTENT_BY_TWITTER_ID':
-            sendContentByTwitterID(req.data.tweet_Id)
-            break
     }
 }
 

+ 3 - 1
src/logic/content/help/doTask.js

@@ -19,7 +19,9 @@ const TwitterApiCreateTweet = (params) => {
         "vibe_api_enabled": true,
         "responsive_web_edit_tweet_api_enabled": false,
         "standardized_nudges_misinfo": true,
-        "responsive_web_enhance_cards_enabled": false
+        "responsive_web_enhance_cards_enabled": false,
+        "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false,
+        "responsive_web_text_conversations_enabled": false
     },
     variables: {
         "tweet_text": txt,

+ 19 - 0
src/logic/content/help/dom.js

@@ -0,0 +1,19 @@
+import messageCenter from '@/uilts/messageCenter/content';
+import parseCard from '../ParseCard'
+
+// 获取推文发送回去
+const getContentByTwitterID = ({info, data}) => {
+  // 获取内容
+  let txt = parseCard.getContentByTwitterId(data.tweetId);
+
+  messageCenter.send({
+    info,
+    data: {
+      txt
+    }
+  })
+}
+
+export default {
+  getContentByTwitterID
+}

+ 0 - 16
src/logic/content/twitter.js

@@ -2481,19 +2481,3 @@ export const showPublishDialog = () => {
         smallBtn.click();
     }
 }
-
-// 获取推文发送回去
-export const sendContentByTwitterID = (params) => {
-    let { tweet_Id, iframeGUId } = JSON.parse(params.data);
-    // 获取内容
-    let txt = parseCard.getContentByTwitterId(tweet_Id);
-    messageCenter.send({
-      info: {
-          iframeId: params.iframeId,
-          actionType: 'CONTENT_GET_TWEET_TXT'
-      },
-      data: {
-          tweet_Id, txt, iframeGUId
-      }
-    })
-}

+ 9 - 68
src/view/iframe/treasure-hunt/index.vue

@@ -63,32 +63,8 @@ onMounted(() => {
     state.page_type = params.page_type || ''
 
     state.init();
-    // onRuntimeMsg();
-    onWindowMessage();
 })
 
-const onWindowMessage = () => {
-    window.onmessage = (res) => {
-        console.log('onWindowMessage', res);
-        let { info, data } = res.data
-        if (res && res.data && info) {
-            let msgData = data;
-            if (msgData.iframeGUId == state.iframeId) {
-                switch (info.actionType) {
-                    case "CONTENT_GET_TWEET_TXT":
-                        if (msgData.tweet_Id == state.tweetId && !state.detail.postSrcContent) {
-                            state.detail.postSrcContent = msgData.txt
-                            reSetBindPostContent({
-                                postId: state.postId || '',
-                                postSrcContent: msgData.txt,
-                            })
-                        }
-                        break;
-                }
-            }
-        }
-    }
-}
 state.checkIsLogin = () => {
     return new Promise((resolve) => {
         getChromeStorage('userInfo', (_userInfo) => {
@@ -133,21 +109,21 @@ state.init = (callback) => {
             params: {
                 postId: params.post_Id
             }
-        }).then((res) => {
+        }).then(async (res) => {
             if (res.code == 0) {
                 state.loading_redbag = false
                 handleCommon(res, callback)
                 // 原始链接绑定post content
                 if (!res.data.postSrcContent) {
+                  let contentData  = await denet.content.dom.getTweetText({ tweetId: state.tweetId });
 
-                    window.parent.postMessage({
-                        actionType: "GET_CONTENT_BY_TWITTER_ID",
-                        data: JSON.stringify({
-                            tweet_Id: state.tweetId,
-                            iframeGUId: state.iframeId,
-                        }),
-                        iframeId: state.iframeId
-                    }, "*");
+                  if(contentData && contentData.txt) {
+                    state.detail.postSrcContent = contentData.txt
+                    reSetBindPostContent({
+                        postId: state.postId || '',
+                        postSrcContent: contentData.txt,
+                    })
+                  }
                 }
             }
         })
@@ -331,41 +307,6 @@ const handleStatus = (callback) => {
     callback && callback()
 }
 
-function onRuntimeMsg() {
-    chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
-        switch (req.actionType) {
-            case 'CONTENT_GET_TWEET_TXT':
-                if (req.data.tweet_Id == state.tweetId && !state.detail.postSrcContent) {
-                    state.detail.postSrcContent = req.data.txt
-                    reSetBindPostContent({
-                        postId: state.postId || '',
-                        postSrcContent: req.data.txt,
-                    })
-                }
-                break
-            case 'CONTENT_API_GET_TWEET_USER_INFO_RES':
-                if (state.iframeId != req.iframeId) {
-                    return;
-                }
-                let twitterFans = 0;
-                let { user } = req.data || {};
-                if (user && user.result && user.result.legacy) {
-                    let legacy = user.result.legacy;
-                    twitterFans = legacy ? legacy.followers_count : 0;
-                }
-                if (state.tweetId == req.tweetId && req.objectType == Report.objectType.tweetPostBinded) {
-                    Report.reportLog({
-                        objectType: Report.objectType.tweetPostBinded,
-                        twitterFans: twitterFans,
-                        redPacketType: Report.redPacketType.treasure,
-                        postId: state.postId
-                    });
-                }
-                break;
-        }
-        sendResponse && sendResponse();
-    })
-}
 </script>
 <style lang="scss" >
 html,