基于WebSocket即时通讯im源码| uniapp即时通讯源码| 私有化部署SDK视频安装教程

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本项目是基于 ThinkPHP7 和 Swoole 构建的即时通讯 IM 源码,打造了一个简洁美观、移动优先的渐进式 Web 应用。支持从源码构建,并提供详细的安装、配置与使用说明。仓库地址:im.jstxym.top。

  即时通讯im源码使用ThinkPHP7和Swoole构建的简单、美观、移动优先的即时消息渐进式Web应用程序。
  仓库源码:im.jstxym.top
  本文目录:
  ●点击展开
  ●安装
  ●依赖项
  ●源代码构建
  ●用法
  ●发布
  安装
3.jpeg

  默认情况下,安装将尝试使用npm包中捆绑的预构建。如果失败,它会退回到deltachat-core-rust使用scripts/rebuild-core.js.要从npm安装,请使用:
  npm install deltchat-node
  依赖项
  ●节点>=v16.0.0
  ●rustup(如果您不能使用预构建,则可选)
  在Windows上,您可能还需要安装Perl才能编译deltachat-c​​ore。
  源代码构建
  如果要从源代码构建,请确保已rustup安装。您可以使用npm install deltachat-node
  在Apple的M1上为x86_64构建的解决方法
  deltachat还不支持通用(胖)二进制文件(包含两种cpu架构的构建),在它支持之前,您可以使用以下解决方法来获取x86_64构建:
  $fnm install 17--arch x64
  $fnm use 17
  $node-p process.arch
  #result should be x64
  $cd deltachat-core-rust&&rustup target add x86_64-apple-darwin&&cd-
  $git apply patches/m1_build_use_x86_64.patch
  $CARGO_BUILD_TARGET=x86_64-apple-darwin npm run build
  $npm run test
  (当使用fnm而不是nvm时,您可以选择架构)如果您的节点和电子已经为arm64构建,您也可以尝试为arm构建:
  $fnm install 16--arch arm64
  $fnm use 16
  $node-p process.arch
  #result should be arm64
  $npm_config_arch=arm64 npm run build
  $npm run test
  用法
  const{Context}=require('deltachat-node')
  const opts={
  addr:'[email]',
  mail_pw:'[password]',
  }
  const contact='[email]'
  async function main(){
  const dc=Context.open('./')
  dc.on('ALL',console.log.bind(null,'core|'))
  try{
  await dc.configure(opts)
  }catch(err){
  console.error('Failed to configure because of:',err)
  dc.unref()
  return
  }
  dc.startIO()
  console.log('fully configured')
  const contactId=dc.createContact('Test',contact)
  const chatId=dc.createChatByContactId(contactId)
  dc.sendMessage(chatId,'Hi!')
  console.log('sent message')
  dc.once('DC_EVENT_SMTP_MESSAGE_SENT',async()=>{
  console.log('Message sent,shutting down...')
  dc.stopIO()
  console.log('stopped io')
  dc.unref()
  })
  }
  main()
  此示例也可以在示例文件夹示例/send_message.js中找到
  生成文档
  我们目前正在迁移到自动生成的文档。您可以在old_docs找到旧文档。
  要生成文档,请运行:
  npx typedoc
  拓展
  测试和覆盖
  运行npm test以显示代码覆盖率报告结束,该报告由nyc.
  测试输出
  控制台中的覆盖率报告nyc相当有限。要获得更详细的覆盖率报告,您可以运行npm run coverage-html-report.这将从nyc数据中生成一个html报告,并将其显示在本地计算机上的浏览器中。
  要运行集成测试,您需要设置DCC_NEW_TMP_EMAIL环境变量。例如:
  $export DCC_NEW_TMP_EMAIL=https://testrun.org/new_email?t=[token]
  $npm run test
  脚本
1.jpeg

  我们有以下用于构建、测试和覆盖的脚本:
  ●npm run coverage创建覆盖率报告并将其传递给coveralls.仅由完成Travis。
  ●npm run coverage-html-report从覆盖数据生成html报告并在本地计算机上的浏览器中打开它。
  ●npm run generate-constants生成constants.js并events.js基于deltachat-core-rust/deltachat-ffi/deltachat.h头文件。
  ●npm install安装依赖项后,运行node-gyp-build以查看是否需要重新构建本机代码。
  ●npm run build重建所有代码。
  ●npm run build:core在deltachat-core-rust.
  ●npm run build:bindings用重建绑定和链接deltachat-core-rust。
  ●ǹpm run clean删除所有构建的代码
  ●npm run prebuildify将预构建的二进制文件构建为prebuilds/$PLATFORM-$ARCH.复制deltachat.dll自deltachat-core-rustfor windows。
  ●npm run download-prebuilds之前从github下载所有预构建的二进制文件npm publish。
