Browse Source

MQTT 修改

DGJ 1 year ago
parent
commit
dc375ab8fa

+ 23 - 0
Assets/Game/Blue/RTC/LangChaoRTC.unity

@@ -20902,6 +20902,7 @@ GameObject:
   m_Component:
   - component: {fileID: 1496039441}
   - component: {fileID: 1496039442}
+  - component: {fileID: 1496039443}
   m_Layer: 0
   m_Name: MQTT
   m_TagString: Untagged
@@ -20944,6 +20945,28 @@ MonoBehaviour:
   rid: mqttx_b4c02ddc
   account: 
   roomId: 
+  email: 
+  phone: 
+  roleId: 
+  resourcePool: 
+  experType: 
+  _username: 
+--- !u!114 &1496039443
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1496039440}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e619ad1e5dad862488e940a5741e906b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+  text: {fileID: 0}
+  input: {fileID: 0}
+  btn: {fileID: 0}
 --- !u!1 &1504529037
 GameObject:
   m_ObjectHideFlags: 0

+ 3 - 0
Assets/Game/ShowLogin/LangChaoLogin.cs

@@ -81,6 +81,9 @@ namespace GHZLangChao
                 {
                     login.UserInfo.Instance.Token = obj["data"]["token"].ToString();
                     ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
+
+                    MQTTManager.Instance.Signal();
+
                 }
                 else
                     StartCoroutine(PopUp());

+ 2 - 0
Assets/HttpActionLang.cs

@@ -13,5 +13,7 @@ public class HttpActionLang : Singleton<HttpActionLang>
 
     public const string login = "/mr-endustry/v1/user/login";
 
+    public const string userinfo = "/mr-endustry/v1/user/info";
+
     public string mqttSocket ="";
 }

+ 6 - 0
Assets/Scenes/LangChaoMQTT.unity

@@ -23589,6 +23589,12 @@ MonoBehaviour:
   rid: mqttx_b4c02ddc
   account: 
   roomId: 
+  email: 
+  phone: 
+  roleId: 
+  resourcePool: 
+  experType: 
+  _username: 
 --- !u!1 &1504529037
 GameObject:
   m_ObjectHideFlags: 0

+ 11 - 1
Assets/Scripts/MQTT/MQTTClient.cs

@@ -18,6 +18,13 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     public string rid = "mqttx_b4c02ddc"; //其他人的ID
     public string account;
     public string roomId;
+    public string email;
+    public string phone;
+    public string roleId;
+    public string resourcePool;
+    public string expertType;
+    public string _username;
+
     public event Action<JsonData> OnCoordinate;
     public static byte[] bytes;
     public static string certification;
