twitter.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { appVersionCode, baseAPIUrl } from '@/http/configAPI.js'
  2. import { getChromeStorage } from '@/uilts/chromeExtension.js'
  3. export async function getTtwitterRequestToken() {
  4. let storage_mid = await getChromeStorage('mid') || ''
  5. const { mid } = storage_mid || {}
  6. return new Promise(function (resolve, reject) {
  7. let _url = `${baseAPIUrl}/user/twitterRequestToken`
  8. fetch(_url, {
  9. method: 'POST', // or 'PUT'
  10. headers: {
  11. 'Content-Type': 'application/json',
  12. },
  13. body: JSON.stringify({
  14. "baseInfo": {
  15. appVersionCode,
  16. mid
  17. },
  18. "params": {
  19. "oauthCallback": "oob"
  20. }
  21. }),
  22. })
  23. .then(response => response.json())
  24. .then(data => {
  25. resolve(data);
  26. })
  27. .catch((error) => {
  28. reject(error);
  29. });
  30. })
  31. }
  32. export async function twitterLogin(oauthToken, oauthVerifier, receivedIds = []) {
  33. let storage_mid = await getChromeStorage('mid') || ''
  34. const { mid } = storage_mid || {}
  35. return new Promise(function (resolve, reject) {
  36. let _url = `${baseAPIUrl}/user/twitterLogin`
  37. fetch(_url, {
  38. method: 'POST', // or 'PUT'
  39. headers: {
  40. 'Content-Type': 'application/json',
  41. },
  42. body: JSON.stringify({
  43. "baseInfo": {
  44. appVersionCode,
  45. mid
  46. },
  47. "params": {
  48. "oauthToken": oauthToken,
  49. "oauthVerifier": oauthVerifier,
  50. "receivedIds": receivedIds
  51. }
  52. }),
  53. })
  54. .then(response => response.json())
  55. .then(data => {
  56. resolve(data);
  57. })
  58. .catch((error) => {
  59. reject(error);
  60. });
  61. })
  62. }
  63. // 请求推特短链接
  64. export async function httpTwitterShortUrl(url) {
  65. return new Promise(function (resolve, reject) {
  66. fetch(url) // 返回一个Promise对象
  67. .then((res) => {
  68. return res.text() // res.text()是一个Promise对象
  69. }).then((res) => {
  70. resolve(res.toString());
  71. })
  72. })
  73. }