using DeviceCenter.model; using DeviceCenter.utils; using System; using System.Collections.Generic; using System.Windows; namespace DeviceCenter { /// /// Login.xaml 的交互逻辑 /// public partial class Login : Window { private Config config = Config.getInstance(); public Login() { InitializeComponent(); this.MouseDown += delegate { DragMove(); }; if (!string.IsNullOrEmpty(config.url)) { tb_server_url.Text = config.url; } if (!string.IsNullOrEmpty(config.url)) { tb_username.Text = config.username; } if (!string.IsNullOrEmpty(config.url)) { tb_passowrd.Password = config.password; } } private void btn_login_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(tb_server_url.Text)) { MessageBox.Show("请输入服务器地址"); return; } if (string.IsNullOrWhiteSpace(tb_username.Text)) { MessageBox.Show("请输入用户名"); return; } if (string.IsNullOrWhiteSpace(tb_passowrd.Password)) { MessageBox.Show("请输入密码"); return; } btns.Visibility = Visibility.Collapsed; loading.Visibility = Visibility.Visible; login(); } private void btn_quit_Click(object sender, RoutedEventArgs e) { Environment.Exit(0); } async void login() { config.username = tb_username.Text; config.password = tb_passowrd.Password; config.url = tb_server_url.Text; config.save(); http.post("auth/login", new Dictionary { ["username"] = tb_username.Text, ["password"] = tb_passowrd.Password }) .Then(token => { config.token = token; MainWindow mainWindow = new MainWindow(); mainWindow.Show(); Close(); }) .Catch(e => { btns.Visibility = Visibility.Visible; loading.Visibility = Visibility.Collapsed; MessageBox.Show(e.Message); }); } private void Window_Loaded(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(config.username) && !string.IsNullOrWhiteSpace(config.password)) { btn_login_Click(null, null); } } } }