LangChaoLogin.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. using System.Collections;
  2. using Agora.Rtc.LitJson;
  3. using Blue;
  4. using Newtonsoft.Json.Linq;
  5. using SC.XR.Unity;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. namespace GHZLangChao
  9. {
  10. public class LangChaoLogin : AbstractController
  11. {
  12. private SCInputField mAccount_Input;
  13. private SCInputField mPassword_Input;
  14. private Button mLogin_Btn;
  15. private GameObject mLoginError_go;
  16. private string mAccountStr;
  17. private string mPasswordStr;
  18. private void Awake()
  19. {
  20. mAccount_Input = transform.Find("Account/SCInputField").GetComponent<SCInputField>();
  21. mPassword_Input = transform.Find("Password/SCInputField").GetComponent<SCInputField>();
  22. mLogin_Btn = transform.Find("LoginBtn").GetComponent<Button>();
  23. mLoginError_go = transform.Find("LoginError").gameObject;
  24. mAccount_Input.onEndEdit.AddListener(OnAccountEndEdit);
  25. mPassword_Input.onEndEdit.AddListener(OnPasswordEndEdit);
  26. mLogin_Btn.onClick.AddListener(OnClickLogin);
  27. mAccountStr = "13910723157";
  28. mPasswordStr = "1";
  29. #if UNITY_EDITOR
  30. // OnClickLogin();
  31. mAccountStr = "18767144539";
  32. #endif
  33. mAccount_Input.text = mAccountStr;
  34. mPassword_Input.text = mPasswordStr;
  35. }
  36. /// <summary>
  37. /// 账号输入完成
  38. /// </summary>
  39. private void OnAccountEndEdit(string str)
  40. {
  41. mAccountStr = str;
  42. }
  43. /// <summary>
  44. /// 密码输入完成
  45. /// </summary>
  46. private void OnPasswordEndEdit(string str)
  47. {
  48. mPasswordStr = str;
  49. }
  50. /// <summary>
  51. /// 登录
  52. /// </summary>
  53. private void OnClickLogin()
  54. {
  55. #if UNITY_EDITOR
  56. //mAccountStr = "13910723157";
  57. //mPasswordStr = "1";
  58. #endif
  59. mAccount_Input.text = mAccountStr;
  60. mPassword_Input.text = mPasswordStr;
  61. if (string.IsNullOrWhiteSpace(mAccountStr) || string.IsNullOrWhiteSpace(mPasswordStr)) return;
  62. EndustryLoginUserInfo sendLogin = new EndustryLoginUserInfo()
  63. {
  64. account = mAccountStr,
  65. password = mPasswordStr
  66. };
  67. string jsonLogin = JsonMapper.ToJson(sendLogin);
  68. HttpTool.Instance.PostLogin(HttpActionLang.login, jsonLogin, LoginCallBack);
  69. }
  70. /// <summary>
  71. /// 登录返回数据
  72. /// </summary>
  73. public void LoginCallBack(string mes)
  74. {
  75. JObject obj = JObject.Parse(mes);
  76. if (obj["code"].ToString() != "200")
  77. StartCoroutine(PopUp());
  78. else
  79. {
  80. if (!string.IsNullOrWhiteSpace(obj["data"].ToString()) && !string.IsNullOrWhiteSpace(obj["data"]["token"].ToString()))
  81. {
  82. login.UserInfo.Instance.Token = obj["data"]["token"].ToString();
  83. ScenesManager.Instance.showWindow(ScenesManager.SceneType.ShowChoose);
  84. MQTTManager.Instance.SetAccoutInfo(mAccountStr);
  85. GameStart.Instance.StartCoroutine(HttpTool.Instance.SendHttp(HttpActionLang.userinfo, "", UserInfoCallBack));
  86. JsonData data = new JsonData();
  87. data["roomName"] = "4A-23";
  88. HttpTool.Instance.Post(HttpActionLang.sceneInit, data.ToJson(), MachineRoomManager.Instance.SceneInitCallBack);
  89. }
  90. else
  91. StartCoroutine(PopUp());
  92. }
  93. }
  94. private IEnumerator PopUp()
  95. {
  96. mLoginError_go.SetActive(true);
  97. yield return new WaitForSeconds(1);
  98. mLoginError_go.SetActive(false);
  99. }
  100. private void UserInfoCallBack(string msg)
  101. {
  102. Debug.Log(msg);
  103. JObject obj = JObject.Parse(msg);
  104. if (obj["code"].ToString() == "200")
  105. {
  106. MQTTManager.Instance._username = obj["data"]["name"].ToString();
  107. MQTTManager.Instance.roleId = obj["data"]["roleId"].ToString();
  108. MQTTManager.Instance.email = obj["data"]["email"].ToString();
  109. MQTTManager.Instance.phone = obj["data"]["phone"].ToString();
  110. MQTTManager.Instance.resourcePool = obj["data"]["resourcePool"].ToString();
  111. MQTTManager.Instance.resourcePoolId = int.Parse(obj["data"]["resourcePoolId"].ToString());
  112. MQTTManager.Instance.expertType = obj["data"]["expertType"].ToString();
  113. MQTTManager.Instance.room = obj["data"]["room"].ToString();
  114. MQTTManager.Instance.Signal();
  115. }
  116. else
  117. {
  118. Debug.LogError("获取用户信息失败 !!!" + obj["code"].ToString());
  119. }
  120. }
  121. }
  122. }