Bläddra i källkod

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

zhangwei 2 år sedan
förälder
incheckning
150ecdfb13
2 ändrade filer med 25 tillägg och 5 borttagningar
  1. 21 2
      src/logic/content/nft.js
  2. 4 3
      src/logic/content/twitter.js

+ 21 - 2
src/logic/content/nft.js

@@ -6,6 +6,8 @@ import { jumpTwitterDetailByAlert } from '@/logic/content/help/twitter.js'
 
 var ifShowNftGroup = false;
 var tempNftGroupPost = null;
+var groupImgNoSelect = require("@/assets/img/icon-nft-group-entry.png");
+var groupImgSelect = require("@/assets/img/icon-nft-group-select.png");
 
 export const showNFTGroupIcon = () => {
     let urlInfo = new URL(window.location.href)
@@ -17,7 +19,7 @@ export const showNFTGroupIcon = () => {
         let oDiv = document.createElement(`div`);
             oDiv.id = 'de-nft-group-enter';
         let oImg = document.createElement('img');
-            oImg.src = require("@/assets/img/icon-nft-group-entry.png");
+            oImg.src = groupImgNoSelect;
             oImg.className = 'addGroup';
             oDiv.innerHTML = `
                 ${oImg.outerHTML}
@@ -112,6 +114,7 @@ export const setPostContent = (res) => {
         if (inputEle) {
             inputEle.focus();
         }
+        setGroupIconStatus();
     }, 100).then(() => {
         _setPublishContent(res.srcContent + ' ');
     })
@@ -168,6 +171,7 @@ export const setNFTGroupContent = (res) => {
 
 export const elemAddEventListener = (elem, action, fn) => {
     if (elem) {
+        elem.removeEventListener(action, fn)
         elem.addEventListener(action, fn)
     }
 }
@@ -210,7 +214,22 @@ export const setJoinedGroupIframeStyle = (params) => {
     }
 }
 
-
+export function setGroupIconStatus() {
+    let editElem = document.querySelector('div[contenteditable="true"]');
+    let main_observer = new MutationObserver(() => {
+        let groupImg = document.querySelector('#de-nft-group-enter');
+        let innerText = editElem.innerText || '';
+        if (groupImg && innerText) {
+            let where = innerText.indexOf('#DNFT') !== -1 && innerText.indexOf('nft_group') !== -1;
+            if (where) {
+                groupImg.querySelector('.addGroup').src = groupImgSelect;
+            } else {
+                groupImg.querySelector('.addGroup').src = groupImgNoSelect;
+            }
+        }
+    });
+    main_observer.observe(editElem, { attributes: false, childList: true, subtree: true })
+}
 function _addTweetButtonListen() {
     let btn = document.querySelector('div[data-testid="tweetButton"]');
 

+ 4 - 3
src/logic/content/twitter.js

@@ -7,7 +7,7 @@ import { fetchAddFinishEvent } from '@/logic/background/fetch/facebook';
 import { showNFTGroupIcon, hideNFTGroupList, checkUserJoinGroup, elemAddEventListener, addJoinedGroupList } from '@/logic/content/nft';
 import { getTwitterNftGroupInfo } from '@/http/nft'
 import { jumpTwitterDetailByAlert, showEditTweet } from '@/logic/content/help/twitter.js'
-import { clearPostContent } from '@/logic/content/nft.js'
+import { clearPostContent, setGroupIconStatus } from '@/logic/content/nft.js'
 import axios from 'axios';
 
 let dom = {};
@@ -412,7 +412,7 @@ export function noticeBindTweet(params) {
     let iframe = document.createElement('iframe');
     iframe.id = 'de-notice-bind-tweet';
     iframe.src = chrome.runtime.getURL('/iframe/bind-tweet.html') + `?params=${JSON.stringify(params)}`;
-    iframe.style.cssText = `border: medium none; width:400px;min-height:313px;position: fixed; right: 16px; top: 16px;`
+    iframe.style.cssText = `border: medium none; width:400px;min-height:313px;position: fixed; right: 16px; top: 16px;border-radius: 20px;`
     let iframeContent = document.getElementById('de-notice-bind-tweet');
     if (!iframeContent) {
         document.querySelector('body').appendChild(iframe)
@@ -1459,9 +1459,10 @@ export const setTwitterTextarea = (params, num = 5) => {
     let inputEle = document.querySelector('div[contenteditable="true"]');
     if (inputEle) {
         inputEle.focus();
+        setGroupIconStatus();
         document.execCommand("insertText", false, '');
         setTimeout(() => {
-            document.execCommand("insertText", false, params.srcContent);
+            document.execCommand("insertText", false, params.srcContent + ' ');
             // 光标定位到起始位置
             setTimeout(() => {
                 inputEle.focus();