twitter.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import { getStorage, setStorage, getVisitorId, setCookie, getCookie } from '@/uilts/help'
  2. import { getChromeStorage, setChromeStorage } from '@/uilts/chromeExtension.js'
  3. // 根据提示dom 跳转到推文详情页面
  4. export const jumpTwitterDetailByAlert = () => {
  5. let num = 10
  6. let timer = setInterval(() => {
  7. if (num <= 0) {
  8. clearInterval(timer)
  9. return
  10. }
  11. let alert = document.querySelector('div[role=alert]')
  12. if (alert) {
  13. let a = alert.querySelector('a')
  14. if (a) {
  15. clearInterval(timer)
  16. a.click()
  17. }
  18. }
  19. num--
  20. }, 500)
  21. }
  22. export const showEditTweet = (callback) => {
  23. let bigBtn = document.querySelector('a[data-testid="SideNav_NewTweet_Button"]');
  24. if (bigBtn) {
  25. bigBtn.click();
  26. } else {
  27. let smallBtn = document.querySelector('a[href="/compose/tweet"]')
  28. smallBtn && smallBtn.click();
  29. }
  30. let num = 10
  31. let timer = setInterval(() => {
  32. if(num <= 0){
  33. clearInterval(timer)
  34. return
  35. }
  36. let inputEle = document.querySelector('div[contenteditable="true"]');
  37. if(inputEle){
  38. clearInterval(timer)
  39. callback && callback()
  40. }
  41. num--
  42. }, 500);
  43. }
  44. export const setDeviceInfo = async () => {
  45. const deviceStorageParams = {
  46. name: 'de_net_device_id_1'
  47. }
  48. const deviceCookieParams = {
  49. url: 'https://twitter.com/',
  50. name: 'de_net_device_id_2'
  51. }
  52. let deviceInfo = {
  53. deviceId1: '',
  54. deviceId2: ''
  55. }
  56. let storageDeviceInfo = getStorage(deviceStorageParams.name);
  57. if(!storageDeviceInfo) {
  58. let res = await getVisitorId();
  59. let id = res && res.visitorId || '';
  60. setStorage(deviceStorageParams.name, id);
  61. deviceInfo.deviceId1 = id;
  62. } else {
  63. deviceInfo.deviceId1 = storageDeviceInfo;
  64. }
  65. let cookieDeviceInfo = getCookie(deviceCookieParams.name);
  66. if(!cookieDeviceInfo) {
  67. let res = await getVisitorId();
  68. let id = res && res.visitorId || '';
  69. setCookie(deviceCookieParams.name, id, 600);
  70. deviceInfo.deviceId2 = id;
  71. } else {
  72. deviceInfo.deviceId2 = cookieDeviceInfo;
  73. }
  74. setChromeStorage({'deviceInfo': JSON.stringify(deviceInfo)});
  75. }