====== 桌面端集成说明 ======
桌面端 SDK 为用户在 Windows/Mac OS 平台上进行开发的 js 接口及二进制文件,开发框架使用 electron 。
目前支持登录、注册、单聊、群聊、聊天室、文本消息、图片、语音、位置等消息以及透传消息,还可以实现好友管理、群组管理等功能。
**注意:**之前的 Windows SDK 将不再维护,同时对应的 demo ,文档也一并下线。如需查看旧版文档,点击[[im:windows:intro:integration|Windows SDK 集成说明]]
----
===== 准备 =====
==== 开发环境需求 ====
=== 操作系统 ===
* win7/win8/win10 64位操作系统
* mac OS 10.10 及以上
=== 开发工具 ===
* nodejs
版本 10.0 以上,[[http://nodejs.cn|官网地址]]
* electron
版本 4.0 以上,[[https://electronjs.org/|官网地址]],nodejs 安装完成后,可以在命令行使用 npm 命令安装,安装命令:
npm install electron -g
----
===== SDK 目录结构 =====
Windows SDK 目录结构如下。使用时将 SDK 拷贝到工程目录下。
|-node
|-modules
|-message
index.js
load.js
|-easemob
easemobMac.node
easemobWin.node
libcurl.dll
libcurl.lib
libcrypto.1.0.0.dylib
----
===== SDK 模块介绍 =====
SDK 采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块:
{{:im:windows:intro:sdk模块.png?nolink|}}
==== 模块化设计 ====
* EMClient
SDK 的入口,主要完成登录、退出、注册、配置管理等功能,管理连接监听模块 EMConnectionListener 。也是获取其他模块的入口。
* EMChatManager
管理消息的收发,完成会话管理等功能,管理会话监听模块 EMChatManagerListener 。
* EMContactManager
负责好友的添加删除,黑名单的管理等功能,管理好友变更监听模块 EMContactListener。
* EMGroupManager
负责群组的管理,创建、删除群组,管理群组成员等功能,管理群组监听模块 EMGroupManagerListener。
* EMChatroomManager
负责聊天室的查询、加入、退出功能管理,管理聊天室监听模块 EMChatroomManagerListener。
----
===== SDK 对象说明 =====
SDK 中使用到的对象包括:
* 系统配置信息 EMChatConfigs
* 群组信息 EMGroup
* 群组配置信息 EMMucSetting
* 群文件信息 EMMucSharedFile
* 聊天室信息 EMChatroom
* 会话信息 EMConversation
* 消息 EMMessage
* 文本消息体 EMFileMessageBody
* 图片消息体 EMImageMessageBody
* 文件消息体 EMTextMessageBody
* 命令消息体 EMCmdMessageBody
具体接口[[https://downloads.easemob.com/doc/desktop/apidoc/index.html|详见]]
==== 依赖模块安装 ====
electron 开发中依赖的模块及版本写在 package.json 中,安装依赖模块时,在 sdkdemoapp_windows 目录下使用命令:
npm install
如果安装过程中出现 error,可能是网络原因,可以选择使用 yarn 镜像下载安装:
npm install -g yarn
yarn install
----
==== 软件调试 ====
首先需要编译软件,运行命令:
npm run build:app
调试过程需要使用热启动,运行命令:
npm run hot-server
然后另启动一个命令行工具,运行命令:
npm run start:hot
可启动软件。调试过程中修改代码后,hot-server 会自动编译新代码,在界面上使用 F5 按键可以立即刷新界面,应用新代码。在界面上点击鼠标右键,弹出右键菜单,点击检查元素,可以打开开发者工具,查看 console 控制台输出,在 Source 中加断点调试。
----
上一章:[[im:applet:intro|微信小程序集成]]
下一页:[[im:pc:intro:basic| SDK 基础功能]]