跳转到主要内容

概念解释

什么是用户?

用户(User)是 WuKongIM 系统中的基本实体,代表使用即时通讯服务的个人或应用。每个用户都有唯一的标识符和相关属性,是消息发送和接收的主体。

为什么用户很重要?

  • 身份标识:用户 ID 是系统中唯一标识一个用户的关键
  • 权限基础:所有的消息发送、接收权限都基于用户身份
  • 状态管理:用户的在线状态决定了消息的推送方式和时机

与其他概念的关系

  • 消息(Message):用户是消息的发送者和接收者
  • 频道(Channel):用户通过频道进行交流,个人频道的 ID 就是用户 ID
  • 会话(Conversation):用户的会话列表显示了该用户参与的所有聊天
  • 设备(Device):一个用户可以在多个设备上登录使用

核心结构

用户包含以下核心属性:
属性类型说明
uidstring用户唯一标识符
onlineinteger在线状态(0=离线,1=在线)
device_flaginteger设备类型标识

设备标识类型

设备类型说明
1iOSiPhone、iPad 设备
2AndroidAndroid 设备
3Web浏览器、Web 应用
4Desktop桌面应用

用户示例

{
  "uid": "user123",
  "online": 1,
  "device_flag": 1
}

相关 API 端点

端点方法说明
/user/onlinestatusPOST查询用户在线状态
/user/tokenPOST更新用户 Token
/user/device_quitPOST强制设备下线
/user/systemuidsGET获取系统用户列表

EasySDK 代码示例

用户初始化和连接

import { WKIM, WKIMEvent } from 'easyjssdk';

// 初始化 SDK
const im = WKIM.init("ws://your-server.com:5200", {
  uid: "user123",                    // 用户唯一标识
  token: "your_auth_token"           // 用户认证令牌
});

// 监听连接状态
im.on(WKIMEvent.Connect, (result) => {
  console.log('用户已连接:', result);
});

im.on(WKIMEvent.Disconnect, (disconnectInfo) => {
  console.log('用户已断开连接:', disconnectInfo);
});

// 连接到服务器
try {
  await im.connect();
  console.log("连接成功!");
} catch (error) {
  console.error("连接失败:", error);
}

用户状态管理

// 检查连接状态
const isConnected = im.isConnected();
console.log('连接状态:', isConnected);

// 断开连接
await im.disconnect();

// 监听错误事件
im.on(WKIMEvent.Error, (error) => {
  console.log('发生错误:', error);
});
WuKongIM 专注于消息传输,用户的详细资料(如昵称、头像等)通常由应用层管理。