# 聊天模块

控制层 TypechoChatController @author buxia97 @date 2023/01/10

**类路径**：`ChatController`
**前缀**：`/typechoChat`

## 1. getPrivateChat

**接口路径**：`GET/POST /typechoChat/getPrivateChat`

**权限**：需要登录（普通用户及以上）

**接口说明**：获取私聊聊天室（没有则自动新增）

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| token | String | 否 | - |  |
| touid | Integer | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.getPrivateChat()  （https://api.ruletree.club/typechoChat/getPrivateChat）

---

## 2. sendMsg

**接口路径**：`GET/POST /typechoChat/sendMsg`

**权限**：需要登录（普通用户及以上）

**接口说明**：发送消息

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| token | String | 否 | - |  |
| chatid | Integer | 否 | - |  |
| msg | String | 否 | - |  |
| type | Integer | 否 | 0 |  |
| url | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.sendMsg()  （https://api.ruletree.club/typechoChat/sendMsg）

---

## 3. myCaht

**接口路径**：`GET/POST /typechoChat/myChat`

**权限**：需要登录（普通用户及以上）

**接口说明**：我参与的私聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| page | Integer | 否 | 1 |  |
| token | String | 否 | - |  |
| order | String | 否 | lastTime |  |
| limit | Integer | 否 | 15 |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.myChat()  （https://api.ruletree.club/typechoChat/myChat）

---

## 4. msgSetRead

**接口路径**：`GET/POST /typechoChat/msgSetRead`

**权限**：需要登录（普通用户及以上）

**接口说明**：聊天消息单独已读

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| chatid | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.setRead()  （https://api.ruletree.club/typechoUsers/setRead）
- 前端调用：this.$API.msgSetRead()  （https://api.ruletree.club/typechoChat/msgSetRead）

---

## 5. msgList

**接口路径**：`GET/POST /typechoChat/msgList`

**权限**：需要登录（普通用户及以上）

**接口说明**：聊天消息

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| chatid | Integer | 否 | - |  |
| page | Integer | 否 | 1 |  |
| token | String | 否 | - |  |
| searchKey | String | 否 | - |  |
| limit | Integer | 否 | 15 |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.msgList()  （https://api.ruletree.club/typechoChat/msgList）

---

## 6. searchMyMsg

**接口路径**：`GET/POST /typechoChat/searchMyMsg`

**权限**：需要登录（普通用户及以上）

**接口说明**：用户搜索自己的消息记录（查询用户发送的或发送给用户的消息）

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| token | String | 否 | - |  |
| page | Integer | 否 | 1 |  |
| limit | Integer | 否 | 15 |  |
| searchKey | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

---

## 7. deleteChat

**接口路径**：`GET/POST /typechoChat/deleteChat`

**权限**：需要管理员或编辑权限

**接口说明**：删除聊天室

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| chatid | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.deleteChat()  （https://api.ruletree.club/typechoChat/deleteChat）

---

## 8. deleteMsg

**接口路径**：`GET/POST /typechoChat/deleteMsg`

**权限**：需要管理员或编辑权限

**接口说明**：删除聊天消息

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| msgid | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.deleteMsg()  （https://api.ruletree.club/typechoChat/deleteMsg）

---

## 9. createChat

**接口路径**：`GET/POST /typechoChat/createGroup`

**权限**：需要管理员或编辑权限

**接口说明**：管理员创建群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| name | String | 否 | - |  |
| pic | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.createGroup()  （https://api.ruletree.club/typechoChat/createGroup）

---

## 10. editGroup

**接口路径**：`GET/POST /typechoChat/editGroup`

**权限**：需要管理员或编辑权限

**接口说明**：管理员编辑群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| name | String | 否 | - |  |
| id | Integer | 否 | - |  |
| pic | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.editGroup()  （https://api.ruletree.club/typechoChat/editGroup）

---

## 11. banChat

**接口路径**：`GET/POST /typechoChat/banChat`

**权限**：需要登录（普通用户及以上）

**接口说明**：屏蔽和全群禁言

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| id | Integer | 否 | - |  |
| token | String | 否 | - |  |
| type | Integer | 否 | 1 |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.ban()  （https://api.ruletree.club/typechoUserlog/ban）
- 前端调用：this.$API.banChat()  （https://api.ruletree.club/typechoChat/banChat）

