help.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { commonFetch } from '@/http/fetch'
  2. import Report from "@/log-center/log"
  3. // 每4分钟调用一次,保持background一直有效
  4. export function PingPong() {
  5. try {
  6. chrome.tabs.query({}, (tabs = []) => {
  7. if (tabs.length) {
  8. let tab = tabs.filter((item) => { return item.active == true })
  9. if (tab.length) {
  10. chrome.tabs.sendMessage(tab[0].id, { actionType: 'BACK_PING' });
  11. }
  12. }
  13. })
  14. } catch (error) {
  15. Report.reportLog({
  16. objectType: Report.objectType.background_function_catch,
  17. funcName: 'PingPong',
  18. errMsg: error.message
  19. })
  20. }
  21. }
  22. export function httpNetWork(funcName, data, sender) {
  23. try {
  24. return commonFetch(data)
  25. .then((response) => {
  26. chrome.tabs.sendMessage(sender.tab.id, { actionType: 'BACK_HTTP_RESPONSE', data: response, funcName });
  27. })
  28. .catch(() => {
  29. chrome.tabs.sendMessage(sender.tab.id, { actionType: 'BACK_HTTP_RESPONSE', data: null, funcName });
  30. })
  31. } catch (error) {
  32. Report.reportLog({
  33. objectType: Report.objectType.background_function_catch,
  34. funcName: 'httpNetWork',
  35. errMsg: error.message
  36. })
  37. }
  38. }
  39. // 向content 发送消息
  40. export const setContentMessage = (obj) => {
  41. try {
  42. chrome.tabs.query({}, (tabs = []) => {
  43. if (tabs.length) {
  44. tabs = tabs.filter((item) => { return item.active && item.selected && item.highlighted }) || []
  45. tabs.forEach((item) => {
  46. chrome.tabs.sendMessage(item.id, obj);
  47. })
  48. }
  49. })
  50. } catch (error) {
  51. Report.reportLog({
  52. objectType: Report.objectType.background_function_catch,
  53. funcName: 'setContentMessage',
  54. errMsg: error.message
  55. })
  56. }
  57. }
  58. export const httpContentToBack = (req, sender) => {
  59. try {
  60. commonFetch(req.data)
  61. .then((response) => {
  62. chrome.tabs.sendMessage(sender.tab.id, { actionType: 'HTTP_BACK_TO_CONTENT', data: response, callback_id: req.callback_id });
  63. })
  64. .catch(() => {
  65. chrome.tabs.sendMessage(sender.tab.id, { actionType: 'HTTP_BACK_TO_CONTENT', data: null, callback_id: req.callback_id });
  66. })
  67. } catch (error) {
  68. Report.reportLog({
  69. objectType: Report.objectType.background_function_catch,
  70. funcName: 'httpContentToBack',
  71. errMsg: error.message
  72. })
  73. }
  74. }