2.jpeg

  ●npm run submodule更新deltachat-core-rust子模块。
  ●npm test运行standard,然后在test/index.js.
  ●npm run test-integration运行集成测试。
  ●npm run hallmarkhallmark在所有降价文件上运行。
  发布
  1、发布版本需要以下步骤:
  ●更新CHANGELOG.md(并运行npm run hallmark以调整降价)
  ●在顶部添加发布更改日志
4.jpeg

  ●还要调整指向github的链接准备文件末尾的链接
  2、package.json中的凹凸版本号
  3、提交更改的文件,提交消息应该类似于Prepare for v1.0.0-foo.number
  4、标记发布git tag-a v1.0.0-foo.number
  5、推送到githubgit push origin master--tags
  6、等到Make Packagegithub操作完成
  7、deltachat-node.tgz从github版本下载并运行npm publish deltachat-node.tgz以将其发布到npm。您可能需要对npm的写入权限。
  ​

相关文章
|
3月前
|
测试技术 Go
客服系统程序入口文件解析-唯一客服系统源码开发
该代码为 Go 语言编写的客服系统命令行程序入口,结构清晰,使用 cmd 包启动业务逻辑,可能基于 cobra 框架实现,具备良好可扩展性与可维护性,适用于服务启动与管理。
187 69
|
移动开发 网络协议 小程序
基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v10.0版已发布
RainbowChat是一套基于开源IM即时通讯聊天框架 MobileIMSDK 的产品级移动端IM系统。RainbowChat源于真实运营的产品,解决了大量的屏幕适配、细节优化、机器兼容问题。RainbowChat可能是市面上提供im即时通讯聊天源码的,唯一一款同时支持TCP、UDP两种通信协议的IM产品。与姊妹产品RainbowTalk和RainbowChat-Web 技术同源,历经考验。
65 0
基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v10.0版已发布
|
2月前
|
数据安全/隐私保护 容器 Go
开源IM即时通讯系统调研
Lumen IM 是一款企业级开源即时通讯工具,前端采用 Vue3 + Naive UI,后端基于 Go 语言,使用 WebSocket 协议。支持 Docker + Nginx 快速部署,适合私有化环境。功能包括文本、图片、文件消息,内置笔记、群聊及消息历史记录。界面美观、功能完善,适用于企业沟通、团队协作及开发者学习。提供前后端源码,便于快速搭建 IM 系统。
开源IM即时通讯系统调研
|
2月前
|
移动开发 网络协议 小程序
鸿蒙NEXT即时通讯/IM系统RinbowTalk v2.4版发布,基于MobileIMSDK框架、ArkTS编写
RainbowTalk是一套基于开源即时通讯讯IM框架 MobileIMSDK 的产品级鸿蒙NEXT端IM系统。纯ArkTS编写、全新开发,没有套壳、也没走捷径,每一行代码都够“纯血”。与姊妹产品RainbowChat和RainbowChat-Web 技术同源,历经考验。
130 1
|
3月前
|
存储 前端开发 数据可视化
ThinkPHP在线客服系统源码_可视化开源在线网页客服聊天系统源码uniapp
本文详解在线客服系统源码构建,涵盖系统架构、技术选型、代码实现与功能特性,为开发者和企业提供参考。
|
3月前
|
缓存 移动开发 网络协议
纯血鸿蒙NEXT即时通讯/IM系统:RinbowTalk正式发布,全源码、纯ArkTS编写
RainbowTalk是一套基于MobileIMSDK的产品级鸿蒙NEXT端IM系统,目前已正式发布。纯ArkTS、从零编写,无套壳、没走捷径,每一行代码都够“纯”(详见:《RainbowTalk详细介绍》)。 MobileIMSDK是一整套开源IM即时通讯框架,历经10年,超轻量级、高度提炼,一套API优雅支持 UDP 、TCP 、WebSocket 三种协议,支持 iOS、Android、H5、标准Java、小程序、Uniapp、鸿蒙NEXT,服务端基于Netty编写。
229 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
269 7
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
175 7
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
231 7

热门文章

最新文章