如何利用环信提供的uni-app Demo,快速实现一对一单聊?真真保姆级别教程!

写在前面:

1)因为初期直接下载环信的uni-app的demo源码直接看可能一头雾水,因此写下这篇文档帮助项目周期较急,想要快速集成环信uni-app端IM开发者小伙伴。

2)这篇文档只帮助实现单聊功能,群组功能其实与单聊基本相仿,可以在参考单聊后的流程,自行看看源码实现群聊。

3)尽管已经从原项目中剥离了很多无关核心逻辑的代码,但仍然可能还有一些小伙伴本身项目中用不到的代码,因此化繁去简这一步就不再本文档中展示,请在按照这篇文档,完成核心逻辑后自行进行优化。

然后就不多啰嗦了,下面开搞~

1、 下载环信uni-app demo 源码 源码地址:

https://github.com/easemob/webim-uniapp-demo

2、在编辑器中打开项目,建议进行一次试运行确保demo源码可以正常跑起来,大概率是可以正常跑起来的。
运行没有问题之后,强烈建议先在README.md中了解一下demo中的目录结构,做个初期的了解。 参考实际目录结构如图:

3、由于是作为演示,所以我只是简单的新建一个示例项目,写一个简易的聊天界面界面作为即时通讯功能的入口。
仿咸鱼在线一对一沟通界面入口:

这个就是默认的项目目录(该示例项目为Vue)

4、这一步就正式开始从环信的Uni-App demo中CV代码到自有的项目中:

setp1:先把最核心的SDKcopy进来,复制demo源码的 newSDK 这个文件到项目中(demo中的SDK其实有很多个,建议选择版本号最新的一个即可)。

自己的项目目录如图:

setp2:复制demo中的 utils 文件到项目中。

utils目录结构如图:

其中 WebIMConfig.js 是作为SDK的Config配置使用,WebIM.js 是针对于SDK进行初始化,并挂载一些常用方法,Dispatcher.js broadcast.js Observer.js 是用作发布订阅的使用,因为源码中有所使用,所以这几个文件都是必须引入。

setp3:copy static 静态资源包到自己的项目当中,因为组件的聊天界面里面的emoji是图片所以要用到。

此时的目录结构如图:

setp4:copy uview-ui进来,因为组件中有用到这个包的UI组件,使用过UI组件的朋友应该都知道,除了这个还要引入相应的样式,这个组件的README.md中,说明了要进行什么样的配置,这里就不再一一赘述。

setp5:在示例项目中新建components文件夹,分别copy demo当中的 components 文件夹下的整个 chat 组件,pages 文件夹下的chatroom组件,由于示例项目中的App.vue组件没有自己的其他逻辑,所以我直接将demo中的Appp.vue中的所有代码全部copy到示例项目中。

PS:特别说明demo的App.vue尽管不是每一行代码都是必要的,但是如果要做优化或者copy,确保import的引入部分先全部粘贴上,conn.listen 监听回调也一定要先copy上。确保先跑起来的原则,优化放在之后。

此时的目录结构如图:

以上步骤执行完成之后便可以跑一把试试了,运行起来查看一下是否有什么引入类型或者其他类型的报错在集中解决一下。

下图是运行到小程序的界面:

VM22 WAService.js:2 TypeError: Cannot read property 'forceUpdate' of undefined

这个报错原因是没有在HbuilderX配置微信小程序的AppId。

5、开始登陆环信,执行跳转至chat聊天界面进行单聊消息的发送测试

step1:确保先登陆环信(能到这一步相信也都已经注册了环信的账号创建了应用,或者利用环信官方demo注册了测试id)

我在示例项目中是在index.vue写的入口页面,因此登陆也写在了这个页面,示例代码截图可以看下图:

step2:运行项目看 App.vue中的监听回调--onOpened回调是否触发(这一步很重要,因为所有功能性接口调用都必须保证环信的连接成功)

看到代码中的打印输出之后证明已成功的建立websocket连接,正式可以开始下一步跳转至chat页面。

step3: 给引入的chatroom组件在pages.json中配置对应的路由映射,并在pages/index.vue组件再给"我想要"按钮添加事件执行路由跳转至chatroom组件。

index.vue中的示例代码如图:

chatroom组件不需要执行其他操作,onload直接将路由传递的参数进行了接收:

step:4 跑起来看看吧!

这个时候顺利的话你会跳转至这样的一个页面,有可能出现这样一个报错:

这是因为demo重写了一个setData并放在了main.js的mixin里面,手动加上去即可,代码所在位置如图:

6、重新编译启动,点击进入chat页面测试聊天,就没问题了!

不排除列位遇到一些其他阻力导致没有成功跑起来,如果还遇到有其他问题,可以在评论区友好交流,我看到会帮忙解决的。

源码下载: 使用环信提供的uni-app Demo,快速实现一对一单聊 - IM Geek开发者社区-移动开发者社区-开源社区-IM Geek官网使用环信提供的uni-app Demo,快速实现一对一单聊 - 如何利用环信提供的uni-app Demo,快速实现一对一单聊?真真保姆级别教程!写在前面:1)因为初期直接下载环信的uni-app的demo源码直接看可能一头雾水,因此写下这篇文档帮助项目周期较急,想要快速集成环信uni-app端IM开发者小伙伴。2...https://www.imgeek.org/article/825360394

