content.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // 此文件不要写具体逻辑,只调用函数
  2. // var port = chrome.runtime.connect({
  3. // name: "hello",
  4. // });
  5. import {
  6. showGiveDialogHandler,
  7. showIframeHandler,
  8. hideIframeHandler,
  9. showTwitterPublishDialogHandler,
  10. twitterPublishHandler,
  11. showPinTips,
  12. init,
  13. initExecuteScript,
  14. changeQueueNum,
  15. replyHandle,
  16. noticeBindTweet,
  17. hideNoticeBindTweet,
  18. getTweetAuthorByDom,
  19. facebookReplyTweet,
  20. doTaskTwitterAPI,
  21. onTweetReplyClick,
  22. showNFTSale,
  23. showBuyNFT,
  24. hideBuyNFT,
  25. showPopupPage,
  26. setPopupConfByPopupPage,
  27. loginSuccessHandle,
  28. showJoinDialog,
  29. showTwitterPost,
  30. setTwitterTextarea,
  31. showGroupTip
  32. } from "@/logic/content/twitter.js";
  33. import {
  34. hideNFTGroupList,
  35. setNFTGroupContent,
  36. } from '@/logic/content/nft';
  37. import {
  38. initFacebookContent
  39. } from "@/logic/content/facebook.js"
  40. chrome.storage.onChanged.addListener(changes => {
  41. initExecuteScript(changes)
  42. })
  43. window.onload = () => {
  44. init();
  45. initFacebookContent();
  46. chrome.runtime.sendMessage({
  47. actionType: "CONTENT_WINDOW_LOADED_SET_POPUP_PAGE",
  48. data: { }
  49. }, () => { });
  50. };
  51. window.onmessage = (res) => {
  52. if (res.data && res.data.actionType) {
  53. switch (res.data.actionType) {
  54. case "IFRAME_SHOW_IFREME":
  55. showIframeHandler();
  56. break;
  57. case "IFRAME_HIDE_IFREME":
  58. hideIframeHandler();
  59. break;
  60. case "IFRAME_SHOW_TWITTER_PUBLISH_DIALOG":
  61. showTwitterPublishDialogHandler(res.data.publishRes);
  62. break;
  63. case "IFRAME_RED_PACKET_REPLY_CLICK":
  64. replyHandle(res.data.data || {});
  65. break;
  66. case "IFRAME_RED_PACKET_SHOW_BIND_TWEET_NOTICE":
  67. noticeBindTweet(res.data.data || {});
  68. break;
  69. case "IFRAME_CLOSE_BIND_TWEET":
  70. hideNoticeBindTweet();
  71. break;
  72. case "IFRAME_RED_PACKET_GET_TWEET_AUTHOR":
  73. getTweetAuthorByDom(res.data.data || {});
  74. break;
  75. case "IFRAME_RED_PACKET_CHECK_FACEBOOK_REPLY":
  76. facebookReplyTweet(res.data.data || {});
  77. break;
  78. case "IFRAME_RED_PACKET_ON_TWEET_REPLY_CLICK":
  79. onTweetReplyClick(res.data.data || {});
  80. break;
  81. // case 'IFRAME_TWITTER_API_DO_TASK':
  82. // doTaskTwitterAPI(res.data)
  83. // break
  84. // case "IFRAME_DO_TASK":
  85. // findTweetByIdDoTask(res.data.task_data, res.data.task_type)
  86. // break
  87. }
  88. }
  89. };
  90. chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
  91. sendResponse('')
  92. switch (req.actionType) {
  93. case 'BG_SHOW_PIN_TIPS':
  94. showPinTips()
  95. break
  96. case "BACK_TWITTER_LOGIN_SUCCESS":
  97. showGiveDialogHandler();
  98. break
  99. case 'BACK_TWITTER_SHORT_URL':
  100. console.log('BACK_TWITTER_SHORT_URL')
  101. changeQueueNum(1)
  102. break
  103. case 'IFRAME_TWITTER_API_DO_TASK':
  104. doTaskTwitterAPI(req)
  105. break
  106. case 'IFRAME_NFT_SHOW_SALE':
  107. showNFTSale()
  108. break
  109. case 'IFRAME_NFT_GROUP_LIST_HIDE':
  110. hideNFTGroupList()
  111. break;
  112. case 'IFRAME_NFT_GROUP_SET_CONTENT':
  113. setNFTGroupContent(req.publishRes);
  114. break;
  115. case "IFRAME_TWITTER_PUBLISH":
  116. twitterPublishHandler(req.publishRes);
  117. break;
  118. case 'IFRAME_TWITTER_SHOW_POPUP_PAGE':
  119. let {from = ''} = req.data || {};
  120. showPopupPage({path: '/NFT', from});
  121. break
  122. case "IFRAME_TWITTER_SHOW_BUY_NFT":
  123. showBuyNFT(req.data)
  124. break
  125. case 'IFRAME_TWITTER_HIDE_BUY_NFT':
  126. hideBuyNFT()
  127. break
  128. case 'BG_SET_POPUP_CONFIG':
  129. setPopupConfByPopupPage();
  130. break
  131. case 'BG_LOGIN_SET_USERINFO_CB':
  132. loginSuccessHandle();
  133. break;
  134. case 'IFRAME_SHOW_JOIN_DIALOG':
  135. showJoinDialog(req.data)
  136. break
  137. case 'IFRAME_SHOW_GROUP_TIP':
  138. showGroupTip()
  139. break
  140. case 'IFRAME_SHOW_POST_DIALOG':
  141. showTwitterPost(req.data)
  142. break
  143. case 'BACK_TWITTER_NFT_POST_PRE':
  144. setTwitterTextarea(req.data)
  145. break
  146. }
  147. })