写在前面

Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

了解更多原创文章:

【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型

【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数

【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理

【OpenIM扩展】OpenIM服务发现和负载均衡golang插件:gRPC接入etcdv3

【开源OpenIM】高性能、可伸缩、易扩展的即时通讯架构

如果您有兴趣可以在文章结尾了解到更多关于我们的信息,期待着与您的交流合作。

在初始化SDK前需要先初始化部分全局监听器,初始化成功后可在合适的时机通过globalEvent对相关回调进行监听。

// 会话监听
this.$openSdk.setConversationListener();
// 消息状态监听
this.$openSdk.addAdvancedMsgListener();
// 群组监听
this.$openSdk.setGroupListener()
// 好友监听
this.$openSdk.setFriendListener();
  • 会话监听回调列表
event 说明
onConversationChanged 会话列表改变
onNewConversation 新会话
onSyncServerFailed -
onSyncServerFinish -
onSyncServerStart -
onTotalUnreadMessageCountChanged 消息未读总数改变
  • 消息状态监听回调列表
event 说明
onRecvNewMessage 接收到新消息
onRecvMessageRevoked 其他用户撤回通知
onRecvC2CReadReceipt 对方实时已读通知
  • 群组监听回调列表
event 说明
onApplicationProcessed 入群申请被处理
onGroupCreated 群组创建
onGroupInfoChanged 群组信息改变
onMemberEnter 新成员加入群组
onMemberInvited 邀请成员加入
onMemberKicked 踢出成员
onMemberLeave 成员退群
onReceiveJoinApplication 收到入群申请
  • 好友监听回调列表
event 说明
onBlackListAdd 添加黑名单
onBlackListDeleted 移除黑名单
onFriendApplicationListAccept 接受好友请求
onFriendApplicationListAdded 好友请求列表增加
onFriendApplicationListDeleted 好友请求列表减少
onFriendApplicationListReject 拒绝好友请求
onFriendInfoChanged 好友信息更新
onFriendListAdded 好友列表增加
onFriendListDeleted 好友列表减少

2. 初始化OpenIMSDK

