首页 > 其他分享 >bzGhost打造跨平台即时聊天软件之通讯 webIm

bzGhost打造跨平台即时聊天软件之通讯 webIm

时间:2022-09-30 15:39:34浏览次数:53  
标签:webIm bzGhost userId packet 5f6d9d98 跨平台 version let command


 webim.js

通讯文件

  • 分离了API 与webSocket 。
  • 群通道,用户通道。
  • 重试次数,心跳检测,断网重连。
  • 字节传输,支持自定义加密解密等功能。

1.1 用户绑定

  • 方法名 login
  • 参数说明

属性名

备注

类型

可选值

userId

用户唯一标识

String

5f6d9d98

command

指令集

Number

1

version

版本号

Number

1

  • 请求入参
let packet = {
version:1,
command: 1,
userId:"5f6d9d98"
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_指令集

  • 响应参数
let packet = {
version : 1,
command: 2,
errorMsg:"",
success: true
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_方法名_02

1.2 加入群组

  • 方法名joinGroup
  • 参数说明

属性名

备注

类型

可选值

chatId

聊天对象(群/用户)

String

04b09fbee3d24a21a2acedc755d5d7c3

userId

唯一标识

String

5f6d9d98

chatType

聊天类型(群聊/私聊)

Number

0/1

command

指令集

Number

7

version

版本号

Number

1

  • 请求入参
let packet = {
chatId:"04b09fbee3d24a21a2acedc755d5d7c3",
userId:"5f6d9d98",
chatType: 0,
version: 1,
command: 7
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_方法名_03

  • 响应参数
let packet = {
version : 1,
command: 8,
errorMsg:"",
success: true
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_方法名_04

1.3 退出群组

  • 方法名quitGroup
  • 参数说明(参照加入群组)
  • 请求入参
let packet = {
chatId:"04b09fbee3d24a21a2acedc755d5d7c3",
userId:"5f6d9d98",
chatType: 0,
version: 1,
command: 9
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_参数说明_05

  • 响应参数
let packet = {
version : 1,
command: 10,
errorMsg:"",
success: true
}

bzGhost打造跨平台即时聊天软件之通讯 webIm_方法名_06

1.4 发送消息

  • 方法名sendMessage
  • 参数说明

属性名

备注

类型

可选值

isItMe

发送人

Boolen

false/true

contentType

消息类型(文字/图片/语音/视频/红包)

Number

0/1/2/3/4/5

content

消息内容

String

测试

createTime

创建时间

Date

2021-11-2

hasBeenSentId

消息id

String

1447565

fromUserId

发送人id

String

220e805b8521444e9f27d78e45633b44

fromUserName

发送人账户

String

test

fromUserHeadImg

发送人图像

String

defalut.jpg

userId

当前用户id

String

5f6d9d98

toUserId

接收人id

String

5f6d9d98

toUserName

接收人账户

String

admin

toUserHeadImg

接收人图像

String

defalut.jpg

chatType

聊天类型(群/私)

Number

1/0

version

版本

Number

1

command

指令集

Number

3

  • 请求入参
let packet = {
isItMe: true,
contentType: 0,
content: "测试",
createTime: Date.now(),
hasBeenSentId: Date.now(),
fromUserId: "5f6d9d98",
fromUserName: "admin",
fromUserHeadImg: '/static/image/huge.jpg',
userId: "5f6d9d98",
toUserId: "220e805b8521444e9f27d78e45633b44",
toUserName: "test",
toUserHeadImg:'/static/image/huge.jpg',
chatType: 0,
version : 1,
command: 3,
};

bzGhost打造跨平台即时聊天软件之通讯 webIm_指令集_07

  • 响应参数
let packet = {
isItMe: true,
contentType: 0,
content: "测试",
createTime: Date.now(),
hasBeenSentId: Date.now(),
fromUserId: "5f6d9d98",
fromUserName: "admin",
fromUserHeadImg: '/static/image/huge.jpg',
userId: "5f6d9d98",
toUserId: "220e805b8521444e9f27d78e45633b44",
toUserName: "test",
toUserHeadImg:'/static/image/huge.jpg',
chatType: 0,
version : 1,
command: 4,
};

bzGhost打造跨平台即时聊天软件之通讯 webIm_参数说明_08

1.5 指令集参照表

指令集

备注

1

用户绑定请求

2

用户绑定响应

7

加群请求

8

加群响应

9

退群请求

10

退群响应

3

发送消息请求

4

发送消息响应


标签:webIm,bzGhost,userId,packet,5f6d9d98,跨平台,version,let,command
From: https://blog.51cto.com/u_15703667/5727006

相关文章

  • Asp.net Core 跨平台生成带Logo二维码
    1.nuget引用  QRCoder-ImageSharp2.代码usingQRCoder;usingSixLabors.ImageSharp.Formats.Jpeg;usingColor=SixLabors.ImageSharp.Color;usingImage=Six......
  • CodeTyphon跨平台交叉编译配置
    CodeTyphon和Lazarus的关系相当于就是ubuntu和linux的关系https://www.lmlphp.com/user/57824/article/item/1643421/不过CodeTyphon提供了很多一键配置即可使用的交叉......
  • CYQ.Data 数据框架 跨平台应用开发
    为大伙揭开了​​CYQ.Data​​的性能体验,在写数据方面,表现的相当接近原始的ADO.NET操作。​ 那在数据读取方面呢?有兴趣的朋友可自行测试一下。​ 本篇为你揭开的是:​​CY......
  • IM跨平台技术学习(三):vivo的Electron技术栈选型、全方位实践总结
    本文由vivo技术团队YangKun分享,原题“electron应用开发优秀实践”,本文有修订。1、引言在上篇《Electron初体验(快速开始、跨进程通信、打包、踩坑等)》的分享中,我们已......
  • ServiceStack跨平台服务(分享)
       分享目前使用的最舒服的.net服务开发类库,开发简单,速度也相当快,而且还可以进行跨平台,集成多种数据库的访问。   以下官网的英文原文:   如需查找,请互联......
  • 备战面试day01-二进制/字节码文件以及虚拟机跨平台原理
    什么是二进制文件?二进制是机器码,由01组成,能被机器识别的机器指令。可以被CPU直接执行什么是字节码文件?字节码文件是.class作为后缀名的文件,是介于j......
  • 跨平台vscode教程
    一、VS与VSCODE区别什么是vs?VS全称MicrosoftVisualStudio,是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大......
  • cmake是什么,为什么现在都用cmake,cmake编译原理和跨平台示例
    一cmake是什么? CMake是一个开源、跨平台的工具系列,是用来构建、测试和打包软件。CMake使用平台无关的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用......
  • Flet-基于Flutter的Python跨平台开发框架
    什么是FletFlet是一个框架,允许用你喜欢的语言构建交互式多用户Web,桌面和移动应用程序,而无需拥有前端开发的经验。主要特点在几分钟内从想法到应用程序为您的团队,周末项......
  • 无需花费一分钱即可成为跨平台移动开发人员的完整路线图。
    无需花费一分钱即可成为跨平台移动开发人员的完整路线图。嘿。在本文中,我将与您分享我为成为跨平台软件开发人员所做的方式和事情,而无需在课程或大学上花费一美元。这不......