Selaa lähdekoodia

[add][查找自动更新问题]

zhangwei 2 vuotta sitten
vanhempi
commit
e242b75cba
4 muutettua tiedostoa jossa 71 lisäystä ja 49 poistoa
  1. 20 9
      src/entry/background.js
  2. 42 33
      src/log-center/logger.js
  3. 9 4
      src/logic/background/twitter.js
  4. 0 3
      src/manifest.json

+ 20 - 9
src/entry/background.js

@@ -17,7 +17,6 @@ import {
     getMessageInfo,
     injectExtensionPopup,
     setPopupConfig,
-    windwoLoadSetPopupPage,
     setActionPopup,
     getTwitterNftPostPre,
     nftTxtPublish,
@@ -50,11 +49,9 @@ chrome.runtime.onConnect.addListener(function (port) {
 // 当有可用更新时触发
 chrome.runtime.onUpdateAvailable.addListener(() => {
     try {
-        Report.reportLog({
-            objectType: Report.objectType.background_function_try,
-            funcName: 'onUpdateAvailable'
+        setChromeStorage({ onUpdateAvailable: JSON.stringify({ onUpdateAvailable: '1' }) }, () => {
+            chrome.runtime.reload()
         })
-        chrome.runtime.reload()
     } catch (error) {
         Report.reportLog({
             objectType: Report.objectType.background_function_catch,
@@ -62,7 +59,6 @@ chrome.runtime.onUpdateAvailable.addListener(() => {
             errMsg: error.message
         });
     }
-
 })
 
 chrome.runtime.onInstalled.addListener(onInstalledMethod);
@@ -117,24 +113,39 @@ function thenInstalledMethod() {
             objectType: Report.objectType.background_function_catch,
             funcName: 'thenInstalledMethod',
             errMsg: error.message
-        })
+        });
     }
 }
 function onInstalledMethod() {
     try {
+        // 3.onInstalledMethod 执行了那个
         // 版本更新判断
         getChromeStorage('baseInfo', (info) => {
             if (!info || !info.appVersionCode) {
+                setChromeStorage({ onInstalledMethod: JSON.stringify({ onInstalledMethod: '1' }) })
                 setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) })
                 thenInstalledMethod()
             } else if (appVersionCode != info.appVersionCode) {
-                setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) }, () => {
-                    chrome.runtime.reload()
+                setChromeStorage({ onInstalledMethod: JSON.stringify({ onInstalledMethod: '2' }) }, () => {
+                    setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) }, () => {
+                        chrome.runtime.reload()
+                    })
                 })
             } else {
+                setChromeStorage({ onInstalledMethod: JSON.stringify({ onInstalledMethod: '3' }) })
                 thenInstalledMethod()
             }
         })
+
+        // 1.onUpdateAvailable 存储到本地,再上报
+        getChromeStorage('onUpdateAvailable', (res) => {
+            if (res && res.onUpdateAvailable) {
+                Report.reportLog({
+                    objectType: Report.objectType.background_function_try,
+                    funcName: 'onUpdateAvailable',
+                })
+            }
+        })
     } catch (error) {
         Report.reportLog({
             objectType: Report.objectType.background_function_catch,

+ 42 - 33
src/log-center/logger.js

@@ -1,8 +1,7 @@
 import { logApi, reportFrontLogApi } from '@/http/logApi'
 import { getBrowser } from '@/uilts/help.js';
 import { logType } from './logEnum.js';
-import { getChromeStorage } from '@/uilts/chromeExtension'
-
+import { getChromeStorage, setChromeStorage } from '@/uilts/chromeExtension'
 let userInfo = null;
 let mid = '';
 /**
@@ -10,39 +9,49 @@ let mid = '';
  * @extParams 最终上报到阿里云以json字符串存储的参数,如果extparams传入的不是obj会转换成obj
  */
 export async function reportLog(eventData = {}, extParams = {}) {
-    if (!userInfo) {
-        userInfo = await getChromeStorage('userInfo') || null;
-    }
-    if (!mid) {
-        mid = await getChromeStorage('mid') || '';
-    }
-    let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
-    let platform = isMobile ? `mobile` : `pc`;
-    let browser = getBrowser();
-    if (chrome && chrome.tabs) {
-        chrome.tabs.getCurrent((tab) => {
-            if (tab && tab.url) {
-                let { url = '' } = tab;
-                let extData = {
-                    url,
-                    platform,
-                    browser,
-                    twitterId: userInfo && userInfo.nickName || '',
-                    ...eventData,
-                }
-                paramsPretreatmentAndRequest(logType.denet, extData, extParams)
-            }else{
-                let extData = {
-                    platform,
-                    browser,
-                    twitterId: userInfo && userInfo.nickName || '',
-                    ...eventData,
+    // 2.reportLog 异常 存储到本地,再上报
+    try {
+        if (!userInfo) {
+            userInfo = await getChromeStorage('userInfo') || null;
+        }
+        if (!mid) {
+            mid = await getChromeStorage('mid') || '';
+        }
+        let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
+        let platform = isMobile ? `mobile` : `pc`;
+        let browser = getBrowser();
+        if (chrome && chrome.tabs) {
+            chrome.tabs.getCurrent((tab) => {
+                if (tab && tab.url) {
+                    let { url = '' } = tab;
+                    let extData = {
+                        url,
+                        platform,
+                        browser,
+                        twitterId: userInfo && userInfo.nickName || '',
+                        ...eventData,
+                    }
+                    paramsPretreatmentAndRequest(logType.denet, extData, extParams)
+                } else {
+                    let extData = {
+                        platform,
+                        browser,
+                        twitterId: userInfo && userInfo.nickName || '',
+                        ...eventData,
+                    }
+                    paramsPretreatmentAndRequest(logType.denet, extData, extParams)
                 }
-                paramsPretreatmentAndRequest(logType.denet, extData, extParams)
-            }
+            })
+        } else {
+            paramsPretreatmentAndRequest(logType.denet, eventData, extParams)
+        }
+    } catch (error) {
+        reportFrontLogApi({
+            logData: JSON.stringify({
+                funcName: 'reportLog',
+                errmsg: error.message
+            })
         })
-    } else {
-        paramsPretreatmentAndRequest(logType.denet, eventData, extParams)
     }
 }
 

+ 9 - 4
src/logic/background/twitter.js

@@ -441,10 +441,15 @@ export function hideBadge() {
 }
 
 export async function setMessageCount() {
-    const { accessToken: token = '', uid = '' } = await getChromeStorage('userInfo') || {}
-    if (token) {
-        getMessageInfo();
-        createAlarm();
+    try {
+        const { accessToken: token = '', uid = '' } = await getChromeStorage('userInfo') || {}
+        if (token) {
+            getMessageInfo();
+            createAlarm();
+        }
+
+    } catch (error) {
+
     }
 }
 

+ 0 - 3
src/manifest.json

@@ -45,9 +45,6 @@
             ]
         }
     ],
-    "optional_permissions": [
-        "declarativeNetRequest"
-    ],
     "declarative_net_request": {
         "rule_resources": [
             {