|
@@ -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>
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public void Signal()
|
|
|
+ {
|
|
|
+ GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.signal_certification, "", SignalCallBack));
|
|
|
+
|
|
|
+ GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.userinfo, "", 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();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ 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();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public void PushMsg(string msg)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(msg))
|
|
|
+ {
|
|
|
+ JsonData json = new JsonData();
|
|
|
+ json["account"] = MQTTClient.Instance.account;
|
|
|
+ json["Sid"] = "sid";
|
|
|
+ json["msg"] = msg;
|
|
|
+ MQTTClient.Instance.publish(Encoding.UTF8.GetBytes(json.ToJson()));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public void Received(string msg)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|