平台概念
了解 XuqmGroup 平台的核心概念,有助于更好地接入 SDK。
App / Tenant
| 概念 |
说明 |
| Tenant(租户) |
对应一个开发者账号/企业,可在控制台创建多个应用 |
| App(应用) |
对应一个具体的客户端应用,拥有独立的 appKey 和 appSecret |
| appKey |
应用唯一标识,客户端初始化时传入 |
| appSecret |
应用密钥,仅保存在服务端,用于签发 UserSig |
UserSig
UserSig 是 XuqmGroup 的登录鉴权凭证,由业务服务端用 appSecret 为用户签发的安全凭证。
特点
- 当前版本不过期,只校验
userId + UserSig 是否匹配
appSecret 绝不下发到客户端
- 若需撤销权限,可在租户平台重置
appSecret 或拉黑账号
签发方式(示例)
// Node.js 示例
import jwt from 'jsonwebtoken'
const userSig = jwt.sign(
{ userId: 'user_001', appKey: 'your_app_key' },
'your_app_secret',
{ algorithm: 'HS256' }
)
消息类型
| 类型 |
说明 |
content 结构 |
| TEXT |
纯文本 |
String |
| IMAGE |
图片 |
{url, width, height, thumbnailUrl?} |
| VIDEO |
视频 |
{url, duration, thumbnailUrl, size} |
| AUDIO |
语音 |
{url, duration, size} |
| FILE |
文件 |
{url, name, size, mimeType} |
| LOCATION |
位置 |
{lat, lng, address, title} |
| CUSTOM |
自定义 |
任意 JSON |
| NOTIFY |
系统通知 |
{title, content} |
| RICH_TEXT |
富文本 |
{html} |
| CALL_AUDIO |
语音通话信令 |
{action} |
| CALL_VIDEO |
视频通话信令 |
{action} |
| QUOTE |
引用 |
{quotedMsgId, quotedContent, text} |
| MERGE |
合并转发 |
{title, msgList} |
| FORWARD |
转发 |
{originalSender, originalContent} |
| REVOKED |
撤回 |
系统内部填充 |
会话
会话(Conversation)是用户与单聊对象或群组的聊天关系抽象。
| 属性 |
说明 |
| targetId |
对方用户 ID 或群 ID |
| chatType |
SINGLE / GROUP |
| unreadCount |
未读消息数 |
| isPinned |
是否置顶 |
| isMuted |
是否免打扰 |
| lastMsgContent |
最后一条消息内容 |
| lastMsgTime |
最后一条消息时间(Unix 毫秒) |
群组
| 属性 |
说明 |
| id |
群唯一 ID |
| name |
群名称 |
| creatorId |
创建者用户 ID |
| memberIds |
成员列表(JSON 数组字符串) |
| adminIds |
管理员列表(JSON 数组字符串) |
| groupType |
群类型:WORK / PUBLIC / PRIVATE |
| announcement |
群公告 |
群角色
| 角色 |
说明 |
| OWNER |
群主 |
| ADMIN |
管理员 |
| MEMBER |
普通成员 |
消息状态
| 状态 |
说明 |
| SENDING |
发送中 |
| SENT |
已发送 |
| DELIVERED |
已送达 |
| READ |
已读 |
| FAILED |
发送失败 |
| REVOKED |
已撤回 |
→ 接入流程 →