using CsuWebApiLib; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace ApiTest { /// /// MainWindow.xaml 的互動邏輯 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); uxIp.Text = "192.168.100.1"; uxAccount.Text = "account"; uxPass.Text = "password"; #if DEBUG uxIp.Text = "192.168.80.129"; uxAccount.Text = "zerova"; uxPass.Text = "t6sji4j83"; #endif } private async void GetVersion_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.GetVersion(); //var result = await EvApi.GetTelcomModemFwRev(); uxResult.Text = result.Response; } private async void GetSystem_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvHttpClient.GetQueryActionOpt1String(); uxResult.Text = result.Msg; } private async void GetCharging_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvHttpClient.GetQueryActionOpt2String(); uxResult.Text = result.Msg; } private async void GetNetwrok_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvHttpClient.GetQueryActionOpt3String(); uxResult.Text = result.Msg; } private async void GetBackend_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvHttpClient.GetQueryActionOpt4String(); uxResult.Text = result.Msg; } private async void EnableAuth_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.SetAuthorisationMode(isAuthRequired: true); uxResult.Text = result.Response; } private async void DisableAuth_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.SetAuthorisationMode(isAuthRequired: false); uxResult.Text = result.Response; } private async void SetSystem_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var dlg = new SetConfigDlg() { Owner = this }; dlg.ShowDialog(); if (dlg.DialogResult != true) return; var result = await EvHttpClient.SetSystemAction(dlg.Key, dlg.Val); uxResult.Text = result.Msg; } private async void GetTelcom_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.GetTelcomSubSimStatus(); uxResult.Text = JsonConvert.SerializeObject(result.Result); } private async void UploadFirmware_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvHttpClient.GetUploadfirmwareResultString(new List() { //System.IO.Path.GetFullPath("fake.txt"), //System.IO.Path.GetFullPath("fake.txt") System.IO.Path.GetFullPath("DOWU362000D4OL_DO360_V2.10_0_CRC=C5CD06B4.gz"), //System.IO.Path.GetFullPath("CSU_V3.06_CRC=54D4A562.gz") }); //var result = await EvApi.SignalUpdateFirmware(); ; uxResult.Text = JsonConvert.SerializeObject(result); } private void TryUpdateConfig() { if (!string.IsNullOrEmpty(uxAccount.Text)) { EvHttpClient.Account = uxAccount.Text; } if (!string.IsNullOrEmpty(uxPass.Text)) { EvHttpClient.Pass = uxPass.Text; } EvHttpClient.ResetServerIpAddress(uxIp.Text); } private async void ReStart_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.Restart(); uxResult.Text = JsonConvert.SerializeObject(result.Result); } private async void BtnStatus_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.GetButtonStatus(); uxResult.Text = JsonConvert.SerializeObject(result.Result); } private async void SetWifiStation_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.SetWifiStationMode(uxP0.Text, uxP1.Text); uxResult.Text = JsonConvert.SerializeObject(result.Response); } private async void SetTelcom_Click(object sender, RoutedEventArgs e) { TryUpdateConfig(); var result = await EvApi.SetTelcomEnabled(true); uxResult.Text = JsonConvert.SerializeObject(result.Response); } } }