123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- // 此文件不要写具体逻辑,只调用函数
- // var port = chrome.runtime.connect({
- // name: "hello",
- // });
- import {
- showGiveDialogHandler,
- showIframeHandler,
- hideIframeHandler,
- showTwitterPublishDialogHandler,
- twitterPublishHandler,
- showPinTips,
- init,
- initExecuteScript,
- changeQueueNum,
- replyHandle,
- noticeBindTweet,
- hideNoticeBindTweet,
- getTweetAuthorByDom,
- facebookReplyTweet,
- doTaskTwitterAPI,
- onTweetReplyClick,
- showNFTSale,
- showBuyNFT,
- hideBuyNFT,
- showPopupPage,
- setPopupConfByPopupPage,
- loginSuccessHandle,
- showJoinDialog,
- showTwitterPost,
- setTwitterTextarea,
- showGroupTip,
- setTabGroupIframeStyle,
- pageJumpHandler,
- getTweetProfileNavTop,
- setGroupInfo,
- refreshTabGroup,
- groupTipsSelectGroupTab,
- TwitterApiUserByScreenName,
- showPublishDialog,
- getTweetUserFollowStatus,
- sendContentByTwitterID,
- getExtensionStorgeDataForIframe,
- doTaskIframeTwitterAPI
- } from "@/logic/content/twitter.js";
- import denet from '@/denet'
- import { httpBackToContentCallBack } from '@/uilts/chromeExtension.js'
- import {
- hideNFTGroupList,
- setNFTGroupContent,
- setJoinedGroupIframeStyle
- } from '@/logic/content/nft';
- import {
- initFacebookContent
- } from "@/logic/content/facebook.js"
- import { toolBox, toolbox_fixed_tweetId } from '@/logic/content/ToolBox.js'
- import {
- injectDenet
- } from "@/logic/content/denet.js";
- import doTask from '@/logic/content/help/doTask'
- import chromeMessageCenter from '@/uilts/messageCenter/chrome';
- import { re } from "mathjs";
- chrome.storage.onChanged.addListener(changes => {
- initExecuteScript(changes)
- })
- window.onload = () => {
- injectDenet();
- init();
- initFacebookContent();
- chrome.runtime.sendMessage({
- actionType: "CONTENT_WINDOW_LOADED_SET_POPUP_PAGE",
- data: {}
- });
- };
- const oldOnMessageMethod = (res) => {
- switch (res.data.actionType) {
- case "IFRAME_SHOW_IFREME":
- showIframeHandler();
- break;
- case "IFRAME_HIDE_IFREME":
- hideIframeHandler();
- break;
- case "IFRAME_SHOW_TWITTER_PUBLISH_DIALOG":
- showTwitterPublishDialogHandler(res.data.publishRes);
- break;
- case "IFRAME_RED_PACKET_REPLY_CLICK":
- replyHandle(res.data.data || {});
- break;
- case "IFRAME_RED_PACKET_SHOW_BIND_TWEET_NOTICE":
- noticeBindTweet(res.data.data || {});
- break;
- case "IFRAME_CLOSE_BIND_TWEET":
- hideNoticeBindTweet();
- break;
- case "IFRAME_RED_PACKET_GET_TWEET_AUTHOR":
- getTweetAuthorByDom(res.data.data || {});
- break;
- case "IFRAME_RED_PACKET_CHECK_FACEBOOK_REPLY":
- facebookReplyTweet(res.data.data || {});
- break;
- case "IFRAME_RED_PACKET_ON_TWEET_REPLY_CLICK":
- onTweetReplyClick(res.data.data || {});
- break;
- // case 'IFRAME_TWITTER_API_DO_TASK':
- // doTaskTwitterAPI(res.data)
- // break
- // case "IFRAME_DO_TASK":
- // findTweetByIdDoTask(res.data.task_data, res.data.task_type)
- // break
- case 'IFREME_TAB_GROUP_SET_IFRAME_HEIGHT':
- setTabGroupIframeStyle(res.data.data);
- break
- case 'IFREME_TAB_GROUP_CONTENT_GET_NAV_TOP':
- getTweetProfileNavTop(res.data.data);
- break;
- case 'IFRAME_PAGE_JUMP':
- pageJumpHandler(res.data.data);
- break;
- case 'IFRAME_GET_EXTENSION_STORGE_DATA':
- getExtensionStorgeDataForIframe(res.data.data);
- break;
- case 'IFRAME_API_GET_TWEET_USER_FOLLOW_STATUS':
- getTweetUserFollowStatus(res.data);
- break;
- case 'IFRAME_TWITTER_API_DO_TASK':
- doTaskIframeTwitterAPI(res.data);
- break;
- case 'IFRAME_API_GET_TWEET_USER_INFO_START':
- let data = JSON.parse(res.data.data);
- TwitterApiUserByScreenName({
- iframeId: res.data.iframeId,
- ...data
- })
- break;
- case 'GET_CONTENT_BY_TWITTER_ID':
- sendContentByTwitterID(res.data)
- break
- }
- }
- const newOnMessageMethod = (res) => {
- let { info = {}, data = {} } = res.data
- switch (info.actionType) {
- case 'IFRAME_DO_TASK_CREATE_TWEET':
- doTask.TwitterApiCreateTweet({ info, data })
- break
- case 'IFRAME_DO_TASK_LIKE':
- doTask.TwitterLikeAPI({ info, data })
- break
- case 'IFRAME_DO_TASK_RETWEET':
- doTask.TwitterRetweetAPI({ info, data })
- break
- }
- }
- window.onmessage = (res) => {
- if (!res.data) {
- return
- }
- if (res.data.actionType) {
- oldOnMessageMethod(res)
- } else if (res.data.info) {
- newOnMessageMethod(res)
- }
- }
- const oldRuntimeOnMessageMethod = (req, sender, sendResponse) => {
- switch (req.actionType) {
- case 'BG_SHOW_PIN_TIPS':
- showPinTips()
- break
- case "BACK_TWITTER_LOGIN_SUCCESS":
- showGiveDialogHandler();
- break
- case 'BACK_TWITTER_SHORT_URL':
- changeQueueNum(1)
- break
- case 'IFRAME_TWITTER_API_DO_TASK':
- doTaskTwitterAPI(req)
- break
- case 'IFRAME_NFT_SHOW_SALE':
- showNFTSale()
- break
- case 'IFRAME_NFT_GROUP_LIST_HIDE':
- hideNFTGroupList()
- break;
- case 'IFRAME_NFT_GROUP_SET_CONTENT':
- setNFTGroupContent(req.publishRes);
- break;
- case "IFRAME_TWITTER_PUBLISH":
- twitterPublishHandler(req.publishRes);
- break;
- case 'IFRAME_TWITTER_SHOW_POPUP_PAGE':
- let { from = '', showJoinGroupFinish } = req.data || {};
- showPopupPage({ path: '/NFT', from, showJoinGroupFinish });
- break
- case "IFRAME_TWITTER_SHOW_BUY_NFT":
- showBuyNFT(req.data)
- break
- case 'IFRAME_TWITTER_HIDE_BUY_NFT':
- hideBuyNFT()
- break
- case 'BG_SET_POPUP_CONFIG':
- setPopupConfByPopupPage();
- break
- // case 'IFREME_TAB_GROUP_SET_IFRAME_HEIGHT':
- // setTabGroupIframeStyle(req.data);
- // break
- // case 'IFREME_TAB_GROUP_CONTENT_GET_NAV_TOP':
- // getTweetProfileNavTop(req.data);
- case 'IFRAME_PAGE_JUMP':
- pageJumpHandler(req.data);
- break;
- case 'BG_LOGIN_SET_USERINFO_CB':
- loginSuccessHandle();
- break;
- case 'IFRAME_SHOW_JOIN_DIALOG':
- showJoinDialog(req.data)
- break
- case 'IFRAME_SHOW_GROUP_TIP':
- showGroupTip()
- break
- case 'IFRAME_SHOW_POST_DIALOG':
- showTwitterPost(req.data)
- break
- case 'BACK_TWITTER_NFT_POST_PRE':
- setTwitterTextarea(req.data)
- break
- case 'SWITCH_GROUP_STATUS':
- groupTipsSelectGroupTab(req.data);
- return sendResponse('ok')
- case 'IFRAME_GROUP_BANNER_GROUP_INFO':
- setGroupInfo(req.data)
- break;
- case 'IFRAME_JOINED_GROUP_SET_STYLE':
- setJoinedGroupIframeStyle(req.data)
- break
- case 'BACK_NFT_PUBLISH_DONE':
- refreshTabGroup()
- break
- case 'IFRAME_API_GET_TWEET_USER_INFO_REQ':
- TwitterApiUserByScreenName(req.data)
- break;
- // 回掉参数
- case 'HTTP_BACK_TO_CONTENT':
- httpBackToContentCallBack(req)
- break
- case 'BG_SHOW_DENET_PUBLISH_DIALOG':
- showPublishDialog();
- break;
- case 'Get_ToolBox_Fixed_TweetId':
- return sendResponse(toolbox_fixed_tweetId)
- case 'Set_ToolBox_Fixed':
- toolBox.switchStatus(req)
- break
- case 'Set_ToolBox_By_Nft':
- toolBox.buyNft(req)
- break;
- case 'Hide_ToolBox_By_Nft':
- toolBox.hideBuyNft(req)
- break;
- case 'IFRAME_API_GET_TWEET_USER_FOLLOW_STATUS':
- getTweetUserFollowStatus(req);
- break;
- case 'GET_CONTENT_BY_TWITTER_ID':
- sendContentByTwitterID(req.data.tweet_Id)
- break
- case 'TEST':
- console.log('TEST')
- break
- }
- }
- const newRuntimeOnMessageMethod = (req, sender, sendResponse) => {
- }
- chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
- if (req.actionType) {
- oldRuntimeOnMessageMethod(req, sender, sendResponse)
- } else if (req.info) {
- newRuntimeOnMessageMethod(req, sender, sendResponse)
- chromeMessageCenter.init(req)
- }
- sendResponse && sendResponse('ok');
- })
- // --- test ---
- // async function funcTest() {
- // let res = await denet.chrome.content.test({ tweetId: 22 })
- // console.log('test sendmessage', res)
- // }
- // setTimeout(() => {
- // funcTest()
- // }, 3000);
|