更新记录

4.13.0(2025-03-17) 下载此版本

版本 V4.13.0 Dev 2025-3-12(开发版)

新增特性

  • [IM SDK] 发送后修改消息接口 modifyMessage 支持修改各类消息:

    • 文本消息:支持修改 msgext 字段。
    • 自定义消息:支持修改 customEventcustomExtsext 字段。
    • 图片/语音/视频/文件/位置/合并消息:仅支持修改 ext 字段。
    • 命令消息:不支持修改。
  • [IM Demo] 增加反诈提示 UI。

优化

[IM SDK] SDK 内部捕获重试 DNS 失败的错误。

版本 V4.12.0 Dev 2025-1-10(开发版)

新增特性

  • 消息修改事件 onModifiedMessage 中增加消息 ext 字段。添加该字段后,修改消息后,接收方会收到发送方修改的扩展信息。
  • 加入聊天室 joinChatRoom 成功的回调新增 info 字段,包含如下信息,即用户加入聊天室后会收到如下信息:
    • 聊天室创建时间:createTimestamp
    • 用户是否开启全员禁言:isAllMembersMuted
    • 用户是否在白名单中:isInAllowlist
    • 当前聊天室成员数:memberCount
    • 用户禁言到期时间:muteExpireTimestamp

修复

  • [IM SDK] 修复偶现无法拉取消息的问题。

版本 V4.11.0 Dev 2024-12-3(开发版)

新增特性

  • [IM SDK] 新增拉取服务器漫游消息时会读取服务端的消息已读和送达状态。该功能只适用于单聊消息,默认关闭,如果需要,请联系环信商务开通。
  • [IM SDK] 聊天室禁言回调 muteMember 新增 muteTimestamp 参数,表示禁言过期时间。
  • [IM SDK] 群组/聊天室禁言事件 muteMember 新增 userId 字段,表示被禁言的成员。

优化

[IM SDK] SDK 的 message 对象中新增 parseDownloadResponsedownload 方法。目前,SDK 的 utils 对象和 message 对象中均包含 parseDownloadResponsedownload 方法。

修复

[IM SDK] 修复消息置顶事件 onMessagePinEvent 中的 conversationId 参数值错误的问题。

版本 V4.10.0 2024-10-11(开发版)

新增特性

  • 聊天室公告修改事件中增加公告内容:updateAnnouncement 事件中增加 announcement 字段,表示更新的公告。
  • 新增两个错误码
    • WEBIM_USER_ALREADY_LOGIN 208:用户已登录。单设备登录时,若调用 open 方法用户已经登录,会提示该错误。
    • MESSAGE_SEND_TIMEOUT 512:发送消息超时。例如,发消息时连接断开,会提示该错误。

优化

调整了登录方法的 open().then 与连接成功事件 onConnected 的触发时机。优化后,调用登录方法 open 后,先触发连接成功与否的事件 onConnectedonDisconnected,然后再触发登录 open().then 或者 open().catch,以确保连接完全建立后再进行后续处理。之前版本为调用登录方法,先触发登录回调,然后触发连接事件,导致需要等待连接成功事件 onConnected 触发后才能发送消息。同时,优化后,鉴权失败等登录错误会在 open.catch 中抛出。

版本 V4.9.2 2024-09-20(开发版)

新增特性

4.9.1(2024-09-06) 下载此版本

版本 V4.9.1 Dev 2024-09-06(开发版)

新增特性

修复

  • [IM SDK] 修复一些类型问题。

4.8.1(2024-07-18) 下载此版本

版本 V4.8.1 Dev 2024-07-01(开发版)

新增特性

  • [IM SDK] onDisconnected 事件新增断开原因回调参数, 告知用户触发 onDisconnected 的原因。
  • [IM SDK] 新增设备登录时允许携带自定义消息,并将其传递给被踢的设备
    • setLoginInfoCustomExt:设置登录设备的扩展信息。
    • onDisconnected:多设备登录场景下,若当前设备被新登录设备踢下线,被踢设备收到的事件中会携带新设备的扩展信息。
  • [IM SDK] 支持加入聊天室时携带扩展信息、是否退出之前加入的全部聊天室
    • joinChatRoom 方法新增 extleaveOtherRooms 参数,支持设置加入聊天室时携带的扩展信息,并指定是否退出所有其他聊天室。
    • ChatroomEvent 新增 ext 扩展字段,当用户加入聊天室携带了扩展信息时,聊天室内其他人可以在用户加入聊天室的回调中,获取到扩展信息。
  • [IM SDK] 新增 ConnectionParameters#isFixedDeviceId 初始化参数,默认为 true使用固定的设备 ID。之前,每个 SDK 实例连接时,SDK 默认均使用不同的随机字符串作为设备标识。
  • [IM SDK] destroyChatRoom 方法支持聊天室所有者解散聊天室。

修复

  • [IM SDK] 修复 SDK 在 uniapp Vue3 平台无法自动重连的问题。
  • [IM SDK] 将数据库操作失败错误码 LOCAL_DB_OPERATION_FAILED 为 从 55 修改为 800
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

webim-uniapp-demo

介绍

demo 包含以下功能

  • 最近通话
  • 通讯录
  • 通知(加好友、加群)
  • 设置

在本地跑起来

拉取代码,在HBuliderX工具中即可运行起来。

数据结构

登录页:
        login: {
            name:'',
            psd: '',
            grant_type: 'password',
        }

注册页:
        register: {
            username: '',
            password: ''
        }

通讯录页:
       member:[],   //好友列表

聊天页:
       chatMsg:[{
            info:{
                to:''         
            },
            username:'',      //用户名
            yourname:'',      //好友名
            msg: {
                type:'',    
                data:''
            },
            style:'',       //样式
            time:'',
            mid:''        //message ID
       }]

globalData: 
    userInfo: '',  //用户微信授权信息
    chatMsg: []   //用于存储离线消息
    unReadMessageNum: 0, //未读消息数
    saveFriendList: [],//加好友申请
    saveGroupInvitedList: [], //加群邀请
    isIPX: false //是否为iphone X //是否为iphoneX

缓存:
   myUsername: ''    //缓存登录用户名     
   yourname + myName:''  //以用户名跟好友名为key来缓存聊天记录

项目结构

|- components 自定义组件目录
    |-chat 聊天页面
    |-swipedelete 测滑删除
|-static/images demo中用到的图片 还有表情
|-pages 功能页面
    |-register 注册页
    |-login 登录页
    |-login_token token登录页
    |-chat 最近联系人页(通话)
        |-chatroom 聊天室页
    |-main 联系人页
        |-add_new 加好友页
        |-group 群组页
            |-groupSetting 群组设置页
    |-notificaton 通知页
    |-notificaton_friendDetail 加好友通知页
    |-notificaton_groupDetail 加群组通知页
    |-setting 设置页
        |-setting_general 通用设置页
|-utils 工具类和sdk的一些配置
|-newSDK 环信sdk
|-app.vue 小程序根实例,存放一些全局变量,注册监听事件
|-app.json 注册页面以及全局的一些配置
|-app.css 一些全局样式
|-project.config.json工程的一些配置,和开发者工具 “详情” 中的设置一样

常见问题

  • 小程序开发工具提示错误信息:{type: 206},并提示 illegal buffer,然后socket连接中断并提示{code: 1000, reason: "normal closure"}

    {type: 206}:账号在另外一端服务登陆,socket断连。提示illegal buffer不影响业务功能,后期sdk会屏蔽此提示

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问