using LitJson; using System; using System.Collections; using System.Collections.Generic; using System.Text; using UnityEngine; using UnityEngine.Networking; public class GatewayHttp : MonoBehaviour { string baseUrl = "https://api-fat1.ghz-tech.com/"; string username = "unity"; string password = "unitylisten"; Dictionary<string, string> requestHeader = new Dictionary<string, string>(); // header // Start is called before the first frame update void Start() { Debug.Log("Start Queue SendHttp Start" + Application.version); Dictionary<string,string> data = new Dictionary<string, string>(); data.Add("username", username); data.Add("password", password); StartCoroutine(SendHttp("nacos/v1/auth/users/login", data,(string json)=> { Debug.Log(json); JsonData jdata = JsonMapper.ToObject(json); Dictionary<string, string> data = new Dictionary<string, string>(); data.Add("dataId",Application.version); data.Add("group", Application.productName); data.Add("accessToken", jdata["accessToken"].ToString()); StartCoroutine(SendHttp("nacos/v1/cs/configs", data, (string json) => { JsonData backData = JsonMapper.ToObject(json); HttpSDKAction.Instance.jsonData = json; string pt = "pro"; #if UNITY_EDITOR pt = "dev"; #endif HttpSDKAction.Instance.loginUrl = backData["unity"]["url"][pt]["login"].ToString(); HttpSDKAction.Instance.managerUrl = backData["unity"]["url"][pt]["manager"].ToString(); HttpSDKAction.Instance.officeSocket = backData["unity"]["url"][pt]["officeSocket"].ToString(); HttpSDKAction.Instance.pointCloudUrl = backData["unity"]["url"][pt]["pointCloud"].ToString(); HttpSDKAction.Instance.roomSocket = backData["unity"]["url"][pt]["roomSocket"].ToString(); },false)); })); } void test() { JsonData data = new JsonData(); data["unity"] = new JsonData(); data["unity"]["url"] = new JsonData(); data["unity"]["devuser"] = new JsonData(); data["unity"]["url"]["dev"] = new JsonData(); data["unity"]["url"]["fat"] = new JsonData(); data["unity"]["url"]["pro"] = new JsonData(); data["unity"]["url"]["dev"]["login"] = ""; data["unity"]["url"]["dev"]["manager"] = ""; data["unity"]["url"]["dev"]["pointCloud"] = ""; data["unity"]["url"]["dev"]["roomSocket"] = ""; data["unity"]["url"]["dev"]["officeSocket"] = ""; data["unity"]["url"]["fat"]["login"] = ""; data["unity"]["url"]["fat"]["manager"] = ""; data["unity"]["url"]["fat"]["pointCloud"] = ""; data["unity"]["url"]["fat"]["roomSocket"] = ""; data["unity"]["url"]["fat"]["officeSocket"] = ""; data["unity"]["url"]["pro"]["login"] = ""; data["unity"]["url"]["pro"]["manager"] = ""; data["unity"]["url"]["pro"]["pointCloud"] = ""; data["unity"]["url"]["pro"]["roomSocket"] = ""; data["unity"]["url"]["pro"]["officeSocket"] = ""; data["unity"]["user"]["111@111.com"] = "dev"; Debug.Log(data.ToJson()); } public void initHead() { requestHeader.Clear(); requestHeader.Add("Content-Type", "application/x-www-form-urlencoded"); } public IEnumerator SendHttp(string methodName, Dictionary<string, string> fromDic, Action<string> CallBack,bool isPost=true) { Debug.Log("Start Queue SendHttp " + methodName); string url = baseUrl+ methodName; UnityWebRequest webRequest; if (!isPost) { url += "?"; foreach (var item in fromDic) { url+= item.Key +"="+item.Value+ "&"; } webRequest = UnityWebRequest.Get(url); } else { WWWForm form = new WWWForm(); foreach (var item in fromDic) { form.AddField(item.Key, item.Value); } webRequest = UnityWebRequest.Post(url, form); webRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } yield return webRequest.SendWebRequest(); if (webRequest.result == UnityWebRequest.Result.ConnectionError) { Debug.LogError(webRequest.error); } else { string result = webRequest.downloadHandler.text; CallBack(result); } } }