更新记录

4.5.0(2024-02-21)

新增特性

  • [IM SDK] 聊天室和群组成员进出事件增加成员人数 memberCount 字段。
  • [IM SDK] 新增 deleteAllMessagesAndConversations 方法,用于清空当前用户的聊天记录,包括消息和会话。
  • [IM SDK] 新增 getSelfIdsOnOtherPlatform 方法,可以获取当前用户其他登录设备的登录 ID 列表,实现对指定设备发送消息。
  • [IM SDK] 新增 useReplacedMessageContents 开关。开启后,发送消息时如果被内容审核进行了内容替换,发送方可以获取替换后的内容。

    优化

  • [IM SDK] Web 本地数据库移除非必要唯一字段。
  • [IM SDK] 格式化会话列表中最近一条自定义消息的 customExts 字段。
  • [IM SDK] 重复拉消息问题。

    修复

  • [IM SDK] 修复 回调消息顺序异常问题。
  • [IM SDK] 修复 vite electron 引入 MiniCore 插件报错。
  • [IM SDK] 修复 H5 引入微信 SDK 后,updateOwnUserInfo API 请求参数异常问题。

4.4.0(2024-01-08)

新增特性 [IM SDK] 新增会话标记功能。 addConversationMark:标记会话。 removeConversationMark:取消标记会话。 getServerConversationsByFilter:根据会话标记从服务器分页查询会话列表。 onMultiDeviceEvent#markConversation/unMarkConversation:多设备场景下的会话标记事件。当前用户在一台登录设备上更新了会话标记,包括添加和移除会话标记,其他登录设备会收到该事件。 [IM SDK] 增加 回调。在收到文本、图片、视频、语音、地理位置和文件等消息时,批量将消息回调给应用。 [IM SDK] 视频类型消息增加视频首帧缩略图, 通过 videoMessage.thumb 访问。

修复

[IM SDK] SDK 类型修正。 [IM SDK] vite 引入 MiniCore SDK 报错。 [IM SDK] 优化附件类型消息发送时的附件上传,支持分片上传。

4.3.0(2023-11-21)

新增特性

  • [IM SDK] 新增好友备注功能。
  • [IM SDK] 消息结构新增 broadcast 字段, 用于判断该消息是否为聊天室全局广播消息。可通过调用 REST API 发送聊天室全局广播消息。

    优化

  • [IM SDK] Token 登录增加即将过期及已过期的回调,即 Token 已过期或有效期过半时也触发 onTokenExpired 和 onTokenWillExpire 回调。

    修复

  • [IM SDK] 修复会话列表最后一条消息中获取不到 reaction 的问题。
查看更多

平台兼容性

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协议

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