data(){
return{
socketTask: null, // 确保websocket是打开状态
}
}
var that = this
that.socketTask = uni.connectSocket({ // 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
url: "",//请求api接口的路径
success(data) {
console.log(data,'连接成功')
},
});
that.socketTask.onOpen((res) => {
that.is_open_socket = true; // 注:只有连接正常打开中 ,才能正常成功发送消息
//注:如果是后端实时推送数据则不需要定时器,定时器是为了实时拉取保存数据实时性.
// 我这里这个是后端没有实时推送数据过来,所以需要设置定时器实时拉取数据
setInterval(function() {
that.socketTask.send({
data: "发送一条消息",
async success(data) {
console.log(data,'发送成功')
},
})
}, 1500)
that.socketTask.onMessage((res) => {
console.log(res)//接口返回的数据
});
that.socketTask.onClose((res) => {
console.log('关闭')
})
})```