由于之前的客服系统功能过于简单,所以想重新搭建一个功能更加丰富的客服系统。
使用websocket(心跳监听)
使用websocket建立连接(连接成功后进行心跳监听)
使用websocket建立连接(连接成功后进行心跳监听)
初始化websocket(接收消息后进行心跳重置)
心跳机制逻辑
组件销毁时关闭websocket连接同时关闭心跳机制清除计时器
使用protobuf
安装protobuf
npm install protobufjs
(这里有个问题,如果出现如图的问题,请使用npm install protobufjs-cli)

在项目src目录下新建proto目录,把后端给的.proto文件放进去(这个文件规定了你传参的格式)
打开终端使用,执行命令用来生成.js文件(如果发现找不到文件的问题,需要把*改成你指定的文件名)
npx pbjs -t json-module -w commonjs -o src/proto/proto.js src/proto/*.proto
引用proto.js文件
import protoRoot from "@/proto/proto.js";

基本使用

let actions = {
channel: 10000,
child: 0,
userId: 0,
attachId: 0
}
let testobj = protoRoot.lookup("base").create(actions);
console.log("testobj:", testobj);
let testObjBuffer = protoRoot.lookup("base").encode(testobj).finish(); //encode数据
console.log("testObjBuffer:", testObjBuffer);
let testdata = protoRoot.lookup("base").decode(testObjBuffer); //decode数据
console.log("testdata:", testdata);
this.websock.send(testObjBuffer)