فهرست منبع

提交优化代码

wangming 1 ماه پیش
والد
کامیت
6d3adc9766
2فایلهای تغییر یافته به همراه5 افزوده شده و 33 حذف شده
  1. 1 12
      src/App.vue
  2. 4 21
      src/main.js

+ 1 - 12
src/App.vue

@@ -22,6 +22,7 @@ wmpfVoip.setVoipEndPagePath({
 
 export default {
     onLaunch() {
+        this.$initMqtt();
         // 初始化云开发
         if (wx.cloud) {
             wx.cloud.init({});
@@ -71,18 +72,6 @@ export default {
             },
         });
     },
-    // onHide() {
-    //     if (this.$mqttClient) {
-    //         this.$mqttClient.end(true);
-    //         this.$mqttClient = null;
-    //         console.log("MQTT 已关闭(onHide)");
-    //     }
-    //     if (this.$mqttClientData) {
-    //         this.$mqttClientData.end(true);
-    //         this.$mqttClientData = null;
-    //         console.log("MQTT Data 已关闭(onHide)");
-    //     }
-    // },
     onUnload() {
         // 小程序卸载时也关闭
         if (this.$mqttClient) {

+ 4 - 21
src/main.js

@@ -17,29 +17,12 @@ Vue.component('tenMinutes', tenMinutes);
 
 Vue.prototype.$http = http;
 
-// 等待 userId
-function waitForUserId(callback) {
-    let timer = setInterval(() => {
-        const userId = uni.getStorageSync("userId");
-        if (userId) {
-            clearInterval(timer);
-            callback(userId);
-        }
-    }, 2000);
-}
-
-// 初始化 MQTT
-waitForUserId((userId) => {
-    const mqttClient = createMqttClient();
-    Vue.prototype.$mqttClient = mqttClient;
-
-    const mqttClientData = createMqttData();
-    Vue.prototype.$mqttClientData = mqttClientData;
-    uni.$emit("mqtt-ready", mqttClient);
-    uni.$emit("mqttData-ready", mqttClientData);
-});
 // 全局方法:初始化 MQTT(登录成功时调用)
 Vue.prototype.$initMqtt = function () {
+    if (!uni.getStorageSync("userId")) {
+        console.warn("MQTT 初始化失败:缺少 userId");
+        return;
+    }
     const mqttClient = createMqttClient()
     Vue.prototype.$mqttClient = mqttClient
     const mqttClientData = createMqttData()