uni-app使用websocket

1.下载@hyoga/uni-socket.io

npm i @hyoga/uni-socket.io@1.0.1

2.在启动时引入并初始化并监听

import io from '@hyoga/uni-socket.io';
methods:{
     init(){
				var that = this;
				const value = uni.getStorageSync('userInformation');
				that.socket = io(baseUrl, {query: {'Authorization': `Bearer ${value.access_token}`}, transports: ['websocket']});
				//监听服务器端发送消息事件
				that.socket.on('messageEvent', async function(data,callback) {
					let message = JSON.parse(data.messageBody)
					message.content = JSON.stringify(message.content)
					that.$u.vuex('vuex_message',message)//把后端返回的消息存储,并在相应的界面监听vuex_message,达到实时更新效果
					var result = {"ret":0,"errorcode":0,"msg":"操作成功",data:""}//此处是为了给后端发回调,证明监听成功
					callback(result)
				});
			},
			//断开连接
			disconnect(){
				this.socket.disconnect();
			}
}

3.在App.vue的onShow里面调用
4.在App的onHide里面断开连接,手机进入后台时断开连接
5.如果想通过socket向服务端请求接口,代码如下

updateClientId(value) {
			    console.log("发送更新clientid请求")
				var info = plus.push.getClientInfo();
				this.socket = io(baseUrl, {query: {'Authorization': `Bearer ${value.access_token}`}, transports: ['websocket']});
				this.socket.on('connect', function(data){  console.log(data + "Connected to Server"); });
			  this.socket.emit('userUpdateUniClientId',info.clientid, function(data){
             //请求userUpdateUniClientId接口成功
			       console.log("响应ack:"+ JSON.stringify(data));
			   });
	},


uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket
uni-app使用websocket

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值