FlurlとのAPIフレーム。
公共の 非同期タスク<ApiRespone <QueryDocLoginModel >> QueryDocLogin(文字列 ysdm、文字列のPWD) { 試み { のThread.sleep(5000 ); VAR responseString = のawait(ConfigurationManager.AppSettings [ " ApiHost " ] + " / HisApi /トリアージ/ QueryDocLogin " ) .SetQueryParams(新しい {ysdm = ysdm、PWD = PWD}) .GetJsonAsync <ApiRespone <QueryDocLoginModel >> (); リターンresponseString; } キャッチ(例外e) { YinLong.Framework.Logs.Log4.Debug(" [QueryDocLogin异常]:" + e.ToString())。 リターン ヌル。 } }
ボタンイベント
プライベート 非同期 無効 ButtonLogin_OnClick(オブジェクト送信者、RoutedEventArgs e)の { アピスのAPI = 新しいアピス(); 文字列のアカウントは= TextBoxAccount.Textを。 文字列のパス= Password.Password。 ButtonLogin.Content = " 登录中" 。 ButtonLogin.IsEnabled = 偽; ApiRespone <QueryDocLoginModel>モデル= nullを。 await Task.Run(デリゲート { モデル = apis.QueryDocLogin(アカウント、パス).Result。 }); もし(!モデル= ヌル) { Configs.QueryDocLoginModel = モデル。 この .Dispatcher.Invoke(新しいアクション(デリゲート { 新しいメインウィンドウ()ショー(); // 显示主窗口、 クローズ(); })); } 他 { この .Dispatcher.Invoke(新しいアクション(デリゲート { ButtonLogin.Content = " ログイン" ; ButtonLogin.IsEnabled = trueに; })); MessageBox.Show(" ログインに失敗しました" ); } }