English | 简体中文
IM(Instant Messaging) Electron Demo 包含了即时通信(IM)和实时音视频(TRTC)的能力,简单接入、稳定必达,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、可靠的、高品质的通信解决方案。产品参考: 即时通信(IM)
平台 | 版本 |
---|---|
Electron | 13.1.5 及以上版本 |
Node.js | v14.2.0 及以上版本 |
// install package
npm install
cd src/client
npm install
// run
npm run start
- 登录 即时通信 IM 控制台。
?如果您已有应用,请记录其 SDKAppID 并 获取密钥信息。 同一个腾讯云帐号,最多可创建300个即时通信 IM 应用。若已有300个应用,您可以先 停用并删除 无需使用的应用后再创建新的应用。应用删除后,该 SDKAppID 对应的所有数据和服务不可恢复,请谨慎操作。
- 单击创建新应用,在创建应用对话框中输入您的应用名称,单击确定。
- 请保存 SDKAppID 信息。可在控制台总览页查看新建应用的状态、业务版本、SDKAppID、标签、创建时间以及到期时间。
- 单击创建后的应用,左侧导航栏单击辅助工具>UserSig 生成&校验,创建一个 UserID 及其对应的 UserSig,复制签名信息,后续登录使用。
- 启动项目后,点击右上角设置,将
sdkAppid
,userId
,userSig
依次填入基础配置。提交后用密码登录Demo。
// 打包mac app
npm run build:mac
// 打包windows app
npm run build:windows
会话列表 | 会话列表管理 |
---|---|
消息列表 | 消息管理 | 群聊管理 |
---|---|---|
群组列表 | 创建群组 |
---|---|
好友管理 | 添加好友 |
---|---|
Electron Demo 基本实现了Electron SDK提供的几乎所有功能,包含会话模块、消息模块、群组模块、好友关系链模块和实时音视频模块。下面列出了各模块在 Demo 中实现的的具体功能。
会话模块
- 显示会话列表
- 关键词搜索会话
- 会话置顶/取消置顶
- 移除会话
消息模块
- 发送消息(包含文本,表情包,图片,文件等)
- 撤回/删除/转发/回复/合并消息
- 消息已读标志/标为已读
群组模块
- 创建/删除群聊
- 设置群公告/群介绍
- 添加/删除群成员,查看群成员,设置群管理员,转让群组
- 消息免打扰
- 禁言
关系链模块
- 查看个人/好友信息
- 好友列表
- 添加/删除好友
- 加入黑名单
- 好友申请
实时音视频聊天 TRTC
- 语音聊天与其相关功能
- 视频聊天与其相关功能
- 视频会议相关功能
|文件夹|介绍| |---|---|---| |src/client|项目渲染进程目录| |src/client/components|项目组件目录| |src/clients/pages|项目页面目录| |src/cliets/typings|变量类型定义目录| |src/clients/utils|项目工具函数和一些IM函数调用目录|
- 1: 安装开发环境问题,
gypgyp ERR!ERR
, 参考链接. - 2: Mac 端执行
npm run start
会出现白屏,原因是渲染进程的代码还没有build完成,主进程打开的3000端口为空页面,当渲染进程代码build 完成重新刷新窗口后即可解决问题。或者执行cd src/client && npm run dev:react
,npm run dev:electron
, 分开启动渲染进程和主进程。 - 3: Macos 签名公证参考链接
- 4: Windows 下开发一些问题参考链接;
- 5: 此项目需要python2。
- 6: MacOS M1 项目打包安装后提示
项目已损坏
,可能是由于电脑对app赋予了com.apple.quarantine
属性。可以在终端执行命令xattr /path/to/MyApp.app
检查该属性后执行sudo xattr -r -d com.apple.quarantine /path/to/MyApp.app
删除属性。