|  | @@ -529,7 +529,7 @@ const setDialogPublishContent = throttle(function (content) {
 | 
	
		
			
				|  |  |          if (inputEle) {
 | 
	
		
			
				|  |  |              inputEle.dispatchEvent(event);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -    }, 300)
 | 
	
		
			
				|  |  | +    }, 600)
 | 
	
		
			
				|  |  |  }, 600);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
	
		
			
				|  | @@ -766,14 +766,14 @@ export function bindTwitterArtMethod() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import parseCard from './ParseCard'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -// 检测dom改变 
 | 
	
		
			
				|  |  | -// 获取短链接 
 | 
	
		
			
				|  |  | -// 查看本地是否有postid 
 | 
	
		
			
				|  |  | -// 如果有 修改dom 返回 
 | 
	
		
			
				|  |  | -// 如果没有 网络请求 
 | 
	
		
			
				|  |  | -// 获取postid 
 | 
	
		
			
				|  |  | -// 获取twitterid 
 | 
	
		
			
				|  |  | -// 检测当前所有dom 如果没有 
 | 
	
		
			
				|  |  | +// 检测dom改变
 | 
	
		
			
				|  |  | +// 获取短链接
 | 
	
		
			
				|  |  | +// 查看本地是否有postid
 | 
	
		
			
				|  |  | +// 如果有 修改dom 返回
 | 
	
		
			
				|  |  | +// 如果没有 网络请求
 | 
	
		
			
				|  |  | +// 获取postid
 | 
	
		
			
				|  |  | +// 获取twitterid
 | 
	
		
			
				|  |  | +// 检测当前所有dom 如果没有
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1031,6 +1031,28 @@ export function init() {
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +export const getTweetUserFollowStatus = (params) => {
 | 
	
		
			
				|  |  | +  let {tweetId, userList} = params.data;
 | 
	
		
			
				|  |  | +  let promiseList = [];
 | 
	
		
			
				|  |  | +  for(let i = 0; i < userList.length; i++) {
 | 
	
		
			
				|  |  | +    promiseList[i] = TwitterApiUserByScreenNameReq({screen_name: userList[i]['name']});
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  Promise.all(promiseList).then((res) => {
 | 
	
		
			
				|  |  | +    let list = [];
 | 
	
		
			
				|  |  | +    if(res && res.length) {
 | 
	
		
			
				|  |  | +      for(let i = 0; i < res.length; i++) {
 | 
	
		
			
				|  |  | +        let item = res[i];
 | 
	
		
			
				|  |  | +        if(item && item.data && item.data.data) {
 | 
	
		
			
				|  |  | +          list.push(item.data.data)
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    chrome.runtime.sendMessage({ actionType: 'CONTENT_GET_TWEET_USER_FOLLOW_STATUS_RES', data: list, tweetId }, () => { })
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  function onPageVisbile() {
 | 
	
		
			
				|  |  |      document.addEventListener('visibilitychange', function () {
 | 
	
		
			
				|  |  |          let isHidden = document.hidden;
 | 
	
	
		
			
				|  | @@ -1542,28 +1564,34 @@ const TwitterApiCreateTweet = ({ text, tweet_Id }) => {
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -export const TwitterApiUserByScreenName = (params) => {
 | 
	
		
			
				|  |  | -    let { screen_name, tweetId = '', objectType = '' } = params;
 | 
	
		
			
				|  |  | -    axios.get(`https://twitter.com/i/api/graphql/mCbpQvZAw6zu_4PvuAUVVQ/UserByScreenName?variables=%7B%22screen_name%22%3A%22${screen_name}%22%2C%22withSafetyModeUserFields%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%7D`, {
 | 
	
		
			
				|  |  | -        headers: {
 | 
	
		
			
				|  |  | -            "accept": "*/*",
 | 
	
		
			
				|  |  | -            "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
 | 
	
		
			
				|  |  | -            "authorization": "Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA",
 | 
	
		
			
				|  |  | -            "content-type": "application/json",
 | 
	
		
			
				|  |  | -            "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"",
 | 
	
		
			
				|  |  | -            "sec-ch-ua-mobile": "?0",
 | 
	
		
			
				|  |  | -            "sec-ch-ua-platform": "\"Windows\"",
 | 
	
		
			
				|  |  | -            "sec-fetch-dest": "empty",
 | 
	
		
			
				|  |  | -            "sec-fetch-mode": "cors",
 | 
	
		
			
				|  |  | -            "sec-fetch-site": "same-origin",
 | 
	
		
			
				|  |  | -            "x-csrf-token": getCookie('ct0'),
 | 
	
		
			
				|  |  | -            "x-twitter-active-user": "yes",
 | 
	
		
			
				|  |  | -            "x-twitter-auth-type": "OAuth2Session",
 | 
	
		
			
				|  |  | -            "x-twitter-client-language": "en"
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -    }).then(function (response) {
 | 
	
		
			
				|  |  | -        chrome.runtime.sendMessage({ actionType: "CONTENT_API_GET_TWEET_USER_INFO_RES", data: response.data.data || {}, tweetId, objectType }, () => { })
 | 
	
		
			
				|  |  | +const TwitterApiUserByScreenNameReq = (params) => {
 | 
	
		
			
				|  |  | +  let {screen_name} = params || {};
 | 
	
		
			
				|  |  | +  return axios.get(`https://twitter.com/i/api/graphql/mCbpQvZAw6zu_4PvuAUVVQ/UserByScreenName?variables=%7B%22screen_name%22%3A%22${screen_name}%22%2C%22withSafetyModeUserFields%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%7D`, {
 | 
	
		
			
				|  |  | +      headers: {
 | 
	
		
			
				|  |  | +          "accept": "*/*",
 | 
	
		
			
				|  |  | +          "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
 | 
	
		
			
				|  |  | +          "authorization": "Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA",
 | 
	
		
			
				|  |  | +          "content-type": "application/json",
 | 
	
		
			
				|  |  | +          "sec-ch-ua": "\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"",
 | 
	
		
			
				|  |  | +          "sec-ch-ua-mobile": "?0",
 | 
	
		
			
				|  |  | +          "sec-ch-ua-platform": "\"Windows\"",
 | 
	
		
			
				|  |  | +          "sec-fetch-dest": "empty",
 | 
	
		
			
				|  |  | +          "sec-fetch-mode": "cors",
 | 
	
		
			
				|  |  | +          "sec-fetch-site": "same-origin",
 | 
	
		
			
				|  |  | +          "x-csrf-token": getCookie('ct0'),
 | 
	
		
			
				|  |  | +          "x-twitter-active-user": "yes",
 | 
	
		
			
				|  |  | +          "x-twitter-auth-type": "OAuth2Session",
 | 
	
		
			
				|  |  | +          "x-twitter-client-language": "en"
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +  })
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export const TwitterApiUserByScreenName = (params, cb) => {
 | 
	
		
			
				|  |  | +    let { screen_name, tweetId = '', objectType = ''} = params;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    TwitterApiUserByScreenNameReq({screen_name}).then(function (response) {
 | 
	
		
			
				|  |  | +      chrome.runtime.sendMessage({ actionType: "CONTENT_API_GET_TWEET_USER_INFO_RES", data: response.data.data || {}, tweetId, objectType }, () => { })
 | 
	
		
			
				|  |  |      }).catch(function (err) {
 | 
	
		
			
				|  |  |        chrome.runtime.sendMessage({ actionType: "CONTENT_API_GET_TWEET_USER_INFO_RES", data: {}, tweetId, objectType }, () => { })
 | 
	
		
			
				|  |  |      });
 | 
	
	
		
			
				|  | @@ -1985,14 +2013,14 @@ export const setPopupConfByPopupPage = () => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/** 
 | 
	
		
			
				|  |  | - * 
 | 
	
		
			
				|  |  | - * Group Tab List Start 
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * Group Tab List Start
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  | - * 
 | 
	
		
			
				|  |  | - * 创建 Group Tab 
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * 创建 Group Tab
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  const createGroupTabNode = () => {
 | 
	
		
			
				|  |  |      let groupIcon = document.createElement('img');
 | 
	
	
		
			
				|  | @@ -2572,10 +2600,10 @@ const sysThemeChange = () => {
 | 
	
		
			
				|  |  |      }, 800)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/** 
 | 
	
		
			
				|  |  | - * 
 | 
	
		
			
				|  |  | - * Group Tab List End 
 | 
	
		
			
				|  |  | - * 
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * Group Tab List End
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |