使用unity 5.3版本以上 自带Json解析器与后台进行登录验证。
using UnityEngine;
using System.Collections;
public class UserInfo
{
//用户信息 由账号 密码 验证码 组成
public string userAccount;
public string userPassword;
public string secureCode;
public string backInfo;//这个变量用来保存服务器返回的消息
}
public class GobleController : MonoBehaviour {
//后端提供的POST请求地址
string postUrl="www.baidu.com....";
// Use this for initialization
void Start () {
}
//点击登录按钮的方法
public void LogInClick()
{
//将账号密码信息 填入表单
WWWForm userInfoForm = new WWWForm ();
userInfoForm.AddField ("userAccount", "MaYun001");
userInfoForm.AddField ("userPassword", "8888888");
//启用协同程序进行登录
StartCoroutine (SendPost (postUrl,userInfoForm ));
}
// Update is called once per frame
void Update () {
}
/// <summary>
/// 这个发送POST请求的方法
/// 参数1:后台给的URL接口
/// 参数2:发送的表单数据
/// </summary>
/// <returns>The register.</returns>
/// <param name="url">URL.</param>
/// <param name="_form">Form.</param>
public IEnumerator SendPost(string url,WWWForm _wform)
{
//将参数用一个WWW对象保存起来
WWW postData = new WWW (url, _wform);
//向后台发送数据,并等待后台返回的数据。
yield return postData;
//和后台协商好,返回的消息也是在发回的消息是UserInfo类型 并将返回消息保存在backInfo上
//将后台返回的数据JSON格式进行解析 解析成UuserInfo对象
UserInfo myUserInfo = JsonUtility.FromJson<UserInfo >(postData.text );
// 对返回结果进行判断
if (postData.error != null) {
Debug.Log ("返回的数据错误不为空!说明返回的消息有错");
}
else
{
//将返回消息的文本打印出来
Debug.Log (postData.text );
if (myUserInfo.backInfo == "登录成功")
{
Debug.Log ("登录成功");
}
else if (myUserInfo.backInfo =="登录失败")
{
Debug.Log ("登录失败");
}
}
}
}