91 lines
1.6 KiB
JavaScript
91 lines
1.6 KiB
JavaScript
import MqttClient from '@/utils/mqtt.js';
|
||
|
||
class MqPlus {
|
||
|
||
constructor() {
|
||
this.mq = null;
|
||
this.init();
|
||
|
||
}
|
||
|
||
init(callback) {
|
||
this.mq = new MqttClient();
|
||
this.mq.connect(() => {
|
||
console.log("连接成功");
|
||
if(callback){
|
||
callback();
|
||
}
|
||
});
|
||
|
||
}
|
||
//通用发送消息
|
||
sendData(topic, payload) {
|
||
let task=()=>{
|
||
if (payload === undefined || payload === null) {
|
||
console.error("消息内容为空")
|
||
return false;
|
||
}
|
||
|
||
if (typeof payload === 'object') {
|
||
payload = JSON.stringify(payload);
|
||
}
|
||
|
||
this.mq.publish(topic, payload);
|
||
}
|
||
if(!this.mq){
|
||
this.init(task)
|
||
}else{
|
||
task();
|
||
}
|
||
|
||
}
|
||
|
||
//发送手机号登陆与推送数据
|
||
sendUsrLogin() {
|
||
if(!this.mq){
|
||
return
|
||
}
|
||
let pushid=uni.getStorageSync("push_cid");
|
||
let phone=uni.getStorageSync("phone");
|
||
this.sendData("app/login",{phone:phone,pushid:pushid});
|
||
}
|
||
//发送充放电数据,chargeType1放电,0充电
|
||
sendCharge(deviceid,chargeType,battary){
|
||
if(!this.mq){
|
||
return;
|
||
}
|
||
|
||
let json={
|
||
deviceid:deviceid,
|
||
sta_system:chargeType,
|
||
}
|
||
if(battary!==undefined){
|
||
json.battary=battary;
|
||
}
|
||
this.sendData("app/charge",json);
|
||
}
|
||
//发送报警
|
||
sendWarning(deviceid,warn){
|
||
if(!this.mq){
|
||
return;
|
||
}
|
||
|
||
let json={
|
||
deviceid:deviceid,
|
||
sta_ShakeBit:warn,
|
||
}
|
||
|
||
this.sendData("app/warn",json);
|
||
}
|
||
|
||
}
|
||
let mqplusInstance = null;
|
||
export default {
|
||
getMqPlus: function() {
|
||
|
||
if (!mqplusInstance) {
|
||
mqplusInstance = new MqPlus();
|
||
}
|
||
return mqplusInstance;
|
||
}
|
||
} |