using LitJson; using Newtonsoft.Json.Linq; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class LoginManager : MonoSingleton<LoginManager> { public InputField usernameInput; public InputField passwordInput; public GameObject usernameError; public GameObject passwordError; public RawImage passwrodIconBtn; public Texture2D passwordIconClose; public Texture2D paswrodIconOpen; public Button loginBtn; public LoginUPError loginUpError; private bool isShwoPasword = false; private void Start() { passwrodIconBtn.GetComponent<Button>().onClick.AddListener(() => { isShwoPasword = !isShwoPasword; if(isShwoPasword) { passwrodIconBtn.texture = paswrodIconOpen; passwordInput.contentType = InputField.ContentType.Standard; } else { passwrodIconBtn.texture = passwordIconClose; passwordInput.contentType = InputField.ContentType.Password; } }); UserNameInputStart(); PassWordInputStart(); loginBtn.onClick.AddListener(() => { bool finish = DetectionInput(); if (finish == false) return; // ��¼ Login(); }); } private void UserNameInputStart() { EventTrigger trigger = usernameInput.gameObject.GetComponent<EventTrigger>(); if (trigger == null) { // ���û�� EventTrigger ���������һ�� trigger = usernameInput.gameObject.AddComponent<EventTrigger>(); } // ���� PointerEnter �¼����� EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; entry.callback.AddListener((eventData) => { if (usernameError.activeSelf) { usernameInput.text = null; usernameInput.textComponent.color = new Color32(50, 50, 50, 255); usernameError.SetActive(false); } }); trigger.triggers.Add(entry); } private void PassWordInputStart() { EventTrigger trigger = passwordInput.gameObject.GetComponent<EventTrigger>(); if (trigger == null) { // ���û�� EventTrigger ���������һ�� trigger = passwordInput.gameObject.AddComponent<EventTrigger>(); } // ���� PointerEnter �¼����� EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; entry.callback.AddListener((eventData) => { if (passwordError.activeSelf) { passwordInput.text = null; passwordInput.textComponent.color = new Color32(50, 50, 50, 255); passwordError.SetActive(false); if (isShwoPasword) passwordInput.contentType = InputField.ContentType.Standard; else passwordInput.contentType = InputField.ContentType.Password; } }); trigger.triggers.Add(entry); } private bool DetectionInput() { bool finish = true; Debug.Log(usernameInput.text); Debug.Log(passwordInput.text); if (usernameInput.text==""|| usernameInput.text == "�������û���") { finish = false; usernameError.gameObject.SetActive(true); usernameInput.text = "�������û���"; usernameInput.textComponent.color = new Color32(255, 0, 0, 255); } if (passwordInput.text==""|| passwordInput.text=="����������") { finish = false; passwordError.gameObject.SetActive(true); passwordInput.contentType = InputField.ContentType.Standard; passwordInput.text = "����������"; passwordInput.textComponent.color = new Color32(255, 0, 0, 255); } return finish; } private void Login() { string username = usernameInput.text; string password = passwordInput.text; // �����Ƿ���ϻ���Ҫ�� JsonData data = new JsonData(); data["account"] = username; data["password"] = password; // ��¼���� HttpToolDP.Instance.Post("https://api-fat2.ghz-tech.com" + "/cmcc-endustry/v1/user/login", data.ToJson(), (msg) => { Debug.Log("DGJ ===> Login " + msg); JObject data = JObject.Parse(msg); if (data["code"].ToString() == "200") { // ��¼�ɹ� } else { // ���ݱ�������Ӧ��ʾ // �Ѿ���¼ } if(data["code"].ToString() == "4007") { // �˺Ż�������� if (loginUpError.gameObject.activeSelf) { loginUpError.times = 0; } else { loginUpError.gameObject.SetActive(true); } } }); } }