doTask.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import MESSAGE_ENUM from '@/uilts/messageCenter/iframe/messageEnum'
  2. import messageCenter from '@/uilts/messageCenter/iframe'
  3. import { getQueryString } from '@/uilts/help'
  4. const iframeId = getQueryString('iframeId')
  5. // 做任务
  6. const doTask = {
  7. createTweet({ tweetId }, overTime) {
  8. return new Promise((res, rej) => {
  9. messageCenter.send({
  10. info: {
  11. actionType: MESSAGE_ENUM.IFRAME_DO_TASK_CREATE_TWEET,
  12. iframeId //用于告诉父窗口会传消息给哪个iframe
  13. },
  14. data: {
  15. tweetId
  16. },
  17. overTime,
  18. callback: (data) => {
  19. res(data);
  20. },
  21. failback: (e) => {
  22. rej(e)
  23. }
  24. })
  25. })
  26. },
  27. like({ tweetId }, overTime) {
  28. return new Promise((res, rej) => {
  29. messageCenter.send({
  30. info: {
  31. actionType: MESSAGE_ENUM.IFRAME_DO_TASK_LIKE,
  32. iframeId //用于告诉父窗口会传消息给哪个iframe
  33. },
  34. data: {
  35. tweetId,
  36. },
  37. overTime,
  38. callback: (data) => {
  39. res(data);
  40. },
  41. failback: (e) => {
  42. rej(e)
  43. }
  44. })
  45. })
  46. },
  47. follows({ follows }, overTime) {
  48. return new Promise((res, rej) => {
  49. messageCenter.send({
  50. info: {
  51. actionType: MESSAGE_ENUM.IFRAME_DO_TASK_FOLLOWS,
  52. iframeId //用于告诉父窗口会传消息给哪个iframe
  53. },
  54. data: {
  55. follows
  56. },
  57. overTime,
  58. callback: (data) => {
  59. res(data);
  60. },
  61. failback: (e) => {
  62. rej(e)
  63. }
  64. })
  65. })
  66. },
  67. reTweet({ tweetId }, overTime) {
  68. return new Promise((res, rej) => {
  69. messageCenter.send({
  70. info: {
  71. actionType: MESSAGE_ENUM.IFRAME_DO_TASK_RETWEET,
  72. iframeId //用于告诉父窗口会传消息给哪个iframe
  73. },
  74. data: {
  75. tweetId
  76. },
  77. overTime,
  78. callback: (data) => {
  79. res(data);
  80. },
  81. failback: (e) => {
  82. rej(e)
  83. }
  84. })
  85. })
  86. }
  87. }
  88. export default doTask
  89. // iframe > dom id
  90. // iframe > createTweet dom id