浏览代码

[bug][赋值到文本框不上的问题]

zhangwei 2 年之前
父节点
当前提交
a47e5f41b2
共有 4 个文件被更改,包括 44 次插入32 次删除
  1. 2 0
      src/entry/content.js
  2. 10 0
      src/logic/content/help/twitter.js
  3. 32 31
      src/logic/content/twitter.js
  4. 0 1
      src/view/iframe/group-card/card.vue

+ 2 - 0
src/entry/content.js

@@ -155,12 +155,14 @@ chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
             loginSuccessHandle();
             break;
         case 'IFRAME_SHOW_JOIN_DIALOG':
+            console.log('IFRAME_SHOW_JOIN_DIALOG')
             showJoinDialog(req.data)
             break
         case 'IFRAME_SHOW_GROUP_TIP':
             showGroupTip()
             break
         case 'IFRAME_SHOW_POST_DIALOG':
+            console.log('IFRAME_SHOW_POST_DIALOG')
             showTwitterPost(req.data)
             break
         case 'BACK_TWITTER_NFT_POST_PRE':

+ 10 - 0
src/logic/content/help/twitter.js

@@ -17,4 +17,14 @@ export const jumpTwitterDetailByAlert = () => {
         }
         num--
     }, 500)
+}
+
+export const showEditTweet = () => {
+    let bigBtn = document.querySelector('a[data-testid="SideNav_NewTweet_Button"]');
+    if (bigBtn) {
+        bigBtn.click();
+    } else {
+        let smallBtn = document.querySelector('a[href="/compose/tweet"]')
+        smallBtn && smallBtn.click();
+    }
 }

+ 32 - 31
src/logic/content/twitter.js

@@ -6,7 +6,7 @@ import Report from "@/log-center/log"
 import { fetchAddFinishEvent } from '@/logic/background/fetch/facebook';
 import { showNFTGroupIcon, hideNFTGroupList, checkUserJoinGroup, elemAddEventListener, addJoinedGroupList } from '@/logic/content/nft';
 import { getTwitterNftGroupInfo } from '@/http/nft'
-import { jumpTwitterDetailByAlert } from '@/logic/content/help/twitter.js'
+import { jumpTwitterDetailByAlert, showEditTweet } from '@/logic/content/help/twitter.js'
 
 let dom = {};
 
@@ -1297,18 +1297,13 @@ export const showTwitterPost = (data) => {
         return
     }
     click_old_time = click_new_time
