LangChaoLogin.cs 5.3 KB

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