vue使用websocket,protobuf搭建客服系统

文章讲述了如何重建一个更强大的客服系统,采用WebSocket进行连接并实现心跳监听以保持连接活跃。同时,文章提到了使用protobuf进行数据序列化和反序列化,详细介绍了安装protobuf及生成.js文件的过程,并提供了编码和解码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于之前的客服系统功能过于简单,所以想重新搭建一个功能更加丰富的客服系统。
  1. 使用websocket(心跳监听)
  • 使用websocket建立连接(连接成功后进行心跳监听)

  • 使用websocket建立连接(连接成功后进行心跳监听)

  • 初始化websocket(接收消息后进行心跳重置)

  • 心跳机制逻辑

  • 组件销毁时关闭websocket连接同时关闭心跳机制清除计时器

  1. 使用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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值