使用环信提供的uni-app Demo,快速实现一对一单聊相关推荐

  1. 环信为自己的app加入即时通信功能的流程

    1.      在环信官网上注册账号,创建自己的app,生成app的key 2.      下载环信的SDK开发包,并导入到自己的app中并在自己的app的AndroidManifest.xml文件中 ...

  2. 环信SDK 头像、昵称、表情自定义和群聊设置的实现 二(附源码)

    前言: 环信SDK 头像.昵称.表情自定义和群聊设置的实现 一(附源码) 接着上面说的,我们来说说表情,它在哪里可以自定义,怎么写,那个方法是添加表情的我们都说说,找到 ChatViewControl ...

  3. 基于环信sdk在uni-app框架中快速开发一款多平台社交Demo

    说在前面:此款 demo 是基于 环信sdk 开发的一款具有单聊.群聊.聊天室.音视频等功能的应用.在此之前我们已经开发完 Vue.react(web端).微信小程序.这三个热门领域的版本,如有需要源 ...

  4. 环信SDK 头像、昵称、表情自定义和群聊设置的实现 一(附源码)

    前言: 环信的SDK在公司的项目中有用到,现在用到的是群聊的部分,这里我们分析总结一下自己对环信给的DEMO大概的拆解一下,说说我们怎么样充分的利用这个demo来写我们所需要的业务.这个也由于篇幅的原 ...

  5. Unity Metaverse(七)、基于环信IM SDK实现的好友系统、私聊、群聊

    文章目录

  6. 环信集成全过程有demo

    写在前面:普通的应用中一般只用到传输文件,发送文字图片信息,所以此处不做语音视频通讯的集成,够用就行,红色字体基本是都是坑,大家注意了 由于easeui bug太多,集成繁琐,不符合项目要求,所以自己 ...

  7. Android环信即时通信集成全过程(含demo)

    最近闲来无事,就使用环信提供的文档写了一篇详细的即时通信的软件, ok 为了感谢老东家的突出贡献 先将环信的详细文档地址贴出来: http://docs-im.easemob.com/im/andro ...

  8. uniapp使用环信插件实现视频通话

    前言:因为我所做的项目需求是,接到后端推送视频消息,APP端点击消息跳转到通话页面进行1对1通话,而后端已经进行账号好友等的处理,环信提供的demo很多功能前端暂时用不到了,以下就把我用到的罗列出来. ...

  9. JavaWeb聊天(Redis+环信) 一、发送接收消息、聊天记录拉取

    公司有需求做一个聊天功能. APP端,跟网页端互相聊天 android端直接嵌入了环信提供的DEMO.聊天记录.都是存储在本地自己进行维护. 所以本次只需要维护网页端的聊天记录~还有接收发送的消息就好 ...

最新文章

  1. (6)解构赋值的用途
  2. SAP UI5 应用开发教程之三十四 - SAP UI5 应用基于设备类型的页面适配功能(Device Adaptation)试读版
  3. 自然语言处理中的语言模型与预训练技术的总结
  4. 测绘工程所用软件评析
  5. java 重复代码优化_利用注解 + 反射消除重复代码(Java项目)
  6. mysql之事务_MySQL之事务
  7. 一本书学会可视化设计 pdf_【推荐给设计师看的11本书】电子版PDF
  8. html移动图片广告代码,右下角弹出广告代码 控制div移动 1)div是否
  9. Tiny6410 的NandFlash(K9GAG08U0E)
  10. uni-app h5打包发版到测试和生产环境具体步骤
  11. 我去!三面字节跳动,竟次次败,带薪摸鱼偷刷阿里老哥的面试宝典,成功上岸!
  12. Java实现:房贷计算器 (关键词:公积金、首付、等额本息、等额本金)
  13. python批量修改字典的键或值
  14. spring(春天)
  15. java xml最火的的工具_几种高效的Java工具类推荐
  16. 软件工程各阶段的UML图
  17. 基于jsp(java)网络教学平台系统的设计与实现
  18. 基于python3.7的4环电阻读数工具
  19. 消息传递框架MPNN: Neural Message Passing for Quantum Chemistry
  20. 虚拟机运行macOS10.15Catalina拓展apfs卷宗(拓展分区)

热门文章

  1. 测试 | 让每一粒尘埃有的放矢
  2. 具有资源开放性的物联网能力要求
  3. 模糊神经网络(二)神经网络
  4. matlab 与 python 在科学计算中的区别比较
  5. pandas数据分析和pyecharts可视化周杰伦MV弹幕(多图长文)
  6. 无线通信模块——WiFi,蓝牙,2.4G
  7. win2008降级为成员服务器_Windows2008R2 AD降级错误解决方案
  8. 一个父亲需要挣多少钱,才能撑起一个家?
  9. 基于matlab的电流滞环控制,电流滞环控制matlab
  10. 李亚普洛夫稳定、一致稳定、一致渐近稳定、局部渐近稳定、全局渐近稳定区分