微信小程序封装websocket

1、创建 websocket.js

import { socketUrl } from './key'
let sotk = null;
let host = socketUrl.replace('http', 'ws')
let socketOpen = false;


const ws_connect = (id) => {
    sotk = wx.connectSocket({
        url: `${host}/websocket/${id}`,
        header: {
            'content-type': 'application/json'
        }
    })
    console.log(sotk)
    sotk.onOpen(res => {
        socketOpen = true;
        console.log('监听 WebSocket 连接打开事件。', res);
    })
    sotk.onClose(onClose => {
        socketOpen = false;
        console.log('监听 WebSocket 连接关闭事件。', onClose)
    })
    sotk.onError(onError => {
        socketOpen = true;
        console.log('监听 WebSocket 错误。错误信息', onError)
    })
}

//发送信息
const sendMsg = (msg, success) => {
    if (socketOpen) {
        sotk.send({
            data: JSON.stringify(msg)
        }, function (res) {
            success(res)
        })
    }
}

//接收信息
const onMessage = (reMsg) => {
    if (socketOpen) {
        sotk.onMessage(onMessage => {
            reMsg(JSON.parse(onMessage.data));
        })
    }
}

//关闭
const closeWebsocket = () => {
    if (socketOpen) {
        sotk.onClose(onClose => {
            socketOpen = false;
            console.log('监听 WebSocket 连接关闭事件。', onClose)
        })
    }
}

module.exports = {
    ws_connect,
    sendMsg,
    onMessage,
    closeWebsocket
}

2、在页面引用

import { ws_connect } from '../../utils/websocket'
...
//连接websocket
ws_connect(rs.data.id)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值