uniapp websocket 全局封装了,在页面中 怎么接收消息
时间: 2024-05-07 11:15:54 浏览: 101
uniapp封装websocket,使用简单,下载即可使用,统一使用json收发消息,区分业务类型
5星 · 资源好评率100%
在 uniapp 中使用 WebSocket 的步骤如下:
1. 在 `main.js` 中引入并初始化 WebSocket:
```javascript
import { createSocket } from '@/utils/socket.js'
Vue.prototype.$socket = createSocket()
```
其中 `createSocket` 是一个自定义的函数,用于创建 WebSocket 实例。具体实现可以参考下面的代码。
2. 在页面中监听 WebSocket 消息:
```javascript
onLoad() {
this.$socket.onMessage((event) => {
console.log('接收到消息:', event.data)
})
}
```
其中 `onMessage` 方法用于监听 WebSocket 的消息事件,当有消息到达时会触发回调函数。
3. 发送消息:
```javascript
this.$socket.send('Hello, WebSocket!')
```
上述代码会向服务器发送一条消息。
下面是一个完整的 `socket.js` 文件示例:
```javascript
const SOCKET_URL = 'ws://localhost:8080/ws'
export function createSocket() {
const socket = new WebSocket(SOCKET_URL)
socket.onopen = () => {
console.log('WebSocket 已连接')
}
socket.onclose = () => {
console.log('WebSocket 已关闭')
}
socket.onerror = (error) => {
console.error('WebSocket 错误:', error)
}
return {
send(data) {
socket.send(data)
},
onMessage(callback) {
socket.onmessage = callback
},
close() {
socket.close()
}
}
}
```
该文件导出了一个 `createSocket` 函数,用于创建 WebSocket 实例。在该函数中,我们监听了 WebSocket 的各种事件,并返回了一个对象,包含了 `send`、`onMessage` 和 `close` 方法,分别用于发送消息、监听消息和关闭连接。
阅读全文