---

## 12. groupInfo

**接口路径**：`GET/POST /typechoChat/groupInfo`

**权限**：公开接口；但当系统配置 isLogin=1 时会强制要求登录

**接口说明**：群聊信息

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| id | Integer | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupInfo()  （https://api.ruletree.club/typechoChat/groupInfo）

---

## 13. allGroup

**接口路径**：`GET/POST /typechoChat/allChat`

**权限**：需要登录（普通用户及以上）

**接口说明**：全部聊天

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| page | Integer | 否 | 1 |  |
| order | String | 否 | created |  |
| type | Integer | 否 | 1 |  |
| limit | Integer | 否 | 15 |  |
| searchKey | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.allChat()  （https://api.ruletree.club/typechoChat/allChat）

---

## 14. addGrouptype

**接口路径**：`GET/POST /typechoChat/addGrouptype`

**权限**：需要超级管理员权限

**接口说明**：添加群聊群聊分类

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| params | String（JSON 字符串，需后端解析） | 否 | - | JSON 字符串，需后端解析 |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.addGrouptype()  （https://api.ruletree.club/typechoChat/addGrouptype）

---

## 15. updateGrouptype

**接口路径**：`GET/POST /typechoChat/updateGrouptype`

**权限**：需要超级管理员权限

**接口说明**：修改群聊分类

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| params | String（JSON 字符串，需后端解析） | 否 | - | JSON 字符串，需后端解析 |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.updateGrouptype()  （https://api.ruletree.club/typechoChat/updateGrouptype）

---

## 16. deleteGrouptype

**接口路径**：`GET/POST /typechoChat/deleteGrouptype`

**权限**：需要超级管理员权限

**接口说明**：删除群聊分类

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| id | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.deleteGrouptype()  （https://api.ruletree.club/typechoChat/deleteGrouptype）

---

## 17. grouptypeList

**接口路径**：`GET/POST /typechoChat/grouptypeList`

**权限**：公开接口，不校验 token

**接口说明**：查询群聊分类列表

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| searchParams | String（JSON 字符串，需后端解析） | 否 | - | JSON 字符串，需后端解析 |
| page | Integer | 否 | 1 |  |
| limit | Integer | 否 | 15 |  |
| order | String | 否 | orderKey |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.grouptypeList()  （https://api.ruletree.club/typechoChat/grouptypeList）

---

## 18. groupTypeInfo

**接口路径**：`GET/POST /typechoChat/groupTypeInfo`

**权限**：需要超级管理员权限

**接口说明**：群聊分类详情

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| id | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupTypeInfo()  （https://api.ruletree.club/typechoChat/groupTypeInfo）

---

## 19. groupMemberList

**接口路径**：`GET/POST /typechoChat/groupMemberList`

**权限**：需要登录（普通用户及以上）

**接口说明**：获取群成员列表

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| page | Integer | 否 | 1 |  |
| limit | Integer | 否 | 20 |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupMemberList()  （https://api.ruletree.club/typechoChat/groupMemberList）

---

## 20. groupMemberInfo

**接口路径**：`GET/POST /typechoChat/groupMemberInfo`

**权限**：需要登录（普通用户及以上）

**接口说明**：获取当前用户在群中的角色信息

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupMemberInfo()  （https://api.ruletree.club/typechoChat/groupMemberInfo）

---

## 21. joinGroup

**接口路径**：`GET/POST /typechoChat/joinGroup`

**权限**：需要登录（普通用户及以上）

**接口说明**：申请加入群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| reason | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.joinGroup()  （https://api.ruletree.club/typechoChat/joinGroup）

---

## 22. leaveGroup

**接口路径**：`GET/POST /typechoChat/leaveGroup`

**权限**：需要登录（普通用户及以上）

**接口说明**：主动退出群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.leaveGroup()  （https://api.ruletree.club/typechoChat/leaveGroup）

---

## 23. approveApply

**接口路径**：`GET/POST /typechoChat/approveApply`

**权限**：需要登录（普通用户及以上）

**接口说明**：审核加群申请

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| applyId | Integer | 否 | - |  |
| status | String | 否 | - |  |
| rejectReason | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.approveApply()  （https://api.ruletree.club/typechoChat/approveApply）

