|
@@ -13,7 +13,7 @@ export function createMqttClient() {
|
|
return mqttClientCmd;
|
|
return mqttClientCmd;
|
|
}
|
|
}
|
|
const params = {
|
|
const params = {
|
|
- keepalive: 60,
|
|
|
|
|
|
+ // keepalive: 60,
|
|
clean: true,
|
|
clean: true,
|
|
connectTimeout: 30 * 1000,
|
|
connectTimeout: 30 * 1000,
|
|
clientId:
|
|
clientId:
|
|
@@ -74,19 +74,19 @@ export function createMqttClient() {
|
|
}
|
|
}
|
|
|
|
|
|
// 创建data连接
|
|
// 创建data连接
|
|
-export function createMqttData(clientIdProp) {
|
|
|
|
- if (!clientIdProp) {
|
|
|
|
- console.warn("DATA MQTT 创建失败:缺少 clientIdProp");
|
|
|
|
|
|
+export function createMqttData() {
|
|
|
|
+ if (!uni.getStorageSync("userId")) {
|
|
|
|
+ console.warn("DATA MQTT 创建失败:缺少 userId");
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
if (mqttDataConnected) return mqttClientData;
|
|
if (mqttDataConnected) return mqttClientData;
|
|
|
|
|
|
const params = {
|
|
const params = {
|
|
- keepalive: 60,
|
|
|
|
|
|
+ // keepalive: 60,
|
|
clean: true,
|
|
clean: true,
|
|
connectTimeout: 1500,
|
|
connectTimeout: 1500,
|
|
- clientId: "xcx_mqtt_data1_" + clientIdProp + "_" + Date.now(),
|
|
|
|
|
|
+ clientId: "xcx_mqtt_data1_" + uni.getStorageSync("userId") + "_" + Date.now(),
|
|
username: "lnradar",
|
|
username: "lnradar",
|
|
password: "lnradar",
|
|
password: "lnradar",
|
|
WebSocket: function (url) {
|
|
WebSocket: function (url) {
|
|
@@ -108,10 +108,10 @@ export function createMqttData(clientIdProp) {
|
|
mqttDataConnected = true;
|
|
mqttDataConnected = true;
|
|
});
|
|
});
|
|
|
|
|
|
- mqttClientData.subscribe(`/dev/${clientIdProp}/tracker_targets`, (err) => {
|
|
|
|
- if (err) console.error("DATA MQTT 订阅失败", err);
|
|
|
|
- else console.log(`DATA MQTT 订阅成功: /dev/${clientIdProp}/tracker_targets`);
|
|
|
|
- });
|
|
|
|
|
|
+ // mqttClientData.subscribe(`/dev/${clientIdProp}/tracker_targets`, (err) => {
|
|
|
|
+ // if (err) console.error("DATA MQTT 订阅失败", err);
|
|
|
|
+ // else console.log(`DATA MQTT 订阅成功: /dev/${clientIdProp}/tracker_targets`);
|
|
|
|
+ // });
|
|
|
|
|
|
mqttClientData.on("message", (topic, message) => {
|
|
mqttClientData.on("message", (topic, message) => {
|
|
console.log("topic", topic, message);
|
|
console.log("topic", topic, message);
|
|
@@ -133,98 +133,4 @@ export function createMqttData(clientIdProp) {
|
|
// });
|
|
// });
|
|
|
|
|
|
return mqttClientData;
|
|
return mqttClientData;
|
|
-}
|
|
|
|
-// export function createMqttData(clientIdProp) {
|
|
|
|
-// if (!clientIdProp) {
|
|
|
|
-// console.warn("DATA MQTT 创建失败:缺少 clientIdProp");
|
|
|
|
-// return null;
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
-// // 如果已经连接,直接返回
|
|
|
|
-// if (mqttDataConnected && mqttClientData) return mqttClientData;
|
|
|
|
-
|
|
|
|
-// // 内部连接函数
|
|
|
|
-// const connect = () => {
|
|
|
|
-// const params = {
|
|
|
|
-// keepalive: 60,
|
|
|
|
-// clean: true,
|
|
|
|
-// connectTimeout: 1500,
|
|
|
|
-// clientId: "xcx_mqtt_data1_" + clientIdProp + "_" + Date.now(),
|
|
|
|
-// username: "lnradar",
|
|
|
|
-// password: "lnradar",
|
|
|
|
-// WebSocket: function (url) {
|
|
|
|
-// return wx.connectSocket({
|
|
|
|
-// url: url,
|
|
|
|
-// header: { "content-type": "application/json" },
|
|
|
|
-// protocols: ["mqtt"],
|
|
|
|
-// });
|
|
|
|
-// },
|
|
|
|
-// reconnectPeriod: 0 // 手动重连
|
|
|
|
-// };
|
|
|
|
-
|
|
|
|
-// mqttClientData = mqtt.connect("wxs://data.radar-power.cn/mqtt/", params);
|
|
|
|
-
|
|
|
|
-// mqttClientData.on("connect", () => {
|
|
|
|
-// console.log("DATA MQTT 连接成功");
|
|
|
|
-// mqttDataConnected = true;
|
|
|
|
-
|
|
|
|
-// // 订阅 topic
|
|
|
|
-// mqttClientData.subscribe(`/dev/${clientIdProp}/tracker_targets`, (err) => {
|
|
|
|
-// if (err) console.error("DATA MQTT 订阅失败", err);
|
|
|
|
-// else console.log(`DATA MQTT 订阅成功: /dev/${clientIdProp}/tracker_targets`);
|
|
|
|
-// });
|
|
|
|
-
|
|
|
|
-// // 清理重连定时器
|
|
|
|
-// if (reconnectTimer) {
|
|
|
|
-// clearTimeout(reconnectTimer);
|
|
|
|
-// reconnectTimer = null;
|
|
|
|
-// }
|
|
|
|
-// });
|
|
|
|
-
|
|
|
|
-// mqttClientData.on("message", (topic, message) => {
|
|
|
|
-// console.log("topic", topic, message);
|
|
|
|
-// try {
|
|
|
|
-// console.log("接收到消息:", JSON.parse(message.toString()));
|
|
|
|
-// } catch (e) {
|
|
|
|
-// console.log("接收到非 JSON 消息:", message.toString());
|
|
|
|
-// }
|
|
|
|
-// });
|
|
|
|
-
|
|
|
|
-// mqttClientData.on("error", (err) => {
|
|
|
|
-// console.error("DATA MQTT 错误:", err);
|
|
|
|
-// mqttDataConnected = false;
|
|
|
|
-// scheduleReconnect();
|
|
|
|
-// });
|
|
|
|
-
|
|
|
|
-// mqttClientData.on("disconnect", () => {
|
|
|
|
-// console.log("DATA MQTT 断开");
|
|
|
|
-// mqttDataConnected = false;
|
|
|
|
-// scheduleReconnect();
|
|
|
|
-// });
|
|
|
|
-
|
|
|
|
-// // 安全关闭方法
|
|
|
|
-// mqttClientData.close = function (force = true) {
|
|
|
|
-// if (mqttClientData) {
|
|
|
|
-// mqttClientData.end(force, () => {
|
|
|
|
-// mqttDataConnected = false;
|
|
|
|
-// console.log("DATA MQTT 已关闭");
|
|
|
|
-// });
|
|
|
|
-// }
|
|
|
|
-// };
|
|
|
|
-// };
|
|
|
|
-
|
|
|
|
-// // 内部重连调度
|
|
|
|
-// const scheduleReconnect = () => {
|
|
|
|
-// if (reconnectTimer) return; // 避免重复设置
|
|
|
|
-// console.log("DATA MQTT 尝试重连中...");
|
|
|
|
-// reconnectTimer = setTimeout(() => {
|
|
|
|
-// reconnectTimer = null;
|
|
|
|
-// connect();
|
|
|
|
-// }, 1500); // 2 秒后重连
|
|
|
|
-// };
|
|
|
|
-
|
|
|
|
-// // 首次调用连接
|
|
|
|
-// connect();
|
|
|
|
-
|
|
|
|
-// return mqttClientData;
|
|
|
|
-// }
|
|
|
|
|
|
+}
|