172 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C#
		
	
	
	
using LitJson;
 | 
						|
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using UnityEditor.VersionControl;
 | 
						|
using UnityEngine;
 | 
						|
using UnityEngine.Networking;
 | 
						|
using UnityEngine.UI;
 | 
						|
using XFrame.Core.UI;
 | 
						|
public class Login_panl : MonoBehaviour
 | 
						|
{
 | 
						|
    string url = "http://172.16.1.254:48888";//wed端的地址
 | 
						|
    [SerializeField]//外界的类拿不到信息
 | 
						|
    public UserInfo user = new UserInfo();
 | 
						|
 | 
						|
    public InputField username_input;//用户名输入
 | 
						|
    public InputField password_input;//密码输入
 | 
						|
    public Button login_btn;//登入按钮
 | 
						|
    public Text tips_txt;//提示文本
 | 
						|
    public GameObject main_panl;//激活主页面
 | 
						|
    public RectTransform login_panl;//失活主页面
 | 
						|
    public RectTransform Main_page;//背景界面失活
 | 
						|
 | 
						|
    void Start()
 | 
						|
    {
 | 
						|
        login_btn.onClick.AddListener(Login);
 | 
						|
        TZ();
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    private void TZ()
 | 
						|
    {
 | 
						|
        if (GameMain.tiao == true)
 | 
						|
        {
 | 
						|
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            login_panl.gameObject.SetActive(false);
 | 
						|
            main_panl.gameObject.SetActive(true);
 | 
						|
            Main_page.gameObject.SetActive(false);
 | 
						|
            GameMain.tiao = true;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private void Login()
 | 
						|
    {
 | 
						|
 | 
						|
        login_panl.gameObject.SetActive(false);
 | 
						|
        main_panl.gameObject.SetActive(true);
 | 
						|
        Main_page.gameObject.SetActive(false);
 | 
						|
 | 
						|
       
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        if (username_input.text.Length == 0 || password_input.text.Length == 0)
 | 
						|
        {
 | 
						|
            tips_txt.text = "请输入密码或者账号";
 | 
						|
            Invoke("Clearaway", 1.5f);
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            string account = username_input.text;
 | 
						|
            string password = password_input.text;
 | 
						|
            string url = this.url + "/Handler/User.ashx?action=login";
 | 
						|
            url += "&login_name=";
 | 
						|
            url += account;
 | 
						|
            url += "&password=";
 | 
						|
            url += password;
 | 
						|
            StartCoroutine(Post(url, (b, s) =>
 | 
						|
            {
 | 
						|
                if (b)
 | 
						|
                {
 | 
						|
                    Debug.Log(s);
 | 
						|
                    LoginRoot rot = new LoginRoot();
 | 
						|
                    rot = JsonMapper.ToObject<LoginRoot>(s);
 | 
						|
                    //JsonData jd = JsonMapper.ToObject(s);
 | 
						|
                    //string state = jd["state"].ToString();
 | 
						|
                    //string message = jd["message"].ToString();
 | 
						|
                    if (rot.state)
 | 
						|
                    {
 | 
						|
                        //string userdate = jd["data"].ToString();
 | 
						|
                        //UserInfo user = new UserInfo();
 | 
						|
                        user = rot.data;
 | 
						|
                        //user.user_id = jd["data"]["user_id"].ToString();
 | 
						|
                        //user.login_name = jd["data"]["login_name"].ToString();
 | 
						|
                        //user.real_name = jd["data"]["real_name"].ToString();
 | 
						|
 | 
						|
                        //user.role_code = jd["data"]["role_code"].ToString();
 | 
						|
                        //user.real_name = jd["data"]["real_name"].ToString() ;
 | 
						|
                        PlayerPrefs.SetString("user_id", user.user_id);
 | 
						|
                        login_panl.gameObject.SetActive(false);
 | 
						|
                        main_panl.gameObject.SetActive(true);
 | 
						|
                        Main_page.gameObject.SetActive(false);
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        tips_txt.text = "登陆失败:" + rot.message;
 | 
						|
                        Invoke("Clearaway", 1.5f);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }));
 | 
						|
        }
 | 
						|
    }
 | 
						|
    private void Clearaway()
 | 
						|
    {
 | 
						|
        tips_txt.text = null;
 | 
						|
    }
 | 
						|
 | 
						|
    public IEnumerator Post(string url, System.Action<bool, string> action)
 | 
						|
    {
 | 
						|
        WWWForm form = new WWWForm();
 | 
						|
        UnityWebRequest request = UnityWebRequest.Post(url, form);
 | 
						|
        yield return request.SendWebRequest();//发送HTTP等待请求响应
 | 
						|
        if ((request.isNetworkError) || (request.isHttpError))//旧版的检查网络是否发生错误
 | 
						|
        {
 | 
						|
            // Debug.LogError("登录失败!");
 | 
						|
            tips_txt.text = "登陆失败!";
 | 
						|
            action(false, null);
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            if (!string.IsNullOrEmpty(request.downloadHandler.text))//判断相应服务器信息不为空
 | 
						|
                action(true, request.downloadHandler.text);//request.downloadHandler.text服务器相应的信息
 | 
						|
            else
 | 
						|
                action(false, null);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
//public class LoginRoot
 | 
						|
//{
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public bool state { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public string message { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public UserInfo data { get; set; }
 | 
						|
//}
 | 
						|
//public class UserInfo
 | 
						|
//{
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public string user_id { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public string login_name { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 1#士兵
 | 
						|
//    /// </summary>
 | 
						|
//    public string real_name { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 
 | 
						|
//    /// </summary>
 | 
						|
//    public string role_code { get; set; }
 | 
						|
//    /// <summary>
 | 
						|
//    /// 士兵
 | 
						|
//    /// </summary>
 | 
						|
//    public string role_name { get; set; }
 | 
						|
 | 
						|
//} |