@@ -78,7 +85,7 @@ public class MQTTClient : MonoSingleton<MQTTClient>
     {
         string msg = Encoding.UTF8.GetString(obj.Message);
         Debug.Log("uid => " + obj.Topic + ":\n" + msg);
-        TestMQTT.Instance.text.text = "uid => " + obj.Topic + ":\n" + msg;
+      //  TestMQTT.Instance.text.text = "uid => " + obj.Topic + ":\n" + msg;
         try
         {
             JsonData data = JsonMapper.ToObject(msg);
@@ -153,6 +160,9 @@ public class MQTTClient : MonoSingleton<MQTTClient>
         //    id = UserInfo.Instance.name + "_Glasses";
         //    rid = front+UserInfo.Instance.name + "_Phone";
         //}
+
+
+
         DisConnect();
         qt = new QTTManager(id + account,"" , certification, HttpActionLang.Instance.mqttSocket, "1883");
         qt.Connect();

+ 106 - 0
Assets/Scripts/MQTT/MQTTManager.cs

@@ -0,0 +1,106 @@
+using LitJson;
+using Newtonsoft.Json.Linq;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+using UnityEngine;
+
+public class MQTTManager : MonoSingleton<MQTTManager>
+{
+    /// <summary>
+    ///  获取信令
+    /// </summary>
+    public void Signal()
+    {
+        GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.signal_certification, "", SignalCallBack));
+
+        GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.userinfo, "", SignalCallBack));
+        // HttpTool.Instance.PostMqtt(HttpAction.signal_certification, "", SignalCallBack);
+    }
+
+
+    public void SetAccoutInfo(string account)
+    {
+        MQTTClient.Instance.account = account;
+
+    }
+    private void SignalCallBack(string msg)
+    {
+        Debug.Log(msg);
+
+        JObject obj = JObject.Parse(msg);
+        if (obj["code"].ToString() == "200")
+        {
+            HttpActionLang.Instance.mqttSocket = obj["data"]["host"].ToString();
+            MQTTClient.certification = obj["data"]["certification"].ToString();
+            MQTTClient.Instance.front = obj["data"]["topicPrefix"].ToString();
+            MQTTClient.Instance.id = obj["data"]["clientId"].ToString();
+            MQTTClient.Instance.email = obj["data"]["email"].ToString();
+            //SetRoomId("");
+            //  
+        }
+        else
+        {
+            Debug.LogError("MQTT 获取信令失败 !!!" + obj["code"].ToString());
+        }
+    }
+
+    private void UserInfoCallBack(string msg)
+    {
+        Debug.Log(msg);
+
+        JObject obj = JObject.Parse(msg);
+        if (obj["code"].ToString() == "200")
+        {
+            MQTTClient.Instance._username = obj["data"]["name"].ToString();
+            MQTTClient.Instance.roleId = obj["data"]["roleId"].ToString();
+            MQTTClient.Instance.email = obj["data"]["email"].ToString();
+            MQTTClient.Instance.phone = obj["data"]["phone"].ToString();
+            MQTTClient.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
+            MQTTClient.Instance.expertType = obj["data"]["expertType"].ToString();
+        }
+        else
+        {
+            Debug.LogError("获取用户信息失败 !!!"+ obj["code"].ToString());
+        }
+    }
+
+    public void SetRoomId(string id)
+    {
+        MQTTClient.Instance.roomId = id;
+        MQTTClient.Instance.roomId = "9527";
+        MQTTClient.Instance.Connect();
+
+    }
+
+    /// <summary>
+    /// 发送消息
+    /// </summary>
+    /// <param name="msg"></param>
+    public void PushMsg(string msg)
+    {
+        if (!string.IsNullOrEmpty(msg))
+        {
+            JsonData json = new JsonData();
+            json["account"] = MQTTClient.Instance.account;
+            json["Sid"] = "sid";//选择的场景id
+            json["msg"] = msg;
+            MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
+            
+        }
+
+    }
+    /// <summary>
+    ///  接受消息
+    /// </summary>
+    /// <param name="msg"></param>
+    public void Received(string msg)
+    {
+        // 根据字段  对消息进行分类
+
+
+        //
+
+
+    }
+}

+ 11 - 0
Assets/Scripts/MQTT/MQTTManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 546752eb840669f4d806e9b4deedec69
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 8
Assets/StreamingAssets.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 35fe37fbfbebcd24c84c25f48e40640a
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 8
Assets/StreamingAssets/TrackingProfiles.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 86b61c59e842da1499d6210163d7c448
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 10 - 9
Assets/TestMQTT.cs

@@ -8,13 +8,13 @@ using UnityEngine.UI;
 
 public class TestMQTT : MonoSingleton<TestMQTT>
 {
-    public Text text;
-    public InputField input;
-    public Button btn;
+    //public Text text;
+    //public InputField input;
+    //public Button btn;
 
     private void Start()
     { 
-        btn.onClick.AddListener(PushMsg);
+       // btn.onClick.AddListener(PushMsg);
     }
 
     /// <summary>
@@ -43,6 +43,7 @@ public class TestMQTT : MonoSingleton<TestMQTT>
             MQTTClient.certification = obj["data"]["certification"].ToString();
             MQTTClient.Instance.front = obj["data"]["topicPrefix"].ToString();
             MQTTClient.Instance.id = obj["data"]["clientId"].ToString();
+            MQTTClient.Instance.email = obj["data"]["email"].ToString();
             SetRoomId("");
             //  
         }
@@ -60,16 +61,16 @@ public class TestMQTT : MonoSingleton<TestMQTT>
 
     }
 
-    public void PushMsg()
+    public void PushMsg( string msg)
     {
-        if(!string.IsNullOrEmpty(input.text))
+        if(!string.IsNullOrEmpty(msg))
         {
             JsonData json = new JsonData();
             json["account"] = MQTTClient.Instance.account;
             json["Sid"] = "sid";//选择的场景id
-            json["msg"] = input.text;
+            json["msg"] = msg;
             MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
-            input.text = null;
+           // input.text = null;
         }
 
         else
@@ -79,7 +80,7 @@ public class TestMQTT : MonoSingleton<TestMQTT>
             json["Sid"] = "sid";//选择的场景id
             json["msg"] = "NULL";
             MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
-            input.text = null;
+           // input.text = null;
         }
     }
 }