业务场景
适用于:在其它页面悬浮二维码,用户点击后在当前页面展示二维码,监听是否被扫,接收消息消费了多少钱,五秒后重新展示乘车码,用户可关闭二维码展示栏,继续浏览页面。
1.在app.js中开启websocket,并暴露接收消息的方法
onLaunch: function(options) {
const that = this
that.websocket()
},
//开启建链
websocket() {
const that = this;
that.globalData.SocketTask = wx.connectSocket({
url: 'wss://industry2.rengu.cc/szt-traffic/ws',
success: res => {
console.log('连接', res);
},
fail: err => {
console.log('出现错误啦!!' + err);
wx.showToast({
title: '网络异常!',
})
}
})
that.globalData.SocketTask.onOpen((e) => {
console.log('连接成功!');
that.globalData.SocketTask.send({ data: JSON.stringify({ 'Websocket-Userid': 'traffic-consumeNotice-' + userId }) });
count = 0; // 清零重连统计数据
that.heartbeat(that.globalData.SocketTask); // 发送心跳包
});
that.globalData.SocketTask.onClose((e) => {
console.log(e);
console.log('连接已关闭!');
that.reconnect()
});
that.globalData.SocketTask.onError((e) => {
console.log(e);
console.log('连接出错!');
that.reconnect()
});
},
heartbeat(ws) {
timer && clearInterval(t