vue連接mqtt
項目中要用到mqtt,前端調用,使用github開源的paho-mqtt.js,api還是挺全面的,網上各種教程很全面,但是感覺代碼過於雜亂,故而封裝的一下。仿jquery ajax調用方法。
1.安裝應用
npm install xhl-mqttx -s
2.項目引用
import mqttX from 'xhl-mqttx'
3.開始調用初始化方法
mqttX.init({
id:'10',
ip:'****************',
port:61623,
success:function(){
console.log("mqttx連接成功");
mqttX.subscribe('vp1');
},
error:function(){
console.log("mqttx連接失敗");
},
connectLost:function(){
console.log("mqttx連接丟失");
},
onMessage:function(message){
console.log("mqttx",message);
}
});
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
id | 必須 | 0 | mqtt客戶端id |
ip | 必須 | 127.0.0.1 | mqtt服務端ip地址 |
port | 必須 | 61623 | mqtt服務端ws端口號 |
success | 非必須 | 無 | 連接成功回調 |
error | 非必須 | 無 | 連接失敗回調 |
connectLost | 非必須 | 無 | 連接斷開回調 |
onMessage | 非必須 | 無 | 消息通知 |
4.其他方法
1.訂閱主題
//訂閱主題
mqttX.subscribe(topic,[qos]);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
qos | 非必須 | 0 | 訂閱主題的qos |
返回類型:boolean
2.取消訂閱
//取消訂閱主題
mqttX.unsubscribe(topic);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
返回類型:boolean
3.重新連接
//重新連接
mqttX.reconnect();
參數列表
- 無參數
返回類型:boolean
4.發送消息
//發送消息
mqttX.sendMessage(topic,obj);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
obj | 必須 | 無 | 發送的信息 |
返回類型:boolean