preload.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const { contextBridge, ipcRenderer } = require('electron');
  2. contextBridge.exposeInMainWorld('electronAPI', {
  3. openWindow: (msg) => ipcRenderer.invoke('openWindow', msg),
  4. closeAllWindow: (msg) => ipcRenderer.send('closeAllWindow', msg),
  5. getData: (msg) => ipcRenderer.send('getData', msg),
  6. postData: (msg) => ipcRenderer.send('postData', msg),
  7. setProxy: (msg) => ipcRenderer.send('setProxy', msg),
  8. addPreLoadCode: (msg) => ipcRenderer.send('addPreLoadCode', msg),
  9. setStoData: (msg) => ipcRenderer.send('setStoData', msg),
  10. getStoData: (msg) => ipcRenderer.send('getStoData', msg),
  11. closeWindow: (msg) => ipcRenderer.send('closeWindow', msg),
  12. changeProxy: (msg) => ipcRenderer.send('changeProxy', msg),
  13. readConfig: (msg) => ipcRenderer.send('readConfig', msg),
  14. saveConfig: (msg) => ipcRenderer.send('saveConfig', msg),
  15. setMaxWindowOpenNum: (msg) => ipcRenderer.send('setMaxWindowOpenNum', msg),
  16. readdir: (msg) => ipcRenderer.send('readdir', msg),
  17. download: (msg) => ipcRenderer.send('download', msg),
  18. broadcast: (msg) => ipcRenderer.send('broadcast-message', msg),
  19. onBroadcast: (callback) => ipcRenderer.on('message-broadcast', (event, data) => callback(data)),
  20. });
  21. // window.open = (url)=>{console.log(url)}
  22. window.lastText = ''
  23. setInterval(() => {
  24. // 快手
  25. if (document.querySelectorAll('.virt-list__client .comment-cell')[0]) {
  26. let nowMessage = document.querySelectorAll('.virt-list__client .comment-cell')[document.querySelectorAll('.virt-list__client .comment-cell').length - 1]
  27. let nowText = nowMessage.querySelector('.comment').innerText
  28. if (window.lastText !== nowText) {
  29. window.lastText = nowText
  30. console.log(nowText)
  31. ipcRenderer.send('broadcast-message', nowText)
  32. }
  33. }
  34. // 抖音
  35. if (document.querySelectorAll('.TNg5meqw')[0]) {
  36. let nowMessage = document.querySelectorAll('.TNg5meqw')[document.querySelectorAll('.TNg5meqw').length - 1]
  37. let nowText = nowMessage.innerText
  38. if (window.lastText !== nowText) {
  39. window.lastText = nowText
  40. console.log(nowText)
  41. ipcRenderer.send('broadcast-message', nowText)
  42. }
  43. }
  44. const chatroom = document.querySelectorAll('.webcast-chatroom .webcast-chatroom___content-with-emoji-text')
  45. if (chatroom[0]) {
  46. let nowMessage = chatroom[chatroom.length - 1].innerText
  47. let nowText = nowMessage.innerText
  48. if (window.lastText !== nowText) {
  49. window.lastText = nowText
  50. console.log(nowText)
  51. ipcRenderer.send('broadcast-message', nowText)
  52. }
  53. }
  54. // 巨量
  55. if (document.querySelector('#comment-list-wrapper')) {
  56. let timingList = document.querySelectorAll('#comment-list-wrapper>[elementtiming="element-timing"]')
  57. let nowMessage = timingList[timingList.length - 1]
  58. if (!nowMessage.innerText.includes('主播')) {
  59. let nowText = nowMessage.innerText.replace(nowMessage.querySelector('span').innerText, '')
  60. if (window.lastText !== nowText) {
  61. window.lastText = nowText
  62. console.log(nowText)
  63. ipcRenderer.send('broadcast-message', nowText)
  64. }
  65. }
  66. }
  67. }, 1000);