vue.js客服系统实时聊天项目开发(八)使用axios post请求访客初始化接口
访客的初始化,很多人可能会认为放到链接websocket的时候,通过ws去发送给服务端
但是这样会有一定的问题,因为如果网络不稳定或者ws链接断了,会进行不停的重连,这样会造次多次请求初始化流程
所以我会在链接websocket之前,调用一个HTTP的访客初始化接口,这样也方便进行限流,各种账户异常问题判断等逻辑
在main.js中通过原型把axios 传递进来
import axios from 'axios' Vue.prototype.$axios= axios
在业务逻辑里面进行调用
<script> export default { name: 'ChatApp', data() { return { visitor:{ to_id:"", visitor_id:"", }, } }, methods: { visitorLogin(){ let entId=tools.getQuery("ent_id"); let toId=tools.getQuery("to_id"); var _this=this; this.$axios.post(this.ApiHost+'/visitor_login', { ent_id:entId, to_id:toId, }).then(function (response) { var code=response.data.code; var msg=response.data.msg; if(code!=200){ _this.$message({ message: msg, type: 'error' }); return ; } let result=response.data.result; _this.visitor.to_id=result.to_id; _this.visitor.visitor_id=result.visitor_id; }).catch(function (error) { _this.$message({ message: error.message, type: 'error' }); }); }, }, mounted: function () { this.visitorLogin(); } } </script>
这样就完成了发送post请求到访客初始化接口,会生成一个访客ID,前端需要把这个访客ID进行保存一下
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网