项目背景

环信webim 官方没有vue版本的,自己就根据sdk重写了个vue版本的,只实现了基础的 登录 群组功能,其他的可以根据需要参考官方文档,添加相应的功能。

环信webim SDK相关文档:
http://docs-im.easemob.com/im/web/intro/start

先使用vue-cli新建一个typescript项目

集成webim

安装环信sdk和strophe.js 这两个是必须的

cnpm install easemob-websdk --save
cnpm install strophe.js --save
cnpm install crypto-js --save
cnpm install underscore --save

  • 打开node_modules/easemob-websdk/src/connection.js

添加组件
在components中添加 WebIM.ts

// 引入Strophe方法
var Strophejs = require('strophe.js');
var Strophe = (Strophejs as any).Strophe;// 给Strophe.Connection 添加方法
Strophe.Connection.prototype.setJid = (jid: any) => {Strophe.Connection.jid = jid;Strophe.Connection.authzid = Strophe.getBareJidFromJid(Strophe.Connection.jid);Strophe.Connection.authcid = Strophe.getNodeFromJid(Strophe.Connection.jid);
}Strophe.Connection.prototype.getJid = () => {return Strophe.Connection.jid;
}(window as any).Strophe = Strophe;var WebIM = require('easemob-websdk') as any;//配置文件参考环信demo
var config = {xmppURL: 'im-api.easemob.com',apiURL: (location.protocol === 'https:' ? 'https:' : 'http:') + '//a1.easemob.com',appkey: 'easemob-demo#chatdemoui',https: false,isMultiLoginSessions: true,isAutoLogin: true,isWindowSDK: false,isSandBox: false,isDebug: false,autoReconnectNumMax: 2,autoReconnectInterval: 2,// isWebRTC: (/Firefox/.test(navigator.userAgent) || /WebKit/.test(navigator.userAgent)) && /^https\:$/.test(window.location.protocol),heartBeatWait: 4500,isHttpDNS: false,msgStatus: true,delivery: true,read: true,saveLocal: false,encrypt: {type: 'none'}
}//初始化配置
WebIM.config = configvar conn: any = () => {return new WebIM.connection({isMultiLoginSessions: WebIM.config.isMultiLoginSessions,https: typeof WebIM.config.https === 'boolean' ? WebIM.config.https : location.protocol === 'https:',url: WebIM.config.xmppURL,isAutoLogin: true,heartBeatWait: WebIM.config.heartBeatWait,autoReconnectNumMax: WebIM.config.autoReconnectNumMax,autoReconnectInterval: WebIM.config.autoReconnectInterval,apiUrl: WebIM.config.apiURL});
}export interface CurrentUserInfo {access_token: string,expires_in: number,user: {activated: string,nickname: string,type: string,username: string,uuid: string}
}export default {conn,WebIM
};

运行效果

git仓库地址:
https://github.com/sandsli/huanxin-vue

转载于:https://www.cnblogs.com/sands/p/11284605.html

vue-cli3.0 Typescript 项目集成环信WebIM 群组聊天相关推荐

  1. 环信是否支持html,VUE项目集成环信WebIM即时通信以及所遇到的问题

    功能背景: 以前和朋友一块儿作了一个wbe项目集成环信的即时通讯的功能,作的时候感叹web端文档太少,并且npm包有一些坑,记录下来写了这篇博客,以后不断有人加我微信问我,怎么集成.如今我再来重写一下 ...

  2. Zulip 2.0.3 发布,功能强大的群组聊天软件

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Zulip 2.0.3 发布了,Zulip 是一个强大的开源群组聊天软件. 用 Python 编写,使用 Django 框架,支 ...

  3. Zulip 2.0.1 发布,功能强大的群组聊天软件

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   Zulip 2.0.1 发布了,Zulip 是一个强大的开源群组聊天软件. 用 Python 编写,使用 Django 框架,支持通过会话流 ...

  4. H5集成环信webIM即时通讯

    最近在做一个小型项目,需要有聊天室直播聊天的功能.经过和网易云信,融云和环信的三家对比以后,选择了性价比比较高的环信来实现即时聊天,发送文字和表情的功能.下面和大家分享一下,我是如何继承的. 1.注册 ...

  5. vue cli3.0创项目报错‘This may cause things to work incorrectly. Make sure to use the same version for b’

    错误: throw new Error(^Error:Vue packages version mismatch:- vue@2.6.12 (C:\Users\Administrator\AppDat ...

  6. Android集成环信IM,实现聊天置顶功能

    首先是,要实现置顶聊天,那么我们就要有两个List集合,一个是置顶的,一个是不是置顶的.这里,环信给出了EMConversation的一个方法,带大家看看技术文档. 看下这个文档里面说的非常清楚,也就 ...

  7. iOS集成环信SDK点击聊天图片无效问题

    在EaseMessageReadManager.m的-(void)showBrowserWithImages::(NSArray *)imageArray方法里 最后两句话 UIViewControl ...

  8. Vue 简单集成环信SDK

    在这里简单记录下 vue 集成环信 Web SDK 操作,简单SDK操作记录,没有完整demo,勿喷! 准备工作 一. 下载环信 Web SDK + Demo 到本地 git clone https: ...

  9. Android 使用easeui 3.0 集成环信即时通讯 我踩过的坑

    0.关于注冊账号就不用说了. 1.创建应用.获取appkey 0.创建应用 1.填写信息 2.获取appkey 2.集成 0.首先新建一个project 1.这里主要介绍使用easeui来集成环信的即 ...

最新文章

  1. ‘百度杯’十月场web ---login
  2. 智能拨号的联系人快速模糊匹配的算法
  3. POJ 3061 -- Subsequence(二分)
  4. 去掉桌面快捷方式小箭头的方法
  5. 呜啦啦,园园我来了~
  6. 题目1005:Graduate Admission(结构体排序)
  7. Comet OJ - 2019 六一欢乐赛
  8. (python numpy) np.array.shape 中 (3,)、(3,1)、(1,3)的区别
  9. Fatal error: Call to undefined function randstr()
  10. php跳转分站,根据访客所在城市ip地址自动跳转到分站的php代码
  11. IOS开发一些资源收集
  12. (转)WriteOnce and RunAnyWhere
  13. tomcat7的安装与maven安装
  14. 可通过http获取远端服务信息_(二)NebuLogMvcSample如何获取应用日志并定制输出...
  15. VC++字符串类型转换
  16. 24点游戏 C语言代码
  17. HTML实例--制作表单
  18. oracle数据库HugePages配置
  19. 大白话图解:什么是 CDN
  20. LINUX 下C实现线程池《转载》

热门文章

  1. xml解析案例:一个简单的学生管理系统
  2. [转]VirtualBox下RedHat 5.4 使用DVD光盘作为yum源
  3. python画数学函数_Python 绘制你想要的数学函数图形
  4. iOS - 修改 UITextField 的 clearButtton 样式
  5. a java runtime envi_认识java
  6. notepad++ c语言编译,Notepad++編譯和運行C語言 (GCC)
  7. 网工路由基础(3)RIP原理与配置
  8. 云拨测助力节卡机器人 全面优化海外网站性能
  9. ttl传输中过期的原因_Redis流行的原因
  10. 深度系统linux deepin如何按装,U盘快速安装深度操作系统Deepin详细过程 体验不一样的桌面系统...