//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, March 15, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using LitJson; using System.Text.RegularExpressions; namespace vnxbqy.UI { public class BanShuLoginWin : LoginWin { static string banshuAccount { get { return LocalSave.GetString("BanShuAccount"); } set { LocalSave.SetString("BanShuAccount", value); } } static string banshuPassword { get { return LocalSave.GetString("BanShuPassword"); } set { LocalSave.SetString("BanShuPassword", value); } } [SerializeField] InputField m_Password; protected override void OnAfterOpen() { base.OnAfterOpen(); m_Account.text = banshuAccount; m_Password.text = banshuPassword; } protected override void OnAfterClose() { base.OnAfterClose(); } protected override void OnPreClose() { base.OnPreClose(); } protected override void EnterGame() { AccountRegister(); } private void AccountRegister() { var tables = new Dictionary(); tables["account"] = m_Account.text; tables["password"] = m_Password.text; if (string.IsNullOrEmpty(m_Account.text) || m_Account.text.Length < 6 || !IsNumberOrAlphabet(m_Account.text)) { ServerTipDetails.DisplayNormalTip(Language.Get("Account_Z")); return; } if (string.IsNullOrEmpty(m_Password.text) || m_Password.text.Length < 6 || !IsNumberOrAlphabet(m_Password.text)) { ServerTipDetails.DisplayNormalTip(Language.Get("Password_Z")); return; } } private void AccountRegisterCallBack(bool _ok, string _result) { if (_ok) { var result = JsonMapper.ToObject(_result); if (result.errorcode == "1") { SDKLogin(result.account, result.password); banshuAccount = result.account; banshuPassword = result.password; m_Account.text = banshuAccount; m_Password.text = banshuPassword; } else if (result.errordesc == "用户名已经存在") { banshuAccount = m_Account.text; banshuPassword = m_Password.text; SDKLogin(banshuAccount, banshuPassword); } else { ServerTipDetails.DisplayNormalTip(result.errordesc); } } else { ServerTipDetails.DisplayNormalTip(Language.Get("RegistrationFailed_Z")); } } private void SDKLogin(string _account, string _password) { var tables = new Dictionary(); tables["account"] = _account; tables["password"] = _password; } private void SDKLoginCallBack(bool _ok, string _result) { if (_ok) { var result = JsonMapper.ToObject(_result); if (result.errorcode == "1") { var loginModel = ModelCenter.Instance.GetModel(); loginModel.sdkLoginResult = new ynmbxxjUtil.FP_LoginOk() { account = result.account, token = result.token, phone = int.Parse(result.phone), accountID = int.Parse(result.account_id), tokenExpire = result.token_expire, }; loginModel.sdkLogined = true; Login(); } else { ServerTipDetails.DisplayNormalTip(result.errordesc); } } else { ServerTipDetails.DisplayNormalTip(Language.Get("LoginFailed_Z")); } } bool IsNumberOrAlphabet(string _input) { var pattern = "^[0-9a-zA-Z]+$"; var match = Regex.IsMatch(_input, pattern); return match; } struct SDKRegisterResult { public string errorcode; public string errordesc; public string account; public string password; } struct SDKLoginResult { public string errorcode; public string errordesc; public string token; public string account; public string token_expire; public string phone; public string account_id; } } }