//--------------------------------------------------------
|
// [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<string, string>();
|
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<SDKRegisterResult>(_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<string, string>();
|
tables["account"] = _account;
|
tables["password"] = _password;
|
|
}
|
|
private void SDKLoginCallBack(bool _ok, string _result)
|
{
|
if (_ok)
|
{
|
var result = JsonMapper.ToObject<SDKLoginResult>(_result);
|
if (result.errorcode == "1")
|
{
|
var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
|
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;
|
}
|
|
}
|
|
}
|
|
|
|
|