emContacts.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import { EMClient } from '../index';
  2. const emContacts = () => {
  3. const fetchContactsListFromServer = () => {
  4. return new Promise((resolve, reject) => {
  5. EMClient.getAllContacts()
  6. .then((res) => {
  7. const { data } = res;
  8. console.log('>>>>>获取全部好友列表');
  9. resolve(data);
  10. })
  11. .catch((error) => {
  12. reject(error);
  13. });
  14. });
  15. };
  16. const removeContactFromServer = (contactId) => {
  17. if (contactId) {
  18. return new Promise((resolve, reject) => {
  19. EMClient.deleteContact(contactId)
  20. .then((res) => {
  21. resolve(res);
  22. })
  23. .catch((error) => {
  24. reject(error);
  25. });
  26. });
  27. }
  28. };
  29. const addContactFromServer = (contactId, applyMsg = '加个好友吧') => {
  30. if (contactId) {
  31. return new Promise((resolve, reject) => {
  32. EMClient.addContact(contactId, applyMsg)
  33. .then((res) => {
  34. resolve(res);
  35. })
  36. .catch((error) => {
  37. reject(error);
  38. });
  39. });
  40. }
  41. };
  42. const acceptContactInvite = (contactId) => {
  43. if (contactId) {
  44. return new Promise((resolve, reject) => {
  45. EMClient.acceptContactInvite(contactId)
  46. .then((res) => {
  47. resolve(res);
  48. })
  49. .catch((error) => {
  50. reject(error);
  51. });
  52. });
  53. // EMClient.acceptContactInvite(contactId);
  54. }
  55. };
  56. const declineContactInvite = (contactId) => {
  57. if (contactId) {
  58. EMClient.declineContactInvite(contactId);
  59. }
  60. };
  61. const getBlocklistFromServer = () => {
  62. return new Promise((resolve, reject) => {
  63. EMClient.getBlocklist()
  64. .then((res) => {
  65. const { data } = res;
  66. resolve(data);
  67. })
  68. .catch((error) => {
  69. reject(error);
  70. });
  71. });
  72. };
  73. const addUsersToBlocklist = (userList) => {
  74. return new Promise((resolve, reject) => {
  75. EMClient.addUsersToBlocklist({ name: [...userList] })
  76. .then((res) => {
  77. const { data } = res;
  78. resolve(data);
  79. })
  80. .catch((error) => {
  81. reject(error);
  82. });
  83. });
  84. };
  85. const removeUsersFromBlocklist = (userList) => {
  86. return new Promise((resolve, reject) => {
  87. EMClient.removeUserFromBlocklist({ name: [...userList] })
  88. .then((res) => {
  89. resolve(res);
  90. })
  91. .catch((error) => {
  92. reject(error);
  93. });
  94. });
  95. };
  96. const setContactRemarkFromServer = (contactId, remark) => {
  97. return new Promise((resolve, reject) => {
  98. EMClient.setContactRemark({
  99. userId: contactId,
  100. remark,
  101. })
  102. .then((res) => {
  103. resolve(res);
  104. })
  105. .catch((error) => {
  106. reject(error);
  107. });
  108. });
  109. };
  110. return {
  111. fetchContactsListFromServer,
  112. removeContactFromServer,
  113. addContactFromServer,
  114. acceptContactInvite,
  115. declineContactInvite,
  116. getBlocklistFromServer,
  117. addUsersToBlocklist,
  118. removeUsersFromBlocklist,
  119. setContactRemarkFromServer,
  120. };
  121. };
  122. export default emContacts;