SignallingService.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Blue;
  4. using Newtonsoft.Json;
  5. using Newtonsoft.Json.Linq;
  6. using UnityEngine;
  7. using UnityEngine.Networking;
  8. public class SignallingService : ISignallingService
  9. {
  10. public void OnInit()
  11. {
  12. this.RegisterEvent<GetContactsSuccessEvent>(GetContactsSuccess);
  13. }
  14. public void GetContacts()
  15. {
  16. GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.signal_contact,"",(string message) => {
  17. JObject jobject = JObject.Parse(message);
  18. if (jobject["code"].ToString() == "200" && !string.IsNullOrEmpty(jobject["data"].ToString()) && !string.IsNullOrEmpty(jobject["data"]["list"].ToString()))
  19. {
  20. message = jobject["data"]["list"].ToString();
  21. List<ContactsInfo> mContactsInfoList = JsonConvert.DeserializeObject<List<ContactsInfo>>(message);
  22. this.SendEvent(new GetContactsSuccessEvent() { ContactsInfoList = mContactsInfoList });
  23. }
  24. }, "application/x-www-form-urlencoded"));
  25. // CoroutineSystem.Instance.StartCoroutine(OnGetContacts());
  26. }
  27. #region 事件
  28. private void GetContactsSuccess(GetContactsSuccessEvent e)
  29. {
  30. string json = JsonConvert.SerializeObject(e.ContactsInfoList);
  31. Debug.LogError($"获取联系人:{json}");
  32. }
  33. #endregion
  34. #region 协程
  35. /*
  36. private string message;
  37. private IEnumerator OnGetContacts()
  38. {
  39. UnityWebRequest webRequest = new UnityWebRequest(HttpAction.mEndustryURL + HttpAction.signal_contact, "POST");
  40. //foreach( var head in HttpTool.Instance.RequestHeader) webRequest.SetRequestHeader(head.Key,head.Value); 暂时使用直接写的方式,等后续确定使用此行代码
  41. webRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  42. webRequest.SetRequestHeader("Authorization", login.UserInfo.Instance.Token);
  43. webRequest.downloadHandler = new DownloadHandlerBuffer();
  44. yield return webRequest.SendWebRequest();
  45. if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
  46. Debug.LogError($"Error:{webRequest.error},DownloadHandler:{webRequest.downloadHandler.text}");
  47. else
  48. {
  49. if (!string.IsNullOrWhiteSpace(webRequest.downloadHandler.text))
  50. {
  51. message = webRequest.downloadHandler.text;
  52. JObject jobject = JObject.Parse(message);
  53. if (jobject["code"].ToString() == "200" && !string.IsNullOrEmpty(jobject["data"].ToString()) && !string.IsNullOrEmpty(jobject["data"]["list"].ToString()))
  54. {
  55. message = jobject["data"]["list"].ToString();
  56. List<ContactsInfo> mContactsInfoList = JsonConvert.DeserializeObject<List<ContactsInfo>>(message);
  57. this.SendEvent(new GetContactsSuccessEvent() { ContactsInfoList = mContactsInfoList });
  58. }
  59. }
  60. }
  61. }*/
  62. #endregion
  63. }