// 此文件不要写具体逻辑,只调用函数 import { twitterShortUrl, twitterPinLoginToken, twitterPinLoginCode, onInstalledMid, onInstalledUserSet, onInstalledCreateTab, checkPined, popupRePublish, setBadgeInfo, hideBadge, setMessageCount, discordLoginCode, saveDiscordAuthWindowId, onDisconnectHandler, getMessageInfo, injectExtensionPopup, setPopupConfig, setActionPopup, getTwitterNftPostPre, nftTxtPublish, getSysMessage, checkShowPublishDialog } from "@/logic/background/twitter"; import Report from "@/log-center/log" import { PingPong, httpNetWork, httpContentToBack } from "@/logic/background/help"; import { appVersionCode } from '@/http/configAPI.js' import { getChromeStorage, setChromeStorage } from '@/uilts/chromeExtension.js' import { facebookShareSuccess } from "@/logic/background/facebook"; import { closeAchPayNoticeHandler } from "@/logic/background/denet"; try { chrome.runtime.onMessage.addListener(onMessageMethod); } catch (error) { console.log('error when background onMessage addListener', error) } try { chrome.runtime.onInstalled.addListener(onInstalledMethod); } catch (error) { console.log('error when background onInstalled addListener', error) } // chrome.runtime.setUninstallURL('https://denet.me', (e) => { // console.log('e', e) // }) // 消息通讯 try { chrome.runtime.onConnect.addListener(function (port) { port.onDisconnect.addListener(function () { onDisconnectHandler(port); }); }); } catch (error) { console.log('error when background onConnect addListener', error) } // 当有可用更新时触发 try { chrome.runtime.onUpdateAvailable.addListener(() => { try { setChromeStorage({ onUpdateAvailable: JSON.stringify({ onUpdateAvailable: '1' }) }, () => { chrome.runtime.reload() }) } catch (error) { Report.reportLog({ objectType: Report.objectType.background_function_catch, funcName: 'onUpdateAvailable', errMsg: error.message }); } }) } catch (error) { console.log('error when background onUpdateAvailable addListener', error) } // 定时器 try { chrome.alarms.onAlarm.addListener(function (alarm) { // console.log("onAlarm-", alarm); switch (alarm.name) { case 'denetChromeAlarm': getMessageInfo(); break case 'PingPong': PingPong() break; case 'LuckMessage': getSysMessage() break } }); } catch (error) { console.log('error when background onAlarm addListener', error) } chrome.action.onClicked.addListener(function (tab) { injectExtensionPopup(tab); }); chrome.tabs.onActivated.addListener(function (activeInfo) { setPopupConfig(activeInfo); }) function thenInstalledMethod() { try { onInstalledCreateTab() onInstalledMid() onInstalledUserSet() // pingpang chrome.alarms.create('PingPong', { //1分鐘之後開始(該值不能小於1) delayInMinutes: 2, //開始後每一分鐘執行一次(該值不能小于1) periodInMinutes: 4 }); chrome.alarms.create('LuckMessage', { //1分鐘之後開始(該值不能小於1) delayInMinutes: 1, //開始後每一分鐘執行一次(該值不能小于1) periodInMinutes: 1 }); } catch (error) { Report.reportLog({ objectType: Report.objectType.background_function_catch, funcName: 'thenInstalledMethod', errMsg: error.message }); } } function onInstalledMethod({ id, previousVersion, reason }) { try { Report.reportLog({ id, previousVersion, reason, funcName: 'onInstalledMethodCallback' }); // 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({ onInstalledMethod: JSON.stringify({ onInstalledMethod: '2' }) }, () => { setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) }, () => { // chrome.runtime.reload() onInstalledUserSet() }) }) } else { setChromeStorage({ onInstalledMethod: JSON.stringify({ onInstalledMethod: '3' }) }) thenInstalledMethod() } console.log('1-appVersionCode', appVersionCode) console.log('1-info.appVersionCode', info.appVersionCode) console.log('1-info', info) }) console.log('2-appVersionCode', appVersionCode) // 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, funcName: 'onInstalledMethod', errMsg: error.message }) } } function onMessageMethod(req, sender, sendResponse) { try { if (req) { switch (req.actionType) { case "POPUP_LOGIN": twitterPinLoginToken(); sendResponse('ok'); break; case "POPUP_PUBLISH_TWITTER_RED_PACK": popupRePublish(req); sendResponse('ok'); break; case "POPUP_SHOW_DENET_PUBLISH_DIALOG": checkShowPublishDialog(); break; case 'CONTENT_GET_PINED': checkPined(); break; case 'CONTENT_SET_BADGE': setBadgeInfo(req); break; case 'CONTENT_HIDE_BADGE': hideBadge(); break case 'CONTENT_SEND_CODE': twitterPinLoginCode(sender, req.code); break; case 'CONTENT_TWITTER_LOGIN': if (req.data) { twitterPinLoginToken(); sendResponse('ok'); } break case "CONTENT_SEND_DISCORD_AUTH_CODE": discordLoginCode(req, sender); break case 'RED_PACKET_SAVE_DISCORD_AUTH_WINDOW_ID': saveDiscordAuthWindowId(req); sendResponse('ok'); break; case 'CONTENT_FACEBOOK_SHARE_SUCCESS': facebookShareSuccess(req, sender); break; case 'CONTENT_PONG': sendResponse('CONTENT_PONG'); break case 'CONTENT_WINDOW_LOADED_SET_POPUP_PAGE': // windwoLoadSetPopupPage(req, sender); break; case 'CONTENT_SET_POPUP_CONFIG': setActionPopup(req, sender); break; case 'CONTENT_GET_TWITTER_NFT_POST_PRE': getTwitterNftPostPre(req.data, sender) break case 'CONTENT_NFT_TXT_PUBLISH': nftTxtPublish(req.data, sender) break case 'CONTENT_HTTP_NET_WORK': httpNetWork(req.funcName, req.data, sender) break case 'HTTP_CONTENT_TO_BACK': httpContentToBack(req, sender) sendResponse('ok') break case 'CONTENT_TWITTER_SHORT_LINK': sendResponse('ok') req.arr_url.forEach(item => { if (item) { twitterShortUrl(sender, item) } }); break case 'CONTENT_CLOSE_ACH_PAY_NOTICE': closeAchPayNoticeHandler(); break; } } } catch (error) { Report.reportLog({ objectType: Report.objectType.background_function_catch, funcName: 'onMessageMethod', errMsg: error.message }); } } //加载bg.js 执行 setMessageCount();