🔐 接口总览
| 分类 | 接口名 | 路径 | 权限 |
|---|---|---|---|
| 圈主开关控制 | 开启私聊 | /TalkPrivate/openChat | 圈主 |
| 关闭私聊 | /TalkPrivate/closeChat | 圈主 | |
| 建立会话 | 成员发起私聊 | /TalkPrivate/joinPrivate | 成员 |
| 消息功能 | 发送文字 | /TalkPrivate/sendTalk | 圈主/成员 |
| 发送图片 | /TalkPrivate/sendImg | 圈主/成员 | |
| 聊天记录 | /TalkPrivate/talkLog | 圈主/成员 | |
| 撤回消息 | /TalkPrivate/recallTalk | 圈主/成员 | |
| 黑名单管理 | 圈主拉黑/解封 | /TalkPrivate/blacklistUser | 圈主 |
| 黑名单列表 | /TalkPrivate/blacklistUserList | 圈主 | |
| 圈主视图 | 私聊会话列表 | /TalkPrivate/ownerSessionList | 圈主 |
🧩 1️⃣ 开关控制
开启私聊
URL:/TalkPrivate/openChat
权限:圈主
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
响应
{
"code": 200,
"msg": "success"
}
关闭私聊
URL:/TalkPrivate/closeChat
权限:圈主
请求参数与返回结构同上。
🧩 2️⃣ 建立会话
成员发起私聊
URL:/TalkPrivate/joinPrivate
权限:成员
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
响应示例
{
"code": 200,
"msg": "success",
"data": {
"peer_user_id": 10001
}
}
🧩 3️⃣ 消息功能
发送文字消息
URL:/TalkPrivate/sendTalk
权限:圈主 / 成员
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
content | string | ✅ | 消息文字内容 |
peer_user_id | int | ⚠️ | 圈主发送时必填;成员无需传 |
响应
{
"code": 200,
"msg": "success",
"data": {
"MsgSeq": 12
}
}
发送图片消息
URL:/TalkPrivate/sendImg
权限:圈主 / 成员
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
URL | string | ✅ | 图片链接(上传后返回的URL) |
peer_user_id | int | ⚠️ | 圈主发送时必填;成员无需传 |
获取聊天记录
URL:/TalkPrivate/talkLog
权限:圈主 / 成员
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
peer_user_id | int | ⚠️ | 圈主查看成员记录时必填 |
limit | int | ❌ | 每页条数(默认20) |
响应示例
{
"code": 200,
"msg": "success",
"data": {
"data": [
{
"id": 1,
"from_user_id": 10001,
"to_user_id": 20002,
"content": "Hello!",
"type": 0,
"MsgSeq": 1,
"create_time": "2025-10-30 16:20:00",
"user_info": { "id": 10001, "nickname": "Alice" }
}
]
}
}
撤回消息
URL:/TalkPrivate/recallTalk
权限:圈主 / 成员
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
MsgSeq | int | ✅ | 消息序号 |
peer_user_id | int | ✅ | 会话另一方ID |
规则
- 仅发送者本人可撤回
- 撤回时限:2分钟内
响应
{ "code": 200, "msg": "success" }
🧩 4️⃣ 黑名单管理(圈主)
圈主拉黑 / 取消拉黑
URL:/TalkPrivate/blacklistUser
权限:圈主
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
do_user_id | int | ✅ | 被操作的用户ID |
响应示例
- 拉黑成功:
{ "code": 200, "msg": "blocked" }
- 取消拉黑:
{ "code": 200, "msg": "unblocked" }
黑名单列表
URL:/TalkPrivate/blacklistUserList
权限:圈主
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
limit | int | ❌ | 每页条数(默认10) |
响应示例
{
"code": 200,
"msg": "success",
"data": {
"data": [
{
"user_id": 20002,
"we_chat_nickname": "Student A",
"we_chat_head_img_url": "https://...",
"remark": "private chat blocked"
}
]
}
}
🧩 5️⃣ 圈主私聊会话列表
查看当前圈子内所有私聊会话
URL:/TalkPrivate/ownerSessionList
权限:圈主
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
circle_id | int | ✅ | 圈子ID |
limit | int | ❌ | 每页条数(默认10) |
响应示例
{
"code": 200,
"msg": "success",
"data": [
{
"user_info": {
"id": 20002,
"nickname": "学生A",
"avatar": "https://..."
},
"last_talk": {
"content": "好的老师",
"type": 0,
"create_time": "2025-10-30 14:20:10"
},
"unread": 3
}
]
}
📌 附录:消息类型约定
| 字段 | 值 | 含义 |
|---|---|---|
type | 0 | 普通文本 |
type | 1 | 图片URL |