소스 검색

[edit][bugs]

zhangwei 3 년 전
부모
커밋
b3d18eb1f1
2개의 변경된 파일32개의 추가작업 그리고 18개의 파일을 삭제
  1. 29 15
      src/logic/twitter.js
  2. 3 3
      src/view/red-packet.vue

+ 29 - 15
src/logic/twitter.js

@@ -426,41 +426,55 @@ function checkHasDeBtn() {
 function parseDOMRedPacket() {
     let _dom = null
     let arr = document.querySelectorAll('a') || []
-
+    let _type = ''
     for (let i in arr) {
         if (arr[i].innerText == '#DeNet') {
             let _article = arr[i].closest('article')
-            let _postId = _article.querySelector('[lang]').innerText
+            let _txt_area = _article.querySelector('[lang]')
+            let _postId = _txt_area.innerText
             _postId = _postId.match(/###([\s\S]*?)###/)[1]
             _dom = _article.querySelector('[aria-labelledby]')
+            if (_dom) {
+                _type = 'card'
+            } else {
+                _type = 'parnet'
+                _dom = _txt_area.parentNode.parentNode
+            }
             let _tweetId = _article.querySelector('a[aria-label]').getAttribute('href').split('/status/')[1]
-            replaceDOMRedPacket(_dom, _postId, _tweetId)
+            replaceDOMRedPacket(_type, _dom, _postId, _tweetId)
         }
     }
 }
 
-function replaceDOMRedPacket(_dom, postId, tweetId) {
-    if (!_dom || _dom.querySelector('iframe')) {
-        return
-    }
-    let _len = _dom.childNodes.length
-    for (let i = 0; i < _len; i++) {
-        _dom.children[i].style.display = 'none'
-    }
-
+function createIframe(postId,tweetId) {
     let _iframe = document.createElement('iframe')
     _iframe.id = postId
     _iframe.src = chrome.runtime.getURL('/iframe/red-packet.html') + `?postId=${postId}&tweetId=${tweetId}`;
     _iframe.style.cssText = 'border: medium none; width:375px;height:500px;'
-    _dom.style = 'height:500px'
-    _dom.appendChild(_iframe)
+    return _iframe
+}
+function replaceDOMRedPacket(_type, _dom, postId, tweetId) {
+    if (!_dom || _dom.querySelector('iframe')) {
+        return
+    }
+    let _len
+    if (_type == 'card') {
+        _len = _dom.childNodes.length
+        for (let i = 0; i < _len; i++) {
+            _dom.children[i].style.display = 'none'
+        }
+        _dom.style = 'height:500px'
+        _dom.appendChild(createIframe(postId,tweetId))
+    } else {
+        _dom.insertBefore(createIframe(postId,tweetId), _dom.children[1])
+    }
 }
 
 
 export function setIframeRedPacket() {
     // let elment = document.documentElement
 
-    if(window.location.href.includes('https://twitter.com)')){
+    if (window.location.href.includes('https://twitter.com)')) {
         return
     }
     // const observer = new MutationObserver(callback);

+ 3 - 3
src/view/red-packet.vue

@@ -426,9 +426,9 @@ function init() {
           data.detail.receiveAmountValue = showLastTwoPlace(data.detail.receiveAmountValue)
           if (data.detail.myReceived) {
             data.money = data.detail.myReceived.amountValue
+            getValidity()
           }
           console.log(data.detail)
-          getValidity()
         }
         // 已结束
         if (res.data.postType == 2) {
@@ -450,7 +450,7 @@ function initTaskDetail(){
         switch (res.data[i].type) {
           case 1:
             data.done.follow = res.data[i].finished
-            // data.detail.taskCondition[0].relatedUsers = res.data[i].detail
+            data.detail.taskCondition[0].relatedUsers = res.data[i].detail
             break
           case 2:
             data.done.like = res.data[i].finished
@@ -969,8 +969,8 @@ body {
         }
 
         .item-content {
+          width: 100%;
           flex: 1;
-
           .item-follow-title {
             display: flex;
             align-items: center;