---

## 24. setGroupAdmin

**接口路径**：`GET/POST /typechoChat/setGroupAdmin`

**权限**：需要登录（普通用户及以上）

**接口说明**：设置/取消管理员

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| userId | Integer | 否 | - |  |
| action | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.setGroupAdmin()  （https://api.ruletree.club/typechoChat/setGroupAdmin）

---

## 25. kickMember

**接口路径**：`GET/POST /typechoChat/kickMember`

**权限**：需要登录（普通用户及以上）

**接口说明**：踢出群成员

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| userId | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.kickMember()  （https://api.ruletree.club/typechoChat/kickMember）

---

## 26. transferGroup

**接口路径**：`GET/POST /typechoChat/transferGroup`

**权限**：需要登录（普通用户及以上）

**接口说明**：转让群主

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| userId | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.transferGroup()  （https://api.ruletree.club/typechoChat/transferGroup）

---

## 27. muteMember

**接口路径**：`GET/POST /typechoChat/muteMember`

**权限**：需要登录（普通用户及以上）

**接口说明**：禁言群成员

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| userId | Integer | 否 | - |  |
| minutes | Integer | 否 | 10 |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.muteMember()  （https://api.ruletree.club/typechoChat/muteMember）

---

## 28. groupApplyList

**接口路径**：`GET/POST /typechoChat/groupApplyList`

**权限**：需要登录（普通用户及以上）

**接口说明**：加群申请列表

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| status | String | 否 | - |  |
| page | Integer | 否 | 1 |  |
| limit | Integer | 否 | 20 |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupApplyList()  （https://api.ruletree.club/typechoChat/groupApplyList）

---

## 29. userCreateGroup

**接口路径**：`GET/POST /typechoChat/userCreateGroup`

**权限**：需要登录（普通用户及以上）

**接口说明**：普通用户创建群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| name | String | 否 | - |  |
| pic | String | 否 | - |  |
| sort | Integer | 否 | 0 |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.createGroup()  （https://api.ruletree.club/typechoChat/createGroup）
- 前端调用：this.$API.userCreateGroup()  （https://api.ruletree.club/typechoChat/userCreateGroup）

---

## 30. userGroupList

**接口路径**：`GET/POST /typechoChat/userGroupList`

**权限**：需要登录（普通用户及以上）

**接口说明**：用户群聊列表（我创建的/加入的）

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| page | Integer | 否 | 1 |  |
| limit | Integer | 否 | 20 |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.userGroupList()  （https://api.ruletree.club/typechoChat/userGroupList）

---

## 31. updateGroupInfo

**接口路径**：`GET/POST /typechoChat/updateGroupInfo`

**权限**：需要登录（普通用户及以上）

**接口说明**：更新群信息（群公告/群名称/群头像/加群方式）

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| name | String | 否 | - |  |
| pic | String | 否 | - |  |
| announce | String | 否 | - |  |
| joinPermission | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.groupInfo()  （https://api.ruletree.club/typechoChat/groupInfo）
- 前端调用：this.$API.updateGroupInfo()  （https://api.ruletree.club/typechoChat/updateGroupInfo）

---

## 32. disbandGroup

**接口路径**：`GET/POST /typechoChat/disbandGroup`

**权限**：需要登录（普通用户及以上）

**接口说明**：解散群聊

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.ban()  （https://api.ruletree.club/typechoUserlog/ban）
- 前端调用：this.$API.disbandGroup()  （https://api.ruletree.club/typechoChat/disbandGroup）

---

## 33. adminAuditGroup

**接口路径**：`GET/POST /typechoChat/adminAuditGroup`

**权限**：需要超级管理员权限

**接口说明**：后台审核群聊（管理员审核用户创建的群聊）

**请求参数**：

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| groupId | Integer | 否 | - |  |
| status | String | 否 | - |  |
| rejectReason | String | 否 | - |  |
| token | String | 否 | - |  |

**响应说明**：
```json
{
  "code": 1,
  "msg": "",
  "data": ...
}
```

**前端调用参考**：
- 前端调用：this.$API.adminAuditGroup()  （https://api.ruletree.club/typechoChat/adminAuditGroup）

---
