====== Web IM 介绍 ====== **注意:** Web SDK 已更新至 V1.4.12 版本,从 V1.1.2 版本开始和 V1.1.1 差异较大,如果您是 Web SDK 的新用户,请参考本文档集成最新版本。如果您已集成 V1.1.1,并希望再次了解其集成方式,可参考[[im:400webimintegration:websdk1.1.1|Web SDK V1.1.1 集成说明]]。 新版的sdk保证兼容旧版sdk的所有接口,同时提供了一些新的接口,所以新版的sdk可以直接替换旧版的sdk,您可以根据自己的实际情况选择是否需要使用最新的接口,建议使用最新版本的接口。 ---- ===== 什么是环信 Web IM Demo ===== 环信 Web IM Demo 展示了怎样使用环信 Web IM SDK 快速创建一个完整的类似微信的网页聊天示例。展示的功能包括: * 登录、登出、操作好友、收发个人消息/群组消息等 * 分页查看公开群,根据id搜索公开群 * 好友之间可以通过webrtc进行视频聊天(仅支持 https + Webkit浏览器) * 支持同一账号最多8个标签页登录(''isMultiLoginSessions:true'') * http访问加入ip策略功能,防止DNS劫持(''isHttpDNS:true'') 环信 Web IM 源代码已在 GitHub 上开源供开发者下载 https://github.com/easemob/web-im,以帮助开发者更好的学习了解环信 SDK。 Demo使用react框架,支持IE9+、Chrome54+、Firefox等高级浏览器。SDK支持IE8+。聊天室功能支持IE10+。视频通话功能只支持https+Webkit浏览器。 Web IM Demo 及 SDK 目录简要说明: * demo:demo相关静态资源文件。包括脚本、样式、语言包、Appkey配置文件(/demo/javascript/dist/webim.config.js)等 * sdk:WebIM SDK * package.json: 构建环境依赖文件。需要安装npm环境,终端执行sudo npm intall等待安装完成 * webpack.config.js: webpack配置文件 * demo/stylesheet/src/font/demo.html: Demo中可以用到的图标示例 ===== Web IM 功能演示 ===== 点击http://webim.easemob.com 对 Web IM 进行体验,账号为环信Demo的账号(与 Android、iOS 的 Demo 账号相同)。 使用 Web IM Demo 与好友进行视频聊天的操作说明:{{:im:400webimintegration:web_im_demo_video_call_user_s_guide.pdf|Web IM Demo视频聊天使用说明}} ===== Web IM 功能说明 ===== Easemob Web IM SDK 已支持如下功能: * SDK 本身已支持 IE9+、FireFox10+、Chrome54+、Safari6+ 之间文本、表情、图片、音频、地址消息相互发送。 * SDK 支持 Web 端之间,Web 端与 Android/iOS端相互添加、删除好友功能。 * SDK 支持与iOS、Android SDK 之间相互发送文本、表情、图片、音频、地址消息。 * SDK 对于消息的处理方式如下: * 文本、表情消息,直接发送、接收。 * 附件消息(图片、音频、文件等),SDK上传附件到服务器,然后发送附件基本信息(发送方上传的附件URL、文件名等),接收方根据附件的URL、secret和自身的登录信息,以流的形式从服务器上下载到本地处理。 * 提供Demo,方便大家参考,已实现聊天添加/删除好友/群组功能。备注: * Demo默认支持的图片消息格式:PNG、JPG、BMP、GIF * Demo默认支持的音频消息格式:MP3、AMR、WMV * Demo默认支持的文件消息格式:zip、txt、doc、PDF ===== 搭建本地测试环境 ===== 搭建环境之前需要对环信提供的参考文档有个初步的了解,大致分下面三种形式,请根据下面的关键字选择一个或多个源码参考 * **简单版** 简化版的demo,关键字:纯html+js,接口清晰 * **完整版** 基于react开发的完整的实时demo,关键字:至少IE9,完整流程,webpack+react * **IE8版** 基于IE8准备的特殊demo,关键字:IE8 ==== 简单版 ==== 1. 首先将本源码克隆到本地 $ git clone https://github.com/easemob/web-im.git 2. 直接双击打开或者浏览器访问 sdk/demo.html 均可 ==== 完整版 ==== 1. 首先将本源码克隆到本地 $ git clone https://github.com/easemob/web-im.git 2. 去官网安装[[https://nodejs.org/zh-cn/|NodeJS]],建议4+ * 因为整套代码需要依赖于[[https://www.npmjs.com/|npm]] NodeJS的包管理工具,安装NodeJS会默认安装NPM工具 3. 定位到web-im目录 在终端执行下面的命令,安装测试所需要的依赖模块 * 保证此过程没有error终止为成功,如果有错误中断,请保留错误日志并再次尝试,大多数情况是网络原因导致的无法连接而中断 npm i 4. 上述步骤成功后 # 启动测试环境 npm run dev # 打包发布,发布后文件在 web-im/publish 目录下 npm run prod 5. 浏览器访问即可看到测试页面:http://localhost:3000/ ==== IE8版 ==== 1. 首先将本源码克隆到本地 $ git clone https://github.com/wytheme/webim-ie8 2. 直接双击打开或者浏览器访问 demo.html 均可 3. 如果浏览器IE8且需要使用上传功能,比如发送图片之类,继续下面的流程。需要以web服务器访问对应的源码 * Mac下建议安装xmpp、 Windows下建议安装xampp 软件 4. 已安装对应的软件,请将服务器跟目录设置到 web-im,设置之后启动服务 访问 demo.html ===== 常见问题 ===== 参考:[[https://im.tickets.easemob.com/kb/index.php|环信知识库]] 还有疑问,不知如何处理? 1. 去[[https://im.tickets.easemob.com/|工单系统]]提问题 2. 工单描述应该包括并不仅限于以下信息 * 您的页面访问地址? * 提供一下您的webim.config.js中的apiUrl、xmppUrl、appKey和您的测试登录账号密码? * 您的页面的连接是否正常建立,onOpen 的监听操作是否触发? * 提供一下所有控制台的日志信息(如何开启控制台见下图) 开启控制台 以Chrome为例 {{:im:400webimintegration:631797ea288988d131b35ec9ffbd6211.jpg?nolink|开启Chrome控制台}} ---- 上一章节:[[im:350linuxsdkintegration:10sdkintegration|Linux SDK集成]] 下一页:[[im:400webimintegration:20sdkintegration|集成方式]]