LangChaoLogin.cs 4.2 KB

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