- 在 app.json 中新增了 routingInspection 和 addRoutingInspection 页面路径 - 新增了 customerService 包下的多个页面配置 - 在 myOrders 包中添加了 groupOrders 页面 - 新增了 smartDevice 和 advertising 包的页面配置 - 更新了 kitchen 页面的 webpack 模块路径引用
117 lines
3.4 KiB
JavaScript
117 lines
3.4 KiB
JavaScript
import mqtt from 'mqtt/dist/mqtt'
|
|
import Vue from 'vue'
|
|
|
|
let mqttTool = {
|
|
client: null
|
|
}
|
|
|
|
mqttTool.connect = function(params){
|
|
let options = {
|
|
clientId: params.clientId,
|
|
username: 'dev01',
|
|
password: '211561',
|
|
clean: true,
|
|
reconnectPeriod: 1000,
|
|
protocolVersion: 4,
|
|
connectTimeout: 600000,
|
|
cleanSession: false
|
|
}
|
|
let client = null
|
|
client = mqtt.connect('wx://api.hshuishang.com:8084/mqtt', options)
|
|
console.log('WX', client)
|
|
mqttTool.client = client
|
|
if (mqttTool.client) {
|
|
console.log('连接成功')
|
|
} else {
|
|
console.log('连接失败')
|
|
}
|
|
return client
|
|
}
|
|
|
|
mqttTool.end = function(){
|
|
return new Promise((resolve, reject) => {
|
|
if (mqttTool.client == null) {
|
|
resolve('未连接')
|
|
console.log('App_text' + ':end 未连接')
|
|
return
|
|
}
|
|
mqttTool.client.end()
|
|
mqttTool.client = null
|
|
resolve('连接终止')
|
|
})
|
|
}
|
|
|
|
mqttTool.reconnect = function(){
|
|
console.log('连接已断开,重新连接中....')
|
|
return new Promise((resolve, reject) => {
|
|
if (mqttTool.client == null) {
|
|
resolve('未连接')
|
|
console.log('App_text' + ':reconnect 未连接')
|
|
return
|
|
}
|
|
mqttTool.client.reconnect()
|
|
})
|
|
}
|
|
|
|
mqttTool.subscribe = function(params){
|
|
return new Promise((resolve, reject) => {
|
|
if (mqttTool.client == null) {
|
|
resolve('未连接')
|
|
console.log('App_text' + ':unconnect 未连接')
|
|
return
|
|
}
|
|
mqttTool.client.subscribe(params.topic, { qos: params.qos }, function(err, res){
|
|
console.log(err, res)
|
|
if (!err && res.length > 0) {
|
|
resolve('订阅成功')
|
|
console.log('App_text' + ':subscribe success 订阅成功')
|
|
} else {
|
|
resolve('订阅失败')
|
|
console.log('App_text' + ':subscribe failed 订阅失败')
|
|
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
mqttTool.unsubscribe = function(params){
|
|
return new Promise((resolve, reject) => {
|
|
if (mqttTool.client == null) {
|
|
resolve('未连接')
|
|
console.log('App_text' + ':unconnect 未连接')
|
|
return
|
|
}
|
|
mqttTool.client.unsubscribe(params.topic, function(err){
|
|
if (!err) {
|
|
resolve('取消订阅成功')
|
|
console.log('App_text' + ':unsubscribe success 取消订阅成功')
|
|
} else {
|
|
resolve('取消订阅失败')
|
|
console.log('App_text' + ':unsubscribe failed 取消订阅失败')
|
|
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
mqttTool.publish = function(params){
|
|
return new Promise((resolve, reject) => {
|
|
if (mqttTool.client == null) {
|
|
resolve('未连接')
|
|
console.log('App_text' + ':unconnect 未连接')
|
|
return
|
|
}
|
|
mqttTool.client.publish(params.topic, params.message, function(err){
|
|
if (!err) {
|
|
resolve(params.topic + '-' + params.message + '-发送成功')
|
|
console.log('App_text' + ':publish success 发送成功')
|
|
} else {
|
|
resolve(params.topic + '-' + params.message + '-发送失败')
|
|
console.log('App_text' + ':publish failed 发送失败')
|
|
|
|
}
|
|
})
|
|
})
|
|
}
|
|
Vue.prototype.$mqtt = mqttTool
|
|
export default mqttTool |