const config = {platform: 1,    //平台类型ipApi: "http://1.14.194.38:10000",    //api域名地址ipWs: "ws://1.14.194.38:17778",    //websocket地址/*** ps:上述配置适合于通过ip访问  若通过域名且配置了https证书请使用如下配置方式* ipApi: "https://open-im.rentsoft.cn",* ipWs: "wss://open-im.rentsoft.cn/wss",*/dbDir,    //SDK数据存放目录
}
//返回值为布尔值告知是否初始化成功
this.flag = this.$openSdk.initSDK(config);
  • dbDir为SDK初始化目录绝对路径,可通过H5+API获取

    plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {fs.root.getDirectory("user", {create: true,},(entry) => {//初始化SDK...},(error) => {console.log(error);});
    });
    

初始化SDK成功后会设置一个网络连接状态的回调监听,但回调在调用登录之后才会进行返回。

  • 初始化监听回调事件
event 说明
initStatus 初始化状态
onConnectFailed 连接失败
onConnectSuccess 连接成功
onConnecting 连接中
onKickedOffline 被踢下线
onSelfInfoUpdated 修改个人信息
onUserTokenExpired 账号token过期

OpenIM github开源地址:

https://github.com/OpenIMSDK/Open-IM-Server

OpenIM官网 : https://www.rentsoft.cn

OpenIM官方论坛: https://forum.rentsoft.cn/

我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的IM服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。

IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。

如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。

如您有技术上面的高见请到我们的论坛联系沟通,用户也可与我们的技术人员谈讨使用方面的难题以及见解

【OpenIM原创】uni-app使用之 初始化会话 消息 好友 监听器相关推荐

  1. uni app实现WIFI功能(只支持安卓APP)

    uni app实现WIFI功能 一.前言 二.使用 uni-WIFI 三.使用h5+ api 一.前言 最近需要在uniapp上实现WiFi功能,将个人的研究结果记录如下(都只支持安卓APP) 使用 ...

  2. 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...

    华数鲜时光tv版是西瓜视频的电视版本,由字节跳动与华数共同研发的电视原创视频app,上线的内容一应俱全,且内容覆盖年龄更广,汇集了生活窍门.美食做法.亲子时光.游戏解说.搞笑集锦.旅游看世界.影视看点 ...

  3. 切换 uniapp_万能前端框架uni app初探03:底部导航开发

    前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...

  4. uni app map 地图 漂浮问题及方案

    uni app map 地图 漂浮问题及方案 文章页有图片导致的问题,图片没加载出来,导致文章内容高度不固定,如果图片没加载出来,高度就是0,如果此时开始加载map,那么map就在那里加载,map原生 ...

  5. uni.app H5(微信公众号定位) uni.getLocation

    最近在开发公众号,由于之前经常使用uni,app写APP,索性就用uni.app来开发公众号了, 不过也遇到了一个问题,就是在公众号的首页要获取用户的定位.我看了看官网的API 有个uni.getLo ...

  6. HBuilder X ——Uni app 学习笔记(一)

    HBuilder X --Uni app 学习笔记(一) 1.pages.json配置 *pages数组中第一项表示应用启动页,数组中其他项为项目中所有页面路径. enablePullDownRefr ...

  7. uni app中使用图表

    关于在uni app中运用图表 今天写项目,需要在uni app中使用图表,我使用的是ucharts. 具体操作如下 1.下载 ucharts可以直接在uni app的插件市场下载安装. 先在插件市场 ...

  8. uni app 自动化索引列表

    uni app 自动化索引列表,官方推荐的第三方插件 https://ext.dcloud.net.cn/plugin?id=375 [{"letter": "A&quo ...

  9. HbuilderX:uni app踩坑之uView-ui

    HbuilderX:uni app踩坑之uView-ui 最近在自学uniapp,想找一个ui框架提高一下学习和开发的效率,于是就网上冲浪,浪来浪去,最后选择了uView-ui这款.其实有些框架我是有 ...

最新文章

  1. Keystone创建服务实体报错HTTP401和HTTP500
  2. springboot配置cxf
  3. 2020年电大c语言程序设计作业1答案,2019年最新电大C语言程序设计作业答案.doc
  4. nyoj-999 师傅又被妖怪抓走了
  5. Ubuntu文本编辑(vi和nano)命令
  6. 对require四种引入方式的认识
  7. vue中Router的封装以及使用
  8. 用开源项目PhotoView实现图片的双指缩放和双击放大缩小
  9. html向上浮动的方式,JS 实现Div向上浮动的实现代码
  10. VSCODE 一键编译运行
  11. 95-140-108-源码-transform-算子process
  12. 万维网c语言题库题,一级office选择题.doc
  13. JavaSE基础语法-笔记
  14. sql server计算日期到当前日期天数_Excel必学的7个计算日期间隔差的技巧
  15. linux下离线安装gcc详细教程
  16. ps导出切片批量改名
  17. R语言|ggtreeExtra包绘制进化树
  18. Linux驱动开发|音频驱动
  19. 关于图像客观质量评价
  20. B bearBaby loves sleeping

热门文章

  1. Hadoop-The variance for this alert is **MB which is 20% of the **MB average (**MB is the limit)
  2. 红豆熟了之后会生出什么呢?
  3. POCO C++库学习和分析 -- 异常、错误处理、调试
  4. Python制作连连看脚本工具,全程自动,不需要你动,简直太爽了
  5. 操作系统实验指导书(完整版)
  6. Spring Boot中多个PostConstruct注解执行顺序控制
  7. day07-python字典
  8. 使用nvs管理node版本
  9. 二手车微信小程序来袭
  10. PowerManger