更新记录
4.9.1(2024-09-06) 下载此版本
版本 V4.9.1 Dev 2024-09-06(开发版)
新增特性
- [IM SDK] uni-app SDK 支持 uni-app 推送插件。
修复
- [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
方法新增ext
和leaveOtherRooms
参数,支持设置加入聊天室时携带的扩展信息,并指定是否退出所有其他聊天室。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
。
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] 修复 onMessage 回调消息顺序异常问题。
- [IM SDK] 修复 vite electron 引入 MiniCore 插件报错。
- [IM SDK] 修复 H5 引入微信 SDK 后,updateOwnUserInfo API 请求参数异常问题。
平台兼容性
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会屏蔽此提示