XuqmGroup-Web/docs-site/docs/rn/group.md

110 行
2.0 KiB
Markdown

# React Native 群聊
基于 `@xuqm/rn-im` 模块实现群组相关功能。
---
## 创建群聊
```ts
import { ImSDK } from '@xuqm/rn-im'
const group = await ImSDK.createGroup('项目讨论', ['user_002', 'user_003'])
// group.id — 群 ID
// group.name — 群名称
// group.creatorId — 创建者
```
> `createGroup` 第二个参数为初始成员列表,创建者自动加入。
---
## 邀请成员
```ts
// 添加单个成员
await ImSDK.addGroupMember('group_xxx', 'user_004')
// 批量添加成员
await ImSDK.batchAddGroupMembers('group_xxx', ['user_004', 'user_005'])
```
---
## 发送群消息
```ts
const msg = await ImSDK.sendMessage(
'group_xxx', // toId
'GROUP', // chatType
'TEXT', // msgType
'大家好!' // content
)
```
发送多媒体群消息:
```ts
// 图片
await ImSDK.sendImageMessage('group_xxx', 'GROUP', '/path/to/image.jpg', 800, 600)
```
---
## 群成员管理
```ts
// 移除成员
await ImSDK.removeGroupMember('group_xxx', 'user_004')
// 批量移除
await ImSDK.batchRemoveGroupMembers('group_xxx', ['user_004', 'user_005'])
// 退出群聊
await ImSDK.leaveGroup('group_xxx')
// 设置管理员角色(示例)
await ImSDK.setGroupRole('group_xxx', 'user_004', 'ADMIN')
// 禁言成员(示例)
await ImSDK.muteGroupMember('group_xxx', 'user_004', 60)
// 转让群主(示例)
await ImSDK.transferGroupOwner('group_xxx', 'user_002')
// 解散群聊(示例)
await ImSDK.dismissGroup('group_xxx')
```
---
## 群信息查询
```ts
// 群列表(仅返回当前用户所在的群)
const groups = await ImSDK.listGroups()
// 群详情
const group = await ImSDK.getGroupInfo('group_xxx')
// 群成员
const members = await ImSDK.listGroupMembers('group_xxx')
// 群历史消息
const history = await ImSDK.fetchGroupHistory('group_xxx', page, size)
```
---
## 群类型
创建群时可指定 `groupType`
| 类型 | 说明 |
|------|------|
| `WORK` | 工作群(默认)|
| `PUBLIC` | 公开群 |
| `PRIVATE` | 私有群 |
[→ 返回 RN IM 接入文档](./im)