选择一个会话开始聊天
单聊 / 群聊 / 超级群 / 聊天室 · 图片与文件 · 撤回 · 已读回执 · 群管理 · 本地与服务端搜索 · 系统通知
Rust PaaS IM · IMKit 组件化 Demo(只调用 SDK 公开接口)
首次使用请点「注册并登录」;演示账号 alice / bob / carol / dave 可互相聊天。
覆盖范围:Demo 界面文案;SDK/IMKit 生成的文本不在范围内(时间格式通过 IMKit 的 locale 生效)。设置保存在本机。
单聊 / 群聊 / 超级群 / 聊天室 · 图片与文件 · 撤回 · 已读回执 · 群管理 · 本地与服务端搜索 · 系统通知
-
聊天室为在线态会话:不落离线历史,断连即离开;服务端未开通时会给出明确错误提示。
也可使用浏览器定位(首次会请求授权)
把选中的消息打包成一条 combine 消息发送(接收方渲染为可展开的聊天记录卡片)。
机器人由 Open API 注册(bot.create + bot.integration.create);
im-server 把发给机器人的消息回调到本机演示服务器的 Webhook,演示服务器按规则生成回复并以机器人身份发回,
因此客户端只看到普通消息。
数据来自管理 API(admin.moderation.tasks.list / .../decide);决策后会触发
message.audit_result 回调,右侧「审核回调」实时显示本机演示服务器收到的内容。
KV、禁言、白名单、封禁、保活都属于 Open API,经本机演示服务器签名代调(/im/v2/chatroom/*);
客户端仍有 SDK 公开入口 joinChatroom / getChatroomInfo / getChatroomMembers / leaveChatroom。
同一用户在本页打开两个 SDK 会话:设备 A = 当前页面,设备 B = 第二个 SDK 实例。服务端把同一条消息投递给该用户的所有会话(发送端其他会话以 direction=send 回显);未读数与已读回执按「用户」共享,而不是按端。
K21 厂商通道配置来自管理 API(经同源演示服务器 /__demo/admin 代理,管理密钥只存在于服务端进程);敏感字段由服务端脱敏为 **** 前缀。
会话类型:1 单聊 / 2 群聊 / 3 聊天室 / 6 系统 / 10 超级群。经 Open API conversation/type/notification 读写,落库并回读验证。
超级群由 Open API group/create(groupType=super)创建,经同源演示服务器签名代调;客户端 SDK 自 rev20 起 createGroup(name, memberIds, {groupType, joinPolicy, maxMembers}) 也支持传这些参数(Android/Flutter 已实现)。
服务端默认为 level=0(全部提醒);融云超级群产品语义默认免打扰,本服务端未强制该默认值,改为可设置 + 回读。
全员禁言对非群主/管理员生效(发送返回 1009 GroupMuted);群主与管理员不受限。
频道 API 由 Web SDK 提供:list/create/join/leave(create 返回服务端生成的 channelId);用户组绑定写的是 channel.userGroupIds(服务端未回填 userGroup.channelIds,故「用户组→频道」反查为空,属已知服务端不对称)。其余用户组操作仍经同源演示服务器(/__demo/openapi)代调。
客户端只在本页已缓存的消息里检索(打开过的会话 + 实时到达的消息),不发服务端全文搜索请求;服务端全文搜索仍保留在顶栏「搜索」。
口径差异:服务端 searchMessages 覆盖全部历史(按权限),本地面板只覆盖浏览器里已加载的缓存消息,因此结果可能少于服务端搜索。