目标
利用Bmob现有的sdk实现简单的登陆和注册
实现
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using cn.bmob.io;//user引用自cn.bmob.io;
using cn.bmob.api;//bmobunity引用自cn.bmob.api
using cn.bmob.response;
public class UserControl :MonoBehaviour{
BmobUser user;
BmobUnity bmobUnity;
public Text userText;
public Text passwordText;
public Text Email;
public Text exceptionSignUpMessage;
public Text exceptionSignInMessage;
private string exceptionSignUp;
private string exceptionSignIn;
// Use this for initialization
void Start () {
user = new BmobUser();
bmobUnity = gameObject.GetComponent<BmobUnity>();
}
//注册
public void Signup()
{
user.username = userText.text;
user.password = passwordText.text;
//邮箱用于找回密码
user.email = Email.text;
//如使用了GameUser表的话,以下注册语句需要更改为:bmobUnity.Signup<MyBmobUser>(user,(resp, exception) =>
bmobUnity.Signup(user, (resp, exception) =>
{
if (exception != null)
{
print("注册失败, 失败原因为: " + exception.Message);
exceptionSignUpMessage.text = "用户名已存在或邮件地址错误!";
return;
}
print("注册成功");
ToSignInSence();
});
//登陆
}
public void SignIn()
{
bmobUnity.Login(userText.text, passwordText.text, (resp, exception) =>
{
if (exception != null)
{
print("登录失败, 失败原因为: " + exception.Message);
exceptionSignInMessage.text="用户名或密码错误!";
return;
}
print("登录成功, @" + resp.username + "$[" + resp.sessionToken + "]");
print("登录成功, 当前用户对象Session: " + BmobUser.CurrentUser.sessionToken);
ToGameSence();
});
}
public void OnClickSignUp()
{
Signup();
}
public void OnClickSignIn()
{
SignIn();
}
public void ToSignUpSence()
{
SceneManager.LoadScene(0);
}
public void ToSignInSence()
{
SceneManager.LoadScene(1);
}
public void ToGameSence()
{
SceneManager.LoadScene(2);
}
}
总结
第一次做登陆界面,Bmob提供了很多便捷的库,所以做起来不算难。实践起来才发现很多东西还是不太懂,只是懂的使用,细致一点的操作,都不会。