| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 | // 此文件不要写具体逻辑,只调用函数import {    twitterShortUrl,    twitterPinLoginToken,    twitterPinLoginCode,    onInstalledMid,    onInstalledUserSet,    onInstalledCreateTab,    checkPined,    popupRePublish,    setBadgeInfo,    hideBadge,    setMessageCount,    discordLoginCode,    saveDiscordAuthWindowId,    onDisconnectHandler,    getMessageInfo,    injectExtensionPopup,    setPopupConfig,    windwoLoadSetPopupPage,    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";//加载bg.js 执行setMessageCount();// 消息通讯chrome.runtime.onConnect.addListener(function (port) {    port.onDisconnect.addListener(function () {        onDisconnectHandler(port);    });});// 当有可用更新时触发chrome.runtime.onUpdateAvailable.addListener(() => {    try {        Report.reportLog({            objectType: Report.objectType.background_function_try,            funcName: 'onUpdateAvailable'        });        chrome.runtime.reload()    } catch (error) {        Report.reportLog({            objectType: Report.objectType.background_function_catch,            funcName: 'onUpdateAvailable',            errMsg: error.message        });    }})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;        case 'LuckMessage':            getSysMessage()            break    }});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        });        setTimeout(() => {            // 安装成功埋点            Report.reportLog({                objectType: Report.objectType.background_function_try,                funcName: 'onInstalledMethod'            });        }, 5000);    } catch (error) {        Report.reportLog({            objectType: Report.objectType.background_function_catch,            funcName: 'onInstalledMethod',            errMsg: error.message        });    }}function onInstalledMethod() {    // 版本更新判断    getChromeStorage('baseInfo', (info) => {        if (!info || !info.appVersionCode) {            setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) })            thenInstalledMethod()        } else if (appVersionCode != info.appVersionCode) {            setChromeStorage({ baseInfo: JSON.stringify({ appVersionCode }) }, () => {                chrome.runtime.reload()            })        } else {            thenInstalledMethod()        }    })}function onMessageMethod(req, sender, sendResponse) {    try {        sendResponse('ok')        if (req) {            switch (req.actionType) {                case "POPUP_LOGIN":                    twitterPinLoginToken();                    break;                case "POPUP_PUBLISH_TWITTER_RED_PACK":                    popupRePublish(req);                    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()                    }                    break                case "CONTENT_SEND_DISCORD_AUTH_CODE":                    discordLoginCode(req, sender);                    break                case 'RED_PACKET_SAVE_DISCORD_AUTH_WINDOW_ID':                    saveDiscordAuthWindowId(req);                    break;                case 'CONTENT_FACEBOOK_SHARE_SUCCESS':                    facebookShareSuccess(req, sender);                    break;                case 'CONTENT_PONG':                    console.log('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)                    break                case 'CONTENT_TWITTER_SHORT_LINK':                    req.arr_url.forEach(item => {                        if (item) {                            twitterShortUrl(sender, item)                        }                    });                    break            }        }    } catch (error) {        Report.reportLog({            objectType: Report.objectType.background_function_catch,            funcName: 'onMessageMethod',            errMsg: error.message        });    }}
 |