Prechádzať zdrojové kódy

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

nieyuge 2 rokov pred
rodič
commit
64b8ec49e7

+ 28 - 1
src/entry/background.js

@@ -13,9 +13,12 @@ import {
     setMessageCount,
     discordLoginCode,
     saveDiscordAuthWindowId,
-    onDisconnectHandler
+    onDisconnectHandler,
+    getMessageInfo
 } from "@/logic/background/twitter";
 
+import { PingPong } from "@/logic/background/help";
+
 import {
     facebookShareSuccess
 } from "@/logic/background/facebook";
@@ -39,10 +42,31 @@ chrome.runtime.onInstalled.addListener(onInstalledMethod);
 
 chrome.runtime.onMessage.addListener(onMessageMethod);
 
+// 定时器
+chrome.alarms.onAlarm.addListener(function (alarm) {
+    // console.log("onAlarm-", alarm);
+    switch (alarm.name) {
+        case 'denetChromeAlarm':
+            getMessageInfo();
+            break
+        case 'PingPong':
+            PingPong()
+            break;
+    }
+});
+
 function onInstalledMethod() {
     onInstalledCreateTab()
     onInstalledMid()
     onInstalledUserSet()
+    
+    // pingpang
+    chrome.alarms.create('PingPong', {
+        //1分鐘之後開始(該值不能小於1) 
+        delayInMinutes: 2,
+        //開始後每一分鐘執行一次(該值不能小于1) 
+        periodInMinutes: 4
+    });
 }
 
 function onMessageMethod(req, sender, sendResponse) {
@@ -87,6 +111,9 @@ function onMessageMethod(req, sender, sendResponse) {
             case 'CONTENT_FACEBOOK_SHARE_SUCCESS':
                 facebookShareSuccess(req, sender);
                 break;
+            case 'CONTENT_PONG':
+                console.log('CONTENT_PONG')
+                break
         }
     }
 }

+ 0 - 2
src/entry/content.js

@@ -20,13 +20,11 @@ import {
     doTaskTwitterAPI,
     onTweetReplyClick
 } from "@/logic/content/twitter.js";
-import { duration } from "moment";
 
 import {
     initFacebookContent
 } from "@/logic/content/facebook.js"
 
-
 chrome.storage.onChanged.addListener(changes => {
     initExecuteScript(changes)
 })

+ 10 - 0
src/entry/content_help.js

@@ -0,0 +1,10 @@
+
+chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
+    sendResponse('')
+    switch (req.actionType) {
+        case 'BACK_PING':
+            console.log('BACK_PING')
+            chrome.runtime.sendMessage({ actionType: "CONTENT_PONG", data: '1' }, (res) => { console.log(res) })
+            break
+    }
+})

+ 11 - 0
src/logic/background/help.js

@@ -0,0 +1,11 @@
+// 每4分钟调用一次,保持background一直有效
+export function PingPong(){
+    chrome.tabs.query({}, (tabs = []) => {
+        if (tabs.length) {
+            let tab = tabs.filter((item) => { return item.active == true })
+            if (tab.length) {
+                chrome.tabs.sendMessage(tab[0].id, { actionType: 'BACK_PING' }, (res) => { console.log(res) });
+            }
+        }
+    })
+}

+ 8 - 11
src/logic/background/twitter.js

@@ -2,7 +2,6 @@ import { fetchTtwitterRequestToken, fetchTwitterLogin, fetchTwitterShortUrl, fet
 import { LANDING_PAGE, LANDING_PAGE_MID, setChromeStorage, setChromeCookie, getChromeCookie, getChromeStorage, removeChromeCookie } from '@/uilts/chromeExtension.js'
 import { guid } from '@/uilts/help.js'
 import { pageUrl, discordAuthRedirectUri } from '@/http/configAPI'
-import { trueDependencies } from 'mathjs'
 
 let authToken = ''
 let consumerKey = ''
@@ -26,7 +25,7 @@ export function twitterPinLoginToken() {
     getChromeStorage('userInfo', (res) => {
         // 没有登陆
         if (!res) {
-            if(tab_flag == false){
+            if (tab_flag == false) {
                 return
             }
             tab_flag = false
@@ -40,12 +39,12 @@ export function twitterPinLoginToken() {
                             chrome.tabs.create({
                                 url: `https://api.twitter.com/oauth/authorize?oauth_token=${res.data.authToken}`
                             })
-                        }else{
+                        } else {
                             chrome.tabs.highlight({ windowId: tab.windowId, tabs: tab.index })
                         }
                     })
                 }
-            }).catch(()=>{
+            }).catch(() => {
                 tab_flag = true
             })
         }
@@ -195,6 +194,10 @@ export function onInstalledUserSet() {
         // 无刷新插入js
         chrome.tabs.query({}, (tab) => {
             for (let i in tab) {
+                chrome.scripting.executeScript({
+                    target: { tabId: tab[i].id },
+                    files: ['js/content_help.js']
+                }, () => { })
                 if (tab[i].url.indexOf('twitter.com') >= 0 || tab[i].url.indexOf('facebook.com') >= 0) {
                     chrome.scripting.executeScript({
                         target: { tabId: tab[i].id },
@@ -306,13 +309,7 @@ function createAlarm() {
     };
 
     //每次加載就清空定時器
-    chrome.alarms.clearAll();
-
-    chrome.alarms.onAlarm.addListener(function (alarm) {
-        console.log("onAlarm-", alarm);
-        getMessageInfo();
-    });
-
+    chrome.alarms.clear('denetChromeAlarm');
     //創造定時器
     chrome.alarms.create('denetChromeAlarm', alarmInfo);
 }

+ 8 - 0
src/manifest.json

@@ -16,6 +16,13 @@
         "default_popup": "popup.html"
     },
     "content_scripts": [
+        {
+            "matches":["<all_urls>"],
+            "run_at": "document_start",
+            "js": [
+                "/js/content_help.js"
+            ]
+        },
         {
             "matches": [
                 "https://*.twitter.com/*",
@@ -33,6 +40,7 @@
         }
     ],
     "host_permissions": [
+        "<all_urls>",
         "*://*.twitter.com/*",
         "*://twitter.com/*",
         "*://*.facebook.com/*",

+ 1 - 1
src/view/iframe/publish/give-dialog.vue

@@ -958,7 +958,7 @@ const submitRequest = async () => {
         item.type = formList[i]["type"];
         if (item.type == 1 && atUserList.value.length) {
             // follow 参数
-            let relatedUsers = atUserList.value;
+            let relatedUsers = atUserList.value.filter(item => item.name);
             item.relatedUsers = relatedUsers;
             finishConditions.push(item);
         } else  if (formList[i]["type"] == 7) {