123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743 |
- using LitJson;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using SC.XR.Unity;
- using Blue;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Text.RegularExpressions;
- using UnityEngine;
- using UnityEngine.UI;
- public class LoginPanel : BaseUI
- {
- private SCInputField m_Account;
- private Button m_EmptyAccountBtn;
- private Text m_AccountErrorStr;
- private Transform m_AccountError;
- private string m_AccountStr;
- private SCInputField m_Password;
- private Button m_EmptyPwdBtn;
-
- private bool m_Islock;
- private Text m_PwdErrorStr;
- private Transform m_PwdError;
- private string m_PasswordStr;
- private Button m_Logn;
- private Toggle m_RemenberPwd;
- private bool m_IsRemberPwd;
- private Button m_SNBtn;
- private Text m_SN;
- Toggle Choose21;
- Toggle Choose20;
- protected override void OnAwake()
- {
- base.OnAwake();
- Choose21 = CacheTransform.Find("Choose2.1").GetComponent<Toggle>();
- Choose21.onValueChanged.AddListener((bool b) => {
- UserInfo.Instance.is20 = !b;
- });
- Choose20 = CacheTransform.Find("Choose2.0").GetComponent<Toggle>();
- Choose20.onValueChanged.AddListener((bool b) => {
- UserInfo.Instance.is20 = b;
- });
- UserInfo.Instance.is20 = Choose20.isOn;
- m_Account = CacheTransform.Find("Account/SCInputField").GetComponent<SCInputField>();
- m_EmptyAccountBtn = CacheTransform.Find("Account/EmptyAccount").GetComponent<Button>();
- m_AccountErrorStr = CacheTransform.Find("Error/AccountError/Text").GetComponent<Text>();
- m_AccountError = CacheTransform.Find("Error/AccountError");
- m_Password = CacheTransform.Find("Password/SCInputField").GetComponent<SCInputField>();
- m_EmptyPwdBtn = CacheTransform.Find("Password/EmptyPassword").GetComponent<Button>();
-
-
- m_PwdErrorStr = CacheTransform.Find("Error/PasswordError/Text").GetComponent<Text>();
- m_PwdError = CacheTransform.Find("Error/PasswordError");
- m_Logn = CacheTransform.Find("LoginBtn").GetComponent<Button>();
- m_RemenberPwd = CacheTransform.Find("RememberPwd").GetComponent<Toggle>();
- m_RemenberPwd.isOn = false;
- m_IsRemberPwd = false;
-
- m_SN = CacheTransform.Find("SNAndVersion/SN/Text").GetComponent<Text>();
- AddUIListenEvent();
- }
-
-
-
- private void AddUIListenEvent()
- {
- m_Account.onEndEdit.AddListener(OnAccountEndEdit);
- m_EmptyAccountBtn.onClick.AddListener(OnclickEmptyAccount);
- m_Password.onEndEdit.AddListener(OnPasswordEndEdit);
- m_EmptyPwdBtn.onClick.AddListener(OnClickEmptyPwd);
-
-
- m_Logn.onClick.AddListener(OnClickLogin);
- m_RemenberPwd.onValueChanged.AddListener(OnRemPwdValueChange);
-
-
- }
- #region UI监听事件
-
-
-
-
- private void OnAccountEndEdit(string str)
- {
- m_AccountStr = "";
- if (string.IsNullOrWhiteSpace(str))
- {
- m_AccountError.gameObject.SetActive(true);
- m_AccountErrorStr.text = "请输入邮箱账号";
- }
- else
- {
-
-
- string pattern = @"^([\w-\.]+)@([\w-\.]+)(\.[a-zA-Z0-9]+)$";
- if (Regex.IsMatch(str, pattern))
- {
- m_AccountStr = str;
- m_AccountErrorStr.text = "";
- m_AccountError.gameObject.SetActive(false);
- }
- else
- {
- m_AccountError.gameObject.SetActive(true);
- m_AccountErrorStr.text = "账号不合法";
- }
- }
- if (!string.IsNullOrWhiteSpace(m_AccountStr) && !string.IsNullOrWhiteSpace(m_PasswordStr))
- {
- m_Logn.interactable = true;
- }
- }
-
-
-
- private void OnclickEmptyAccount()
- {
- m_AccountErrorStr.text = "账号不能为空";
- m_AccountError.gameObject.SetActive(true);
- m_AccountStr = "";
- m_Account.text = "";
- m_Logn.interactable = false;
- }
-
-
-
-
- private void OnPasswordEndEdit(string str)
- {
- m_PasswordStr = "";
- if (string.IsNullOrWhiteSpace(str))
- {
- m_PwdError.gameObject.SetActive(true);
- m_PwdErrorStr.text = "请输入密码";
- }
- else
- {
- Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");
- if (RegCHZN.IsMatch(str))
- {
- m_PwdError.gameObject.SetActive(true);
- m_PwdErrorStr.text = "密码不合法";
- return;
- }
-
-
-
-
-
-
-
-
-
-
-
-
- string pattern5 = @"^.{8,32}$";
- if (!Regex.IsMatch(str, pattern5))
- {
- m_PwdError.gameObject.SetActive(true);
- m_PwdErrorStr.text = "密码小于8位数或大于32位";
- return;
- }
- m_PasswordStr = str;
- m_PwdErrorStr.text = "";
- m_PwdError.gameObject.SetActive(false);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
- if (!string.IsNullOrWhiteSpace(m_AccountStr) && !string.IsNullOrWhiteSpace(m_PasswordStr))
- {
- m_Logn.interactable = true;
- }
- }
-
-
-
- private void OnClickEmptyPwd()
- {
- m_PwdErrorStr.text = "密码不能为空";
- m_PwdError.gameObject.SetActive(true);
- m_PasswordStr = "";
- m_Password.text = "";
- m_Logn.interactable = false;
- }
-
-
-
- private void OnclickLockPwd()
- {
- if (m_Islock)
- {
- m_Password.contentType = SCInputField.ContentType.Password;
- }
- else
- {
- m_Password.contentType = SCInputField.ContentType.Standard;
- }
- m_Islock = !m_Islock;
- }
-
-
-
- private void OnClickLogin()
- {
- #if UNITY_EDITOR
- m_AccountStr = "jiajun.hu@ghz-tech.com";
- m_AccountStr = "Blue@163.com";
- m_AccountStr = "1768147286@qq.com";
- m_PasswordStr = "123456Aa";
- #endif
- if (string.IsNullOrWhiteSpace(m_AccountStr))
- {
-
-
- m_AccountErrorStr.text = "账号不能为空";
- return;
- }
- if (string.IsNullOrWhiteSpace(m_PasswordStr))
- {
-
- m_PwdErrorStr.text = "密码不能为空";
- return;
- }
- if (m_IsRemberPwd)
- {
- PlayerPrefs.SetString("Account", m_AccountStr);
- PlayerPrefs.SetString("Password", m_PasswordStr);
- PlayerPrefs.SetString("IsremPwd", "1");
- }
- else
- {
- PlayerPrefs.SetString("Account", "");
- PlayerPrefs.SetString("Password", "");
- PlayerPrefs.SetString("IsremPwd", "0");
- }
-
- Debug.Log("向服务器发送账号和密码进行登录");
- SendLogin sendLogin = new SendLogin();
- sendLogin.email = m_AccountStr;
- sendLogin.password = m_PasswordStr;
- sendLogin.remember = m_IsRemberPwd;
- string jsonLogin = JsonMapper.ToJson(sendLogin);
- Debug.Log(jsonLogin);
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.login);
- HttpTool.Instance.PostLogin("/user/login", jsonLogin, LoginCallBack);
-
-
-
-
-
-
-
-
- }
-
-
-
-
- public void LoginCallBack2(string mes)
- {
-
- JObject obj = JObject.Parse(mes);
- if (obj["code"].ToString() != "200")
- {
- m_Logn.interactable = true;
- m_AccountError.gameObject.SetActive(true);
- m_AccountErrorStr.text = obj["message"].ToString();
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
- UserManager.Instance.loginBack(false);
- return;
- }
- else
- {
- UserInfo.Instance.Token = obj["data"]["token"].ToString();
-
-
- COSDownLoad.Instance.Credential();
- StartCoroutine(LoginCallBack2YS(3f));
-
- }
- }
-
-
-
-
- public void LoginCallBack(string mes)
- {
-
- JObject obj = JObject.Parse(mes);
- if (obj["code"].ToString() != "200")
- {
- m_Logn.interactable = true;
- m_AccountError.gameObject.SetActive(true);
- m_AccountErrorStr.text = obj["message"].ToString();
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
- return;
- }
- else
- {
- UserInfo.Instance.Token = obj["data"]["token"].ToString();
- COSDownLoad.Instance.Credential();
- HttpTool.Instance.Get("/user/getUserInfo", GetUserInfoCallBack);
-
- }
- }
- public void GetUserInfoCallBack(string msg)
- {
- JObject jobect = JObject.Parse(msg);
- Debug.Log(jobect["code"].ToString());
- if(int.Parse( jobect["code"].ToString()) == 200)
- {
-
- if (int.Parse(jobect["data"]["type"].ToString()) == 0)
- {
- Debug.Log("GetUserInfoCallBack 登录为2.0");
- UserInfo.Instance.is20 = true;
- Debug.Log(jobect["data"]["type"].ToString());
- StartCoroutine( LoginCallBack2YS(2));
- }
- else if (int.Parse(jobect["data"]["type"].ToString()) == 1)
- {
- Debug.Log("GetUserInfoCallBack 登录为2.1");
- UserInfo.Instance.is20 = false;
- Debug.Log(jobect["data"]["type"].ToString());
- StartCoroutine( LoginCallBackYS(2));
- }
- else
- return;
- }
- }
- private IEnumerator LoginCallBack2YS( float times)
- {
- yield return new WaitForSeconds(times);
- UserManager.Instance.loginBack(true);
- GameManager.Instance.arcamre.SetActive(true);
- GameManager.Instance.immser.SetActive(false);
- }
- private IEnumerator LoginCallBackYS(float times)
- {
- yield return new WaitForSeconds(times);
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.getMaterialValue);
- StartCoroutine(GetAllMaterials(UserInfo.Instance.Token));
- GameManager.Instance.arcamre.SetActive(false);
- GameManager.Instance.immser.SetActive(true);
- }
-
-
-
-
- private void GetAllSceneDataCallBack(string message)
- {
- Debug.Log("账号下的场景返回数据: " + message);
- if (!string.IsNullOrWhiteSpace(message))
- {
- JObject jobject = JObject.Parse(message);
- if (jobject["code"].ToString() == "200")
- {
- message = jobject["data"]["list"].ToString();
- if (!string.IsNullOrWhiteSpace(message))
- {
- List<SceneValue> listScenesPage = JsonConvert.DeserializeObject<List<SceneValue>>(message);
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.sninfo);
- StartCoroutine(WaitSnInfo(listScenesPage));
- return;
- }
- }
- else
- {
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
- m_Logn.interactable = true;
- m_AccountError.gameObject.SetActive(true);
- m_AccountErrorStr.text = "账号下的场景数据获取失败";
- }
- }
- Debug.LogError("获取场景列表失败");
- }
-
-
-
-
-
- IEnumerator WaitSnInfo(List<SceneValue> scenes)
- {
- List<SceneValue> sucessvalues = new List<SceneValue>();
- List<SceneValue> failevalues = new List<SceneValue>();
- for (int i = 0; i < scenes.Count; i++)
- {
- SendSnInfo sendNet = new SendSnInfo();
- sendNet.sn = SendSN.GetSN();
-
-
- sendNet.projectId = scenes[i].id;
- string jsonData = JsonMapper.ToJson(sendNet);
- yield return StartCoroutine(HttpTool.Instance.SendHttp("/client/snInfo", jsonData, (message) =>
- {
- JObject jobject = JObject.Parse(message);
- if (jobject["code"].ToString() == "200")
- {
- sucessvalues.Add(scenes[i]);
- }
- else
- {
- failevalues.Add(scenes[i]);
- }
- }));
- }
- string str = string.Format("{0}个场景绑定成功,{1}个场景绑定失败", sucessvalues.Count, failevalues.Count);
- Debug.Log(str);
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.sninfoEnd);
- ((LoadingPanel)UIManager.Instance.GetUI(UINameConfig.LoadingPanel)).TextStr = str;
- yield return new WaitForSeconds(1f);
- UIManager.Instance.ShowUI(UINameConfig.SceneChoose, typeof(SceneChoose), sucessvalues);
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
- Hide();
- }
- List<DownLoadMaterial> listMaterail = new List<DownLoadMaterial>();
-
-
-
-
-
- IEnumerator GetAllMaterials(string mes)
- {
- yield return new WaitForSeconds(3);
- HttpTool.Instance.GetAllMaterials("/material/init", mes, (message) =>
- {
-
-
- if (!string.IsNullOrWhiteSpace(message))
- {
- JObject jObject = JObject.Parse(message);
- if (jObject["code"].ToString() == "200")
- {
-
- string data = jObject["data"].ToString();
- JObject dataObject = JObject.Parse(data);
- string single = dataObject["single"].ToString();
- string library = dataObject["library"].ToString();
- string combination = dataObject["combination"].ToString();
- List<MaterialObl> singleMaterials = new List<MaterialObl>();
- List<MaterialObl> libraryMaterials = new List<MaterialObl>();
- List<MaterialObl> combinationMaterials = new List<MaterialObl>();
- if (!string.IsNullOrWhiteSpace(single))
- {
- singleMaterials = JsonConvert.DeserializeObject<List<MaterialObl>>(single);
- DataManager.Instance.AllMaterials.Add("single", singleMaterials);
- }
- if (!string.IsNullOrWhiteSpace(library))
- {
- libraryMaterials = JsonConvert.DeserializeObject<List<MaterialObl>>(library);
- DataManager.Instance.AllMaterials.Add("library", libraryMaterials);
- }
- if (!string.IsNullOrWhiteSpace(combination))
- {
- combinationMaterials = JsonConvert.DeserializeObject<List<MaterialObl>>(combination);
- DataManager.Instance.AllMaterials.Add("combination", combinationMaterials);
- }
-
-
-
- CalMatCOS(singleMaterials);
- CalMatCOS(libraryMaterials);
- CalMatCOS(combinationMaterials);
- DownloadResManager.Instance.DownLoad(listMaterail);
- }
- }
- UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.getAllScene);
-
- HttpTool.Instance.Get("/project/index", GetAllSceneDataCallBack);
- });
- yield return null;
- }
- private void CalMat(List<MaterialObl> mats)
- {
- for (int i = 0; i < mats.Count; i++)
- {
- var mat = mats[i];
- if (!string.IsNullOrWhiteSpace(mat.icon))
- {
- DownloadData data1 = new DownloadData();
- string filename = Path.GetFileName(mat.icon);
- data1.name = filename;
- data1.type = 1;
- data1.downloadPath = mat.icon;
- data1.updateTime = mat.updateTime;
- data1.localSavePath = DownloadManager.Instance.LocaDataPath + "/Icon/" + filename;
- DownloadManager.Instance.AddDownloadData(data1);
- }
- if (mat.materialList != null)
- {
- for (int m = 0; m < mat.materialList.Count; m++)
- {
- var matObj = mat.materialList[m];
- if (int.Parse(matObj.type) != 4)
- {
- DownloadData data = new DownloadData(matObj);
- DownloadManager.Instance.AddDownloadData(data);
- }
- }
- }
- }
- }
- private void CalMatCOS(List<MaterialObl> mats)
- {
-
- for (int i = 0; i < mats.Count; i++)
- {
- var mat = mats[i];
- if (!string.IsNullOrWhiteSpace(mat.icon))
- {
- DownLoadMaterial data1 = new DownLoadMaterial();
- string filename = Path.GetFileName(mat.icon);
- data1.downLoadPath = mat.icon;
- data1.updataTime = mat.updateTime;
- data1.localLoadPath = Application.persistentDataPath + "/Materail/" + filename;
- listMaterail.Add(data1);
- }
- if (mat.materialList != null)
- {
- for (int m = 0; m < mat.materialList.Count; m++)
- {
- var matObj = mat.materialList[m];
- if (int.Parse(matObj.type) != 4)
- {
- DownLoadMaterial data1 = new DownLoadMaterial();
- string filename = Path.GetFileName(matObj.DownloadPath);
- data1.downLoadPath = matObj.DownloadPath;
- data1.updataTime = mat.updateTime;
- data1.localLoadPath = Application.persistentDataPath + "/Materail/" + filename;
- listMaterail.Add(data1);
- }
- }
- }
- }
-
- }
-
-
-
-
- private void OnRemPwdValueChange(bool b)
- {
- m_IsRemberPwd = b;
- }
-
-
-
- private void OnClickSnBtn()
- {
- string sn = SendSN.GetSN();
-
- }
- #endregion
- protected override void OnInit()
- {
- base.OnInit();
- }
- protected override void OnShow(object param)
- {
- base.OnShow(param);
- gameObject.transform.localScale = new Vector3(1, 1, 1);
- m_Logn.interactable = false;
- m_AccountStr = PlayerPrefs.GetString("Account", "");
- m_PasswordStr = PlayerPrefs.GetString("Password", "");
- int n = int.Parse(PlayerPrefs.GetString("IsremPwd", "0"));
- m_RemenberPwd.isOn = n > 0 ? true : false;
- m_IsRemberPwd = n > 0 ? true : false;
-
-
-
-
-
-
- m_RemenberPwd.isOn = m_IsRemberPwd;
- #if UNITY_EDITOR
-
-
- #endif
- m_AccountStr = "1768147286@qq.com";
-
- m_PasswordStr = "123456Aa";
- if (!string.IsNullOrWhiteSpace(m_AccountStr) && !string.IsNullOrWhiteSpace(m_PasswordStr))
- {
- m_Account.text = m_AccountStr;
- m_Password.text = m_PasswordStr;
- m_Logn.interactable = true;
- }
- else
- {
- m_Account.text = "";
- m_Password.text = "";
- m_AccountStr = "";
- m_PasswordStr = "";
- m_Logn.interactable = false;
- }
- }
- private void Update()
- {
- if (API_GSXR_Slam.GSXR_Is_SlamInitialized())
- {
- m_SN.text = SendSN.GetSN();
-
- }
- }
- protected override void OnHide()
- {
- base.OnHide();
- }
- protected override void OnDestroy()
- {
- base.OnDestroy();
- }
- }
- public class SendInit
- {
- public string sn { get; set; }
- public int projectId { get; set; }
- }
- public class SendLogin
- {
- public string email { get; set; }
- public string password { get; set; }
- public bool remember { get; set; }
- }
- public class SendMaterials
- {
- public string url { get; set; }
- }
- public class SendSceneDetail
- {
- public int id { get; set; }
- }
|