123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- using LitJson;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.NetworkInformation;
- using System.Text;
- using System.Threading.Tasks;
- using UnityEngine.Networking;
- using UnityEngine.UI;
- using UnityEngine;
- namespace Assets
- {
- public class LoginRequest : MonoBehaviour
- {
- public static LoginRequest Instance
- {
- get;private set;
- }
-
-
-
- public bool isVerify = true;
- private void Awake()
- {
- Instance=this;
- }
- public async void MacLoginRequest()
- {
- await UIManager.Instance.ShowUI(WindowID.DlgMacLoading);
- StartCoroutine(MacLogin());
- }
- public void TokenLoginRequest(string account)
- {
- StartCoroutine(Login(account));
- }
-
-
-
-
- IEnumerator MacLogin()
- {
- string url = "http://api.starmelody.art/api/Account/MacLogin";
- Userdata userInfo = new Userdata();
- userInfo.account = "";
- userInfo.mac = GetMacAddress();
- string json = JsonMapper.ToJson(userInfo);
- byte[] postBytes = System.Text.Encoding.Default.GetBytes(json);
- UnityWebRequest request = UnityWebRequest.Post(url, UnityWebRequest.kHttpVerbPOST);
- request.uploadHandler = new UploadHandlerRaw(postBytes);
- request.SetRequestHeader("Content-Type", "application/json");
- yield return request.SendWebRequest();
- if (request.result == UnityWebRequest.Result.Success)
- {
- Debug.Log(request.downloadHandler.text);
- JsonData data = JsonMapper.ToObject(request.downloadHandler.text);
- int code = (int)data["code"];
- if (code == 0)
- {
- StepManager.timeStamp = (long)data["data"];
- isVerify = false;
- }
- else
- {
- isVerify = true;
- }
- yield return UIManager.Instance.ShowUI(WindowID.DlgLogin);
- }
- else
- {
- Debug.Log("Mac验证请求失败" + request.error);
- StepManager.requestCode = 1007;
- yield return UIManager.Instance.ShowUI(WindowID.DlgMacLoginFaild);
- }
- UIManager.Instance.HideUI(WindowID.DlgMacLoading);
- }
-
-
-
-
-
- IEnumerator Login(string account)
- {
- string url = "http://api.starmelody.art/api/Account/Login";
- Userdata userInfo = new Userdata();
- userInfo.account = account;
- userInfo.mac = GetMacAddress();
- string json = JsonMapper.ToJson(userInfo);
- byte[] postBytes = System.Text.Encoding.Default.GetBytes(json);
- UnityWebRequest request = UnityWebRequest.Post(url, UnityWebRequest.kHttpVerbPOST);
- request.uploadHandler = new UploadHandlerRaw(postBytes);
- request.SetRequestHeader("Content-Type", "application/json");
- yield return request.SendWebRequest();
- if (request.result == UnityWebRequest.Result.Success)
- {
- Debug.Log(request.downloadHandler.text);
- JsonData data = JsonMapper.ToObject(request.downloadHandler.text);
- int code = (int)data["code"];
- if (code == 0)
- {
- StepManager.timeStamp = (long)data["data"];
- UIManager.Instance.HideUI(WindowID.DlgLogin);
- yield return UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
- }
- else
- {
- StepManager.requestCode = code;
- yield return UIManager.Instance.ShowUI(WindowID.DlgLoginFaild);
- }
- }
- else
- {
- Debug.Log("Mac+Token验证请求失败" + request.error);
-
- StepManager.requestCode = 1008;
- yield return UIManager.Instance.ShowUI(WindowID.DlgLoginFaild);
- }
- }
-
-
-
-
- private string GetMacAddress()
- {
- #if UNITY_ANDROID
- return SystemInfo.deviceUniqueIdentifier;
- #else
- string physicalAddress = "";
- NetworkInterface[] nice = NetworkInterface.GetAllNetworkInterfaces();
- foreach (NetworkInterface adaper in nice)
- {
- if (adaper.Description == "en0")
- {
- physicalAddress = adaper.GetPhysicalAddress().ToString();
- break;
- }
- else
- {
- physicalAddress = adaper.GetPhysicalAddress().ToString();
- if (physicalAddress != "")
- {
- break;
- };
- }
- }
- Debug.Log("Mac地址:" + physicalAddress);
- return physicalAddress;
-
- #endif
- }
- }
- }
|