微信小程序 websocket 封裝


微信小程序 websocket 封裝

今天又要寫微信小程序,需要使用websocket,閑着沒事封裝一下吧,反正封裝了也不會好用。

封裝 websocket

首先在 page 文件夾下創建一個 js 文件夾存放封裝的 websocket 請求,其實放哪里看自己需要,都行。
在 js 文件夾下創建一個 websocket.js 文件,里面是封裝好的 websocket 代碼,其實叫啥名都行,看你心情。

/**
 * TODO websocket封裝
 * wjw
 * 2020年3月19日14:30:03
 */
const config = require('./config.js')
var app = getApp();
const host = config.websocketServer; // websocket服務器baseUrl
let sotk = null;
let socketOpen =false;

function ws_connect(reMsg){
  sotk = wx.connectSocket({
    url: config.websocketServer,
    header: {
      'content-type': 'application/json'
    }
  })

  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)
  })

  // 收到消息
  sotk.onMessage(onMessage => {
    // var data = JSON.parse(onMessage.data);
    reMsg(onMessage.data);
  })
}

function sendMsg(msg,success){
  if (socketOpen) {
    // console.log('通過 WebSocket 連接發送數據', JSON.stringify(msg))
    sotk.send({
      data: JSON.stringify(msg)
    }, function (res) {
      success(res)
    })
  }
}

module.exports.ws_connect = ws_connect;
module.exports.sendMsg = sendMsg;

在 上邊文件中使用了一個config.js配置文件,我把服務器的連接扔里邊了,方便維護,里面長這個逼樣:

module.exports = {
  websocketServer:'ws://121.40.165.18:8800',  // 這個地址是測試的,得改成自己的
}

使用

首先在使用 websocket 的地方導入一下子

var websocket = require('../js/websocket.js')  // 這是問價路徑,改成自己的

連接 websocket

// 連接websocket
    websocket.ws_connect((data)=>{
      console.log(data)
    })

發布消息

websocket.sendMsg('你好,我叫wjw',(data)=>{
      console.log(1111,data);
    })

差不多就是這樣了,我覺得我這樣封裝的沒意義,微信做的夠好了~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM