mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-17 16:36:03 +08:00
1 line
2.4 KiB
JavaScript
1 line
2.4 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e1ec7"],{"7d04":function(t,n,o){"use strict";o.r(n);var e=function(){var t=this,n=t.$createElement,o=t._self._c||n;return o("span")},c=[],i=(o("b0c0"),o("d3b7"),o("25f0"),o("a15b"),o("e7fc")),s=o.n(i),l=o("5f87"),r={name:"mqttClient",props:{publish:{type:Object,default:null},subscribes:{type:Array,default:null}},watch:{publish:function(t,n){this.mqttPublish(t.topic,t.message,t.name)},subscribes:function(t,n){this.connectMqtt(t)}},data:function(){return{}},created:function(){},methods:{connectMqtt:function(t){var n=this,o="web-"+Math.random().toString(16).substr(2),e={username:"wumei-smart",password:Object(l["a"])(),cleanSession:!1,keepAlive:30,clientId:o,connectTimeout:1e4};console.log("mqtt地址:",""),this.client=s.a.connect("",e),this.client.on("connect",(function(e){console.log("客户端:"+o+",成功连接服务器:",e),""!=t&&t.length>0&&n.client.subscribe(t,{qos:1},(function(n){n?console.log("消息订阅失败!"):(console.log("订阅成功"),console.log(t.join(", ")))}))})),this.reconnectMqtt(),this.mqttError(),this.mqttSubscribe()},mqttPublish:function(t,n,o){var e=this;if(!this.client.connected)return console.log("客户端未连接"),void this.$modal.notifyError("Mqtt客户端未连接");this.client.publish(t,n,{qos:1},(function(c){c||(console.log("成功发布主题:"+t),console.log("主题内容:"+n),t.indexOf("offline")>0?e.$modal.notify("[ "+o+" ] 影子指令发送成功"):e.$modal.notifySuccess("[ "+o+" ] 指令发送成功"))}))},mqttSubscribe:function(){var t=this;this.client.on("message",(function(n,o){console.log("收到来自",n,"的信息",o.toString());var e={};e.topic=n,e.message=JSON.parse(o.toString()),t.$emit("callbackEvent",e)}))},mqttError:function(){var t=this;this.client.on("error",(function(n){console.log("连接失败:",n),t.$modal.notifyError("Mqtt客户端连接失败"),t.client.end()}))},unsubscribeMqtt:function(){var t=this;this.client.unsubscribe(this.mtopic,(function(n){console.log("主题为"+t.mtopic+"取消订阅成功",n)}))},unconnectMqtt:function(){this.client.end(),this.client=null,console.log("服务器已断开连接!"),this.$modal.notifyError("Mqtt服务器已断开连接!")},reconnectMqtt:function(){this.client.on("reconnect",(function(t){console.log("正在重连:",t)}))}}},u=r,a=o("2877"),f=Object(a["a"])(u,e,c,!1,null,null,null);n["default"]=f.exports}}]); |