Update version to v1.3.1

Support Cache Token
Support Console Command
Update Http Client Timeout to 10s
This commit is contained in:
2022-05-16 22:59:31 +08:00
parent adb50c8b31
commit c6ade7e9ae
10 changed files with 5139 additions and 4633 deletions

View File

@ -34,6 +34,9 @@
<setting name="CheckedLastVersion" serializeAs="String"> <setting name="CheckedLastVersion" serializeAs="String">
<value /> <value />
</setting> </setting>
<setting name="TokenCache" serializeAs="String">
<value />
</setting>
</GrasscutterTools.Properties.Settings> </GrasscutterTools.Properties.Settings>
</userSettings> </userSettings>
</configuration> </configuration>

File diff suppressed because it is too large Load Diff

View File

@ -93,11 +93,10 @@ namespace GrasscutterTools
CmbLanguage.Items.AddRange(LanguageNames); CmbLanguage.Items.AddRange(LanguageNames);
CmbLanguage.SelectedIndex = Array.IndexOf(Languages, Settings.Default.DefaultLanguage); CmbLanguage.SelectedIndex = Array.IndexOf(Languages, Settings.Default.DefaultLanguage);
NUDRemotePlayerId.Value = Settings.Default.RemoteUid;
TxtHost.Text = Settings.Default.Host;
InitGiveItemRecord(); InitGiveItemRecord();
InitSpawnRecord(); InitSpawnRecord();
InitOpenCommand();
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -111,11 +110,10 @@ namespace GrasscutterTools
{ {
Settings.Default.AutoCopy = ChkAutoCopy.Checked; Settings.Default.AutoCopy = ChkAutoCopy.Checked;
Settings.Default.Uid = NUDUid.Value; Settings.Default.Uid = NUDUid.Value;
Settings.Default.RemoteUid = NUDRemotePlayerId.Value;
Settings.Default.Host = TxtHost.Text;
SaveCustomCommands(); SaveCustomCommands();
SaveGiveItemRecord(); SaveGiveItemRecord();
SaveSpawnRecord(); SaveSpawnRecord();
SaveOpenCommand();
Settings.Default.Save(); Settings.Default.Save();
} }
catch (Exception ex) catch (Exception ex)
@ -1018,6 +1016,29 @@ namespace GrasscutterTools
private OpenCommandAPI OC; private OpenCommandAPI OC;
private void InitOpenCommand()
{
NUDRemotePlayerId.Value = Settings.Default.RemoteUid;
TxtHost.Text = Settings.Default.Host;
if (!string.IsNullOrEmpty(Settings.Default.Host) && !string.IsNullOrEmpty(Settings.Default.TokenCache))
{
OC = new OpenCommandAPI(Settings.Default.Host, Settings.Default.TokenCache);
TxtToken.Text = Settings.Default.TokenCache;
Task.Run(async () =>
{
await Task.Delay(1000);
BeginInvoke(new Action(() => ShowTip("已从缓存中恢复Token", BtnInvokeOpenCommand)));
});
}
}
private void SaveOpenCommand()
{
Settings.Default.RemoteUid = NUDRemotePlayerId.Value;
Settings.Default.Host = TxtHost.Text;
Settings.Default.TokenCache = OC?.Token;
}
private async void BtnQueryServerStatus_Click(object sender, EventArgs e) private async void BtnQueryServerStatus_Click(object sender, EventArgs e)
{ {
var btn = sender as Button; var btn = sender as Button;
@ -1114,6 +1135,17 @@ namespace GrasscutterTools
} }
} }
private void BtnConsoleConnect_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(TxtToken.Text))
{
MessageBox.Show("Token不能为空", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
OC.Token = TxtToken.Text;
BtnConnectOpenCommand_Click(sender, e);
}
private void OnOpenCommandInvoke() private void OnOpenCommandInvoke()
{ {
BtnInvokeOpenCommand_Click(BtnInvokeOpenCommand, EventArgs.Empty); BtnInvokeOpenCommand_Click(BtnInvokeOpenCommand, EventArgs.Empty);
@ -1138,7 +1170,7 @@ namespace GrasscutterTools
try try
{ {
var msg = await OC.Invoke(cmd); var msg = await OC.Invoke(cmd);
ShowTip(msg, btn); ShowTip(string.IsNullOrEmpty(msg) ? "OK" : msg, btn);
} }
catch (Exception ex) catch (Exception ex)
{ {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -27,10 +27,12 @@ namespace GrasscutterTools.OpenCommand
{ {
public class OpenCommandAPI public class OpenCommandAPI
{ {
public OpenCommandAPI(string host) public OpenCommandAPI(string host, string token = "")
{ {
Host = host; Host = host;
API = host + "/opencommand/api"; API = host + "/opencommand/api";
Token = token;
CanInvoke = !string.IsNullOrEmpty(token);
} }
public string Host { get; } public string Host { get; }

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.3.0")] [assembly: AssemblyVersion("1.3.1")]
[assembly: AssemblyFileVersion("1.0.0")] [assembly: AssemblyFileVersion("1.0.0")]

View File

@ -118,5 +118,17 @@ namespace GrasscutterTools.Properties {
this["CheckedLastVersion"] = value; this["CheckedLastVersion"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string TokenCache {
get {
return ((string)(this["TokenCache"]));
}
set {
this["TokenCache"] = value;
}
}
} }
} }

View File

@ -26,5 +26,8 @@
<Setting Name="CheckedLastVersion" Type="System.String" Scope="User"> <Setting Name="CheckedLastVersion" Type="System.String" Scope="User">
<Value Profile="(Default)" /> <Value Profile="(Default)" />
</Setting> </Setting>
<Setting Name="TokenCache" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View File

@ -30,7 +30,7 @@ namespace GrasscutterTools.Utils
{ {
public static readonly HttpClient HttpClient = new HttpClient public static readonly HttpClient HttpClient = new HttpClient
{ {
Timeout = TimeSpan.FromSeconds(30), Timeout = TimeSpan.FromSeconds(10),
}; };
static HttpHelper() static HttpHelper()