Przeglądaj źródła

Merge branch 'bug_fix_220514_msg' into test

wenliming 2 lat temu
rodzic
commit
eed0d7e8de

+ 2 - 0
src/logic/background/fetch/twitter.js

@@ -83,6 +83,7 @@ export async function fetchAllMessageInfo(params = {}) {
     return new Promise(function (resolve, reject) {
         if(!token) {
             resolve({});
+            return;
         }
         let _url = `${baseAPIUrl}/message/getStat`
         fetch(_url, {
@@ -119,6 +120,7 @@ export async function fetchReadTaskAllMsg(params = {}) {
     return new Promise(function (resolve, reject) {
         if(!token) {
             resolve({});
+            return;
         }
         let _url = `${baseAPIUrl}/message/readAllMsgByType`
         fetch(_url, {

+ 23 - 3
src/logic/background/twitter.js

@@ -224,12 +224,32 @@ export async function setMessageCount () {
     const { accessToken: token = '', uid = '' } = await getChromeStorage('userInfo') || {}
     if(token) {
         getMessageInfo();
-        setInterval(() => {
-            getMessageInfo();
-        }, 60000);
+        createAlarm();
     }
 }
 
+function createAlarm() {
+    let alarmInfo = {
+        //1分鐘之後開始(該值不能小於1) 
+        delayInMinutes: 1, 
+        //與上方等同的寫法是 
+        // when : Date.now() + n,
+        //開始後每一分鐘執行一次(該值不能小于1) 
+        periodInMinutes : 1 
+    };
+
+    //每次加載就清空定時器
+    chrome.alarms.clearAll();
+    
+    chrome.alarms.onAlarm.addListener(function(alarm) {
+        console.log("onAlarm-", alarm);
+        getMessageInfo();
+    });
+
+    //創造定時器
+    chrome.alarms.create('denetChromeAlarm',alarmInfo);
+}
+
 export  function getMessageInfo () {
     fetchAllMessageInfo().then(res => {
         if(res.code == 0) {

+ 2 - 1
src/manifest.json

@@ -50,7 +50,8 @@
         "cookies",
         "activeTab",
         "scripting",
-        "storage"
+        "storage",
+        "alarms"
     ],
     "options_page": "options.html",
     "web_accessible_resources": [

+ 2 - 1
src/view/popup/popup.vue

@@ -317,9 +317,10 @@ onMounted(() => {
             });
         }
     });
+    setMessageCount();
     setTimeout(() => {
         setMessageCount();
-    }, 2000)
+    }, 1600)
 });
 
 onBeforeUnmount(() => {