group.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <?php
  2. /*
  3. * 群组管理示例
  4. */
  5. require_once __DIR__ . '/../autoload.php';
  6. $config = require_once 'config.php';
  7. use Easemob\Auth;
  8. use Easemob\Group;
  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. $group = new Group($auth);
  18. echo '<pre>';
  19. /*
  20. // 创建公开群
  21. var_dump($group->createPublicGroup('user1', 'public_group', 'public_group_desc', array('user2', 'user3')));
  22. // 177627064238081
  23. // 创建私有群
  24. var_dump($group->createPrivateGroup('user1', 'private_group', 'private_group_desc', array('user2', 'user3')));
  25. // 177627064238082
  26. */
  27. /*
  28. for ($i = 0; $i < 20; $i++) {
  29. var_dump($group->createPublicGroup('user1', 'public_group_' . $i, 'public_group_desc_' . $i, array('user2', 'user3')));
  30. }
  31. // string(15) "177627101986819"
  32. // string(15) "177627103035393"
  33. // string(15) "177627103035394"
  34. // string(15) "177627103035396"
  35. // string(15) "177627103035397"
  36. // string(15) "177627104083969"
  37. // string(15) "177627104083970"
  38. // string(15) "177627104083971"
  39. // string(15) "177627104083973"
  40. // string(15) "177627104083974"
  41. // string(15) "177627105132545"
  42. // string(15) "177627105132546"
  43. // string(15) "177627105132547"
  44. // string(15) "177627105132548"
  45. // string(15) "177627105132549"
  46. // string(15) "177627106181121"
  47. // string(15) "177627106181122"
  48. // string(15) "177627106181123"
  49. // string(15) "177627106181124"
  50. // string(15) "177627106181125"
  51. // string(15) "177627106181126"
  52. // string(15) "177627107229697"
  53. */
  54. /*
  55. // 分页获取 App 中所有的群组
  56. var_dump($group->listGroups(2));
  57. var_dump($group->listGroups(2, 'ZGNiMjRmNGY1YjczYjlhYTNkYjk1MDY2YmEyNzFmODQ6aW06Z3JvdXA6MTExNTIxMDkxNTE5MzI3NyNkZW1vOjI'));
  58. */
  59. /*
  60. // 获取 App 中所有的群组
  61. var_dump($group->listAllGroups());
  62. */
  63. /*
  64. // 分页获取单个用户加入的所有群组,第 1 页
  65. var_dump($group->listGroupsUserJoined('user1', 1, 1));
  66. // 分页获取单个用户加入的所有群组,第 2 页
  67. var_dump($group->listGroupsUserJoined('user1', 1, 2));
  68. */
  69. /*
  70. // 获取单个用户加入的所有群组
  71. var_dump($group->listAllGroupsUserJoined('user1'));
  72. */
  73. /*
  74. // 获取群组详情
  75. var_dump($group->getGroup('177627064238081'));
  76. var_dump($group->getGroup('177627064238081,177627064238082'));
  77. */
  78. /*
  79. var_dump($group->getGroup('177627064238081'));
  80. // 修改群组信息
  81. $data = array(
  82. 'group_id' => '177627064238081',
  83. 'groupname' => 'test group',
  84. 'description' => 'test description',
  85. 'maxusers' => 400,
  86. 'membersonly' => true,
  87. 'allowinvites' => true,
  88. 'custom' => 'test custom',
  89. );
  90. var_dump($group->updateGroup($data));
  91. var_dump($group->getGroup('177627064238081'));
  92. */
  93. /*
  94. // 删除群组
  95. var_dump($group->getGroup('177627107229697'));
  96. var_dump($group->destroyGroup('177627107229697'));
  97. var_dump($group->getGroup('177627107229697'));
  98. */
  99. /*
  100. // 获取群组公告
  101. var_dump($group->getGroupAnnouncement('177627064238081'));
  102. */
  103. /*
  104. var_dump($group->getGroupAnnouncement('177627064238081'));
  105. // 修改群组公告
  106. var_dump($group->updateGroupAnnouncement('177627064238081', 'test 公告内容xxx'));
  107. var_dump($group->getGroupAnnouncement('177627064238081'));
  108. */
  109. /*
  110. // 获取群组共享文件
  111. var_dump($group->getGroupShareFiles('177627064238081'));
  112. */
  113. /*
  114. // 上传群组共享文件
  115. var_dump($group->uploadGroupShareFile('177627064238081', './images/1.png'));
  116. array(6) {
  117. ["file_url"]=>
  118. string(120) "https://a1.easemob.com/1115210915193277/demo/chatgroups/177627064238081/share_files/59f53fc0-b18e-11ec-9abc-6766e56acf4e"
  119. ["group_id"]=>
  120. string(15) "177627064238081"
  121. ["file_name"]=>
  122. string(14) "./images/1.png"
  123. ["created"]=>
  124. int(1648798549436)
  125. ["file_id"]=>
  126. string(36) "59f53fc0-b18e-11ec-9abc-6766e56acf4e"
  127. ["file_size"]=>
  128. int(19161)
  129. }
  130. */
  131. /*
  132. // 下载群组共享文件
  133. var_dump($group->downloadGroupShareFile('llxx.png', '177627064238081', '59f53fc0-b18e-11ec-9abc-6766e56acf4e'));
  134. */
  135. /*
  136. var_dump($group->getGroupShareFiles('177627064238081'));
  137. // 删除群组共享文件
  138. var_dump($group->deleteGroupShareFile('177627064238081', '59f53fc0-b18e-11ec-9abc-6766e56acf4e'));
  139. var_dump($group->getGroupShareFiles('177627064238081'));
  140. */
  141. /*
  142. // 分页获取群组成员
  143. var_dump($group->listGroupMembers('177627064238081', 1));
  144. var_dump($group->listGroupMembers('177627064238081', 1, 2));
  145. */
  146. /*
  147. // 获取群组全部成员
  148. var_dump($group->listAllGroupMembers('177627101986819'));
  149. */
  150. /*
  151. // 添加单个群组成员
  152. var_dump($group->listAllGroupMembers('177627064238081'));
  153. var_dump($group->addGroupMember('177627064238081', 'user4'));
  154. var_dump($group->listAllGroupMembers('177627064238081'));
  155. */
  156. /*
  157. // 批量添加群组成员
  158. var_dump($group->listAllGroupMembers('177627101986819'));
  159. var_dump($group->addGroupMembers('177627101986819', array('user4', 'user5', 'user6', 'user7')));
  160. var_dump($group->listAllGroupMembers('177627101986819'));
  161. */
  162. /*
  163. var_dump($group->listAllGroupMembers('177627064238081'));
  164. // 移除单个群组成员
  165. var_dump($group->removeGroupMember('177627064238081', 'user7'));
  166. var_dump($group->listAllGroupMembers('177627064238081'));
  167. */
  168. /*
  169. var_dump($group->listAllGroupMembers('177627064238081'));
  170. // 批量移除群组成员
  171. var_dump($group->removeGroupMembers('177627064238081', array('user5', 'user6')));
  172. var_dump($group->listAllGroupMembers('177627064238081'));
  173. */
  174. /*
  175. // 获取群管理员列表
  176. var_dump($group->listGroupAdmins('177627064238081'));
  177. */
  178. /*
  179. var_dump($group->listGroupAdmins('177627064238081'));
  180. // 添加群管理员
  181. var_dump($group->addGroupAdmin('177627064238081', 'user4'));
  182. var_dump($group->addGroupAdmin('177627064238081', 'user3'));
  183. var_dump($group->listGroupAdmins('177627064238081'));
  184. */
  185. /*
  186. var_dump($group->listGroupAdmins('177627064238081'));
  187. // 移除群管理员
  188. var_dump($group->removeGroupAdmin('177627064238081', 'user4'));
  189. var_dump($group->listGroupAdmins('177627064238081'));
  190. */
  191. /*
  192. var_dump($group->getGroup('177627064238081'));
  193. // 转让群组
  194. var_dump($group->updateGroupOwner('177627064238081', 'user2'));
  195. var_dump($group->getGroup('177627064238081'));
  196. */