-    let bigBtn = document.querySelector('a[data-testid="SideNav_NewTweet_Button"]');
-    if (bigBtn) {
-        bigBtn.click();
-    } else {
-        let smallBtn = document.querySelector('a[href="/compose/tweet"]')
-        smallBtn && smallBtn.click();
-    }
-    content_get_nft_post_pre({
+    console.log('showEditTweet')
+    showEditTweet()
+    contentGetNftPostPre({
         groupId: data.groupId
     })
     let groupTab = getGroupTabNode();
-    if(groupTab) {
+    if (groupTab) {
         groupTab.click();
     } else {
         setTimeout(() => {
@@ -1381,7 +1376,7 @@ export const publishNFTTweetPost = ({ postId, srcContent, groupId }) => {
     }, () => { });
 }
 
-const content_get_nft_post_pre = (data) => {
+const contentGetNftPostPre = (data) => {
     chrome.runtime.sendMessage({
         actionType: "CONTENT_GET_TWITTER_NFT_POST_PRE",
         data
@@ -1389,18 +1384,24 @@ const content_get_nft_post_pre = (data) => {
 }
 
 let tweet_nft_content = {}
-export const setTwitterTextarea = (params) => {
+export const setTwitterTextarea = (params, num = 5) => {
+    if (num <= 0) {
+        return
+    }
     tweet_nft_content = params
     let inputEle = document.querySelector('div[contenteditable="true"]');
     if (inputEle) {
         inputEle.focus();
         document.execCommand("insertText", false, '');
-
         setTimeout(() => {
             document.execCommand("insertText", false, params.srcContent);
-        }, 1000);
-
-        publishNFTTweetEvent(params)
+            publishNFTTweetEvent(params)
+        }, 1000)
+    } else {
+        setTimeout(() => {
+            num--
+            setTwitterTextarea(params, num)
+        }, 500);
     }
 }
 
@@ -1711,7 +1712,7 @@ const createGroupTabNode = () => {
     divNode.style.cssText = 'display: flex; align-items: center;height: 100%';
     divNode.appendChild(groupIcon);
     divNode.appendChild(document.createTextNode('Group'));
-    
+
 
     let lineDom = document.createElement('div');
     lineDom.id = 'de-tab-line';
@@ -1763,7 +1764,7 @@ const addGroupTab = () => {
     }
     let tabListDom = document.querySelector('div[role="tablist"]');
     let groupItemTab = getGroupTabNode();
-    
+
     if (tabListDom && !groupItemTab) {
         let groupTab = createGroupTabNode();
 
@@ -1883,7 +1884,7 @@ const onShowGroupBanner = () => {
                     actionType: "SWITCH_GROUP_BANNER_STATUS",
                     data: { type: 'btn' }
                 }, () => { });
-                if(!getGroupTabNode()) {
+                if (!getGroupTabNode()) {
                     addGroupTab();
                 }
                 break
@@ -1940,7 +1941,7 @@ const addTweetTabEventListener = (params) => {
     }
 }
 
-const TweetTabEventHandler = () =>  {
+const TweetTabEventHandler = () => {
     window.removeEventListener('scroll', addPageScrollEvent);
 
     setGroupTabSelfStyle({
@@ -1972,7 +1973,7 @@ const TweetTabEventHandler = () =>  {
 const setGroupTabSelfStyle = (params = {}) => {
     let { groupColor, groupFontWeight, lineDisplay } = params;
     let groupTab = getGroupTabNode();
-    if(groupTab) {
+    if (groupTab) {
         groupTab.style.color = groupColor;
         groupTab.style.fontWeight = groupFontWeight;
     }
@@ -2000,9 +2001,9 @@ export const refreshTabGroup = () => {
 const setTweetActiveTabStyle = (params) => {
     let { color, display } = params || {};
     let tab = document.querySelector('a[aria-selected="true"]');
-    if(tab) {
+    if (tab) {
         let tweetActiveTab = tab.querySelector('div');
-        if(tweetActiveTab) {
+        if (tweetActiveTab) {
             tweetActiveTab.style.color = color;
 
             let tweetTabLine = tweetActiveTab.querySelector('div');
@@ -2041,7 +2042,7 @@ const setTabContentStyle = (params) => {
         addTabGroupContent();
     }
     setTimeout(() => {
-        iframeContent =getGroupTabContentNode();
+        iframeContent = getGroupTabContentNode();
         if (iframeContent) {
             iframeContent.style.display = iframeContentDisplay;
         }
@@ -2127,11 +2128,11 @@ export const getTweetProfileNavTop = (params) => {
 export const setGroupInfo = (params = {}) => {
     tweetAccountBindGroupInfo.groupInfo = params;
     let groupTab = getGroupTabNode();
-    
+
     if (!params.nftGroupId) {
-        let {pathname = ''} = window.location;
-        if(pathname == "/compose/tweet") {
-            if(groupTab) {
+        let { pathname = '' } = window.location;
+        if (pathname == "/compose/tweet") {
+            if (groupTab) {
                 groupTab.click();
             }
             return;
@@ -2147,9 +2148,9 @@ export const setGroupInfo = (params = {}) => {
             }, 800)
         }
     } else {
-        if(groupTab) {
-            let {display} = groupTab.style;
-            if(display == 'none') {
+        if (groupTab) {
+            let { display } = groupTab.style;
+            if (display == 'none') {
                 groupTab.style.display = 'block';
             }
         }

+ 0 - 1
src/view/iframe/group-card/card.vue

@@ -169,7 +169,6 @@ onMounted(() => {
     init(() => {
         sendChromeTabMessage({ actionType: "IFRAME_SHOW_GROUP_TIP" })
     })
-
 })
 </script>