room.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <?php
  2. /*
  3. * 聊天室管理示例
  4. */
  5. require_once __DIR__ . '/../autoload.php';
  6. $config = require_once 'config.php';
  7. use Easemob\Auth;
  8. use Easemob\Room;
  9. // 初始化授权对象,环信 token 初始化
  10. $easemob = $config['easemob'];
  11. $auth = new Auth($easemob['app_key'], $easemob['client_id'], $easemob['client_secret']);
  12. // 设置 REST 域名,沙箱环境使用,不是沙箱环境会自动获取
  13. if (isset($easemob['api_uri']) && $easemob['api_uri']) {
  14. $auth->setApiUri($easemob['api_uri']);
  15. }
  16. // 实例化对象
  17. $room = new Room($auth);
  18. echo '<pre>';
  19. /*
  20. // 获取 APP 中所有的聊天室(分页)
  21. var_dump($room->listRooms());
  22. var_dump($room->listRooms(10, 'ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Y2hhdHJvb206MTExNTIxMDkxNTE5MzI3NyNkZW1vOjI'));
  23. */
  24. /*
  25. // 获取 APP 中所有的聊天室
  26. var_dump($room->listAllRooms());
  27. */
  28. /*
  29. // 获取用户加入的聊天室(分页)
  30. var_dump($room->listRoomsUserJoined('user1'));
  31. var_dump($room->listRoomsUserJoined('user1', 10, 2));
  32. */
  33. /*
  34. // 获取用户加入的聊天室
  35. var_dump($room->listAllRoomsUserJoined('user1'));
  36. */
  37. /*
  38. // 创建聊天室
  39. var_dump($room->createRoom('测试聊天室1', '测试聊天室描述1', 'user1', array('user2', 'user3')));
  40. // 177630783537155
  41. */
  42. /*
  43. for ($i = 0; $i < 20; $i++) {
  44. var_dump($room->createRoom('测试聊天室' . $i, '测试聊天室描述' . $i, 'user1', array('user2', 'user3')));
  45. }
  46. // string(15) "177630845403137"
  47. // string(15) "177630845403138"
  48. // string(15) "177630846451713"
  49. // string(15) "177630846451714"
  50. // string(15) "177630846451716"
  51. // string(15) "177630846451717"
  52. // string(15) "177630846451719"
  53. // string(15) "177630846451720"
  54. // string(15) "177630847500289"
  55. // string(15) "177630847500290"
  56. // string(15) "177630847500292"
  57. // string(15) "177630847500293"
  58. // string(15) "177630847500294"
  59. // string(15) "177630848548865"
  60. // string(15) "177630848548866"
  61. // string(15) "177630848548867"
  62. // string(15) "177630848548868"
  63. // string(15) "177630849597441"
  64. // string(15) "177630849597442"
  65. // string(15) "177630849597443"
  66. */
  67. /*
  68. // 获取聊天室详情
  69. var_dump($room->getRoom('177630845403137'));
  70. var_dump($room->getRoom('177630783537155,177630845403137'));
  71. */
  72. /*
  73. var_dump($room->getRoom('177630783537155'));
  74. // 修改聊天室信息
  75. $data = array(
  76. 'room_id' => '177630783537155',
  77. 'name' => '测试聊天室1x',
  78. 'description' => '测试聊天室描述1x',
  79. 'maxusers' => 500,
  80. );
  81. var_dump($room->updateRoom($data));
  82. var_dump($room->getRoom('177630783537155'));
  83. */
  84. /*
  85. // 删除聊天室
  86. var_dump($room->getRoom('177630849597443'));
  87. var_dump($room->destroyRoom('177630849597443'));
  88. var_dump($room->getRoom('177630849597443'));
  89. */
  90. /*
  91. // 获取聊天室公告
  92. var_dump($room->getRoomAnnouncement('177630783537155'));
  93. */
  94. /*
  95. var_dump($room->getRoomAnnouncement('177630783537155'));
  96. // 修改聊天室公告
  97. var_dump($room->updateRoomAnnouncement('177630783537155', '聊天室测试公告'));
  98. var_dump($room->getRoomAnnouncement('177630783537155'));
  99. */
  100. /*
  101. // 分页获取聊天室成员
  102. var_dump($room->listRoomMembers('177630783537155', 1)); // 默认第一页 10 条
  103. var_dump($room->listRoomMembers('177630783537155', 1, 2)); // 第二页 10 条
  104. */
  105. /*
  106. // 获取聊天室所有成员
  107. var_dump($room->listRoomMembersAll('177630783537155'));
  108. */
  109. /*
  110. var_dump($room->listRoomMembersAll('177630783537155'));
  111. // 添加单个聊天室成员
  112. var_dump($room->addRoomMember('177630783537155', 'user10'));
  113. var_dump($room->listRoomMembersAll('177630783537155'));
  114. */
  115. /*
  116. var_dump($room->listRoomMembersAll('177630783537155'));
  117. // 批量添加聊天室成员
  118. var_dump($room->addRoomMembers('177630783537155', array('user5', 'user6', 'user7')));
  119. var_dump($room->listRoomMembersAll('177630783537155'));
  120. */
  121. /*
  122. var_dump($room->listRoomMembersAll('177630783537155'));
  123. // 删除单个聊天室成员
  124. var_dump($room->removeRoomMember('177630783537155', 'user10'));
  125. var_dump($room->listRoomMembersAll('177630783537155'));
  126. */
  127. /*
  128. // 批量删除聊天室成员
  129. var_dump($room->listRoomMembersAll('177630783537155'));
  130. var_dump($room->removeRoomMembers('177630783537155', array('user11', 'user12', 'user13')));
  131. var_dump($room->listRoomMembersAll('177630783537155'));
  132. */
  133. /*
  134. // 获取聊天室管理员列表
  135. var_dump($room->listRoomAdminsAll('174712753815556'));
  136. */
  137. /*
  138. var_dump($room->listRoomAdminsAll('177630783537155'));
  139. // 添加聊天室管理员
  140. var_dump($room->promoteRoomAdmin('177630783537155', 'user4'));
  141. var_dump($room->listRoomAdminsAll('177630783537155'));
  142. */
  143. /*
  144. var_dump($room->listRoomAdminsAll('177630783537155'));
  145. // 移除聊天室管理员
  146. var_dump($room->demoteRoomAdmin('177630783537155', 'user4'));
  147. var_dump($room->listRoomAdminsAll('177630783537155'));
  148. */
  149. /*
  150. // 分页获取聊天室超级管理员列表
  151. var_dump($room->listRoomSuperAdmins(2));
  152. var_dump($room->listRoomSuperAdmins(2, 2));
  153. var_dump($room->listRoomSuperAdmins(2, 3));
  154. */
  155. /*
  156. var_dump($room->listRoomSuperAdminsAll());
  157. // 添加超级管理员
  158. var_dump($room->promoteRoomSuperAdmin('user3'));
  159. var_dump($room->listRoomSuperAdminsAll());
  160. */
  161. /*
  162. // 移除超级管理员
  163. var_dump($room->listRoomSuperAdmins());
  164. var_dump($room->demoteRoomSuperAdmin('user3'));
  165. var_dump($room->listRoomSuperAdmins());
  166. */