Files
shgx_tz_vue-sync/src/utils/mqtt/emqxUtil.js
2025-04-29 16:49:14 +08:00

99 lines
2.3 KiB
JavaScript

import mqtt from '@/plugins/mqtt.min.js'
export const title = 'shgg_mes'
// const mqtt = require('mqtt');
// 云服务器环境
// const url = 'wss://ff6bab7a.ala.cn-hangzhou.emqxsl.cn:8084/mqtt';
// 本地环境
// const url = 'ws://192.168.0.58:8083/mqtt'
// 线上环境
const url = 'ws://192.168.60.251:8083/mqtt'
// 创建客户端实例
const options = {
clean: true,
connectTimeout: 4000,
clientId: 'emqx_test' + Math.random().toString(16).substring(2, 8),
username: 'user',
password: '123456',
}
// 首检topic
export const firstFQCTopic = {
// 累加值变动
AccumulatorChange: title + '/firstFQC/AccumulatorChange',
// 班组切换
TeamChange: title + '/firstFQC/TeamChange',
// 工单切换
OrderChange: title + '/firstFQC/OrderChange',
// 首检当前操作工单保留消息
NowOrderRetain: title + '/firstFQC/NowOrderRetain',
}
// 抛光topic
export const againFQCTopic = {
// 累加值变动
AccumulatorChange: title + '/againFQC/AccumulatorChange',
// 班组切换
TeamChange: title + '/againFQC/TeamChange',
// 工单切换
OrderChange: title + '/againFQC/OrderChange',
}
// 包装topic
export const thirtyFQCTopic = {
// 累加值变动
AccumulatorChange: title + '/thirtyFQC/AccumulatorChange',
// 班组切换
TeamChange: title + '/thirtyFQC/TeamChange',
// 工单切换
OrderChange: title + '/thirtyFQC/OrderChange',
}
// GP12-topic
export const GP12Topic = {
// GP12标签扫码
SiteComLabelCode: title + '/gp12/SiteComLabelCode',
}
// 后道-topic
export const BackEndTopic = {
// 后道标签扫码
SiteComLabelCode: title + '/backEnd/SiteComLabelCode',
}
export function createClient(clientId = null) {
let _options = options
if (clientId !== null) {
_options.clientId = clientId
}
return mqtt.connect(url, options)
}
export function endClient(client) {
if (client === null) {
return
}
if (client.connected) {
client.end()
}
}
export function parseJSON(jsonStr = '') {
try {
return JSON.parse(jsonStr)
} catch (e) {
return null
}
}
export function stringJSON(object) {
try {
return JSON.stringify(object)
} catch (e) {
return null
}
}
// 检查是否连接
export function checkClient(client) {
if (client === null) {
return false
}
return client.connected
}