# 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)
