using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Networking; using UnityEngine.SceneManagement; using static LoginAndGetToken; using System.Threading.Tasks; public class logoPanel : MonoBehaviour { public InputField userNameField; public InputField passwordField; public InputField verifyCodeField; public InputField mmField; public InputField qrmmField; public InputField yqmField; public Button pwdBtn; public Button yzmBtn; public Image regImg; public GameObject yzm; public GameObject mm; public GameObject qrmm; public GameObject yqm; public GameObject logBtn; public Button loginBtn; public GameObject regbtn; public Button rigistBtn; public Button rigBtn; public delegate void TokenReceivedDelegate(string token); public static event TokenReceivedDelegate OnTokenReceived; void Start() { yzmBtn.onClick.AddListener(OnClickYzmBtn); pwdBtn.onClick.AddListener(OnClickPwdBtn); rigistBtn.onClick.AddListener(OnClickRigistBtn); rigBtn.onClick.AddListener(() => StartCoroutine(OnClickRegBtn())); } public IEnumerator OnClickRegBtn() { loginbody body = new loginbody { userName = userNameField.text, password = passwordField.text, verifyCode = int.Parse(verifyCodeField.text) }; string jsonBody = JsonUtility.ToJson(body); using (UnityWebRequest webRequest = new UnityWebRequest("http://121.40.42.41:8080/snail/user/register", "POST")) { webRequest.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(jsonBody)); webRequest.uploadHandler.contentType = "application/json"; webRequest.downloadHandler = new DownloadHandlerBuffer(); yield return webRequest.SendWebRequest(); if (webRequest.result == UnityWebRequest.Result.Success) { string registerResponse = webRequest.downloadHandler.text; Debug.Log("Register Response: " + registerResponse); SceneManager.LoadScene(1); // 可以在此处解析注册响应并进行后续处理 } else { Debug.LogError("注册失败! " + webRequest.error); } } } public async void OnClickLoginBtnAsync() { loginbody body = new loginbody { userName = userNameField.text, password = passwordField.text, verifyCode = int.Parse(verifyCodeField.text) }; //loginbody body = new loginbody //{ // userName = "541236987", // password = "123456", // verifyCode = 111111 //}; string loginResponse = await web.SendRequest(web.URL+"/snail/user/login", "POST", JsonUtility.ToJson(body)); ServerResponse response = JsonUtility.FromJson(loginResponse); if (response != null && response.code == 200 && response.data != null) { Global.global.serverResponse = response; SceneManager.LoadScene(1); return; } Debug.Log(response.code); } private void OnClickRigistBtn() { yzm.gameObject.SetActive(true); mm.gameObject.SetActive(true); qrmm.gameObject.SetActive(true); yqm.gameObject.SetActive(true); logBtn.gameObject.SetActive(false); regbtn.gameObject.SetActive(true); regImg.gameObject.SetActive(true); pwdBtn.gameObject.SetActive(false); yzmBtn.gameObject.SetActive(false); } private void OnClickYzmBtn() { pwdBtn.transform.position -= new Vector3(0f, 26.4f, 0f); yzmBtn.transform.position += new Vector3(0f, 26.4f, 0f); yzm.gameObject.SetActive(true); mm.gameObject.SetActive(false); } private void OnClickPwdBtn() { pwdBtn.transform.position += new Vector3(0f, 26.4f, 0f); yzmBtn.transform.position -= new Vector3(0f, 26.4f, 0f); yzm.gameObject.SetActive(false); mm.gameObject.SetActive(true); } // 服务器返回的数据结构 [System.Serializable] public class ServerResponse { public int code; public string message; public Data data; } [System.Serializable] public class Data { public int userId; public string userName; public string token; public string nickName; public string headImg; public string gender; public string birthday; public int? voluteCoin; public int? beansCoin; public int? ichorCoin; public string idCard; public string inviteCodeMy; public string inviteCodeBind; public string bindTime; public string station; public string cuteNo; public string memberTime; public bool? isMember; } }