有道云笔记链接: 新建一个C#工程以及创建登陆界面.
新建一个C#工程以及创建登陆界面
一、创建一个C#工程
出现如图界面:
二、设计登陆窗体界面
1.把选择的控件拖入窗体中,参考如下:
2.修改控件显示的文字内容,以label3为例:
3.继续修改控件的text属性,从而变成下图:
4.窗体创建好了,接下来需要编写逻辑代码。这时,你需要注册一个新大陆物联网的用户账号:(已有,可跳过这一部分)。
三、编写登陆界面的逻辑代码
1.导入新大陆的两个引用包:
2.右键单击,添加引用:
3.上述两个引用从何而来?以下为解释!!!
3.1 Csharp-SDK-master由新大陆官网上下载:
3.2打开Csharp-SDK-master文件夹
4.参考官方给出的调用API 例子,此为登陆的例子。
整体思路:1. 实例化一个SDK
2.把文本框中获取到的内容 传给dto对象。
3.调用SDK.UserLogin()函数,验证是否该账号是否登陆成功。
4.若成功,会新大陆会给你返回一个访问令牌token
7.得到token之后,设置跳转到另一个界面
5.具体实现:
5.1首先创建一个Users类,代码也在图中。
5.2创建一个公共类Class1,用来放置公共变量。
5.3添加一个新的窗体,以便登陆成功后跳转。
6.编写“登陆”按钮的具体逻辑实现代码:
6.1.双击窗体上的“登陆”按钮,进入函数编写。
6.2根据官方思路,代码如下:
private void button1_Click(object sender, EventArgs e)
{
String account; //云平台登录帐号
String password; //云平台登录密码
/*1. 实例化一个SDK*/
Class1.SDK = new NLECloudAPI(Class1.API_HOST);
//2.获取用户输入的文本框中的账号密码
account = textBox1.Text.Trim();
password = textBox2.Text.Trim();
/*3. 把文本框中获取到的内容 再给dto对象*/
AccountLoginDTO dto = new AccountLoginDTO()
{
Account = account,
Password = password,
};
/*4. 再把该对象传入UserLogin函数中*/
dynamic qry = Class1.SDK.UserLogin(dto);
if (this.textBox1.Text != "") //账号不为空
{
if (this.textBox2.Text != "") //密码不为空
{
//5.验证是否登陆成功,调用API获得访问令牌
if (qry.IsSuccess())
{
Class1.Token = qry.ResultObj.AccessToken; //登陆成功,获得一个访问令牌
new menu().Show(); //7.登陆成功,跳转到另一个界面
this.Hide(); //关闭当前的登陆窗口
}
else
{
MessageBox.Show("账号或密码输入错误,请重新输入!!!!");
textBox1.Text = "";
textBox2.Text = "";
}
}
else
{
MessageBox.Show("密码为空,请输入密码!");
}
}
else
{
MessageBox.Show("账号为空,请输入账号!");
}
}
6.3运行程序,如下图:(密码赤裸裸的暴露不安全,解决办法就是把该textbox的PasswordChar属性设置成“ * ”或者别的字符)