这个是登陆云平台的界面
public partial class MainWindow : Window
{
NLECloudAPI sdk = new NLECloudAPI ("http://api.nlecloud.com");//连接云平台
private static String mToken; //登录凭据,登录成功后保存该凭据,后续操作需要使用
public MainWindow ()
{
InitializeComponent ();
}
private void btn_login_Loaded (object sender, RoutedEventArgs e)
{
AccountLoginDTO dto = new AccountLoginDTO ();//用户登录DTO
dto.Account = userName.Text.Trim ();// txtName.Text.Trim();
dto.Password = password.Text.Trim ();// pasPwd.Password;
if (this.userName.Text.Trim () != "")
{
if (this.password.Text.Trim () != "")
{
ResultMsg<AccountLoginResultDTO> qry = sdk.UserLogin (dto);
if (qry.IsSuccess ())
{
mToken = qry.ResultObj.AccessToken;
Window1 win =new Window1(); //跳转界面
win.Show();
if (String.IsNullOrEmpty (mToken))
{
qry.SetFailure ("Token 为空");
}
MessageBox.Show (mToken);//显示获取的AccessToken
}
else
{
MessageBox.Show ("登录失败", "提示");
}
}
else
{
MessageBox.Show ("密码为空,请输入密码!");
}
}
else
{
MessageBox.Show ("账号为空,请输入账号!");
}
}
}
这个是获取数据的界面
public partial class Window1 : Window
{
NLECloudAPI sdk = new NLECloudAPI ("http://api.nlecloud.com");//连接云平台
private static String mToken; //登录凭据,登录成功后保存该凭据,后续操作需要使用
public Window1 ()
{
InitializeComponent ();
}
private void button_Click (object sender, RoutedEventArgs e)
{
{
ResultMsg<SensorBaseInfoDTO> get = sdk.GetSensorInfo (451189, "Temp", mToken);
sdk.Cmds (451189, "Temp", 1, mToken);
textBox.Text = get.ResultObj.Value.ToString ();
// textBox.Text = get.Status.ToString ();
// ResultMsg<SensorBaseInfoDTO> aa =sdk.GetSensorInfo (451189, "Temp", mToken);
// NLECloudAPI aaa =new NLECloudAPI("http://api.nlecloud.com/Devices/Status");
ResultMsg<IEnumerable<OnlineDataDTO>> aaaa = sdk.GetDevicesStatus ("451189", mToken);
OnlineDataDTO cc = aaaa.ResultObj.FirstOrDefault ();
//var cc = aaaa.ResultObj.FirstOrDefault ();
//OnlineDataDTO和var
if (cc.IsOnline)
{
MessageBox.Show ("在线");
}
else
{
MessageBox.Show ("不在线");
}
}
}
}
这个是获取数据报的错
应该如何改动,麻烦各位了
但是不跳转界面,把读取数据放在登录那边,就能读到数据,但是做了一个读取数据界面之后,他就会报错