diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
index badfac9d..9a58c27a 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
@@ -2517,6 +2517,15 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 复制成功 的本地化字符串。
+ ///
+ internal static string ViewModelSettingCopyDeviceIdSuccess {
+ get {
+ return ResourceManager.GetString("ViewModelSettingCopyDeviceIdSuccess", resourceCulture);
+ }
+ }
+
///
/// 查找类似 设置数据目录成功,重启以应用更改 的本地化字符串。
///
@@ -4002,6 +4011,15 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 复制 的本地化字符串。
+ ///
+ internal static string ViewPageSettingCopyDeviceIdAction {
+ get {
+ return ResourceManager.GetString("ViewPageSettingCopyDeviceIdAction", resourceCulture);
+ }
+ }
+
///
/// 查找类似 执行 的本地化字符串。
///
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index 1f69167a..f306750c 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -936,6 +936,9 @@
清除完成
+
+ 复制成功
+
设置数据目录成功,重启以应用更改
@@ -1431,6 +1434,9 @@
打开 缓存 文件夹
+
+ 复制
+
执行
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
index aa61aad8..f4bb7569 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
@@ -92,6 +92,9 @@
Style="{StaticResource CaptionTextBlockStyle}"
Text="{Binding DeviceId}"/>
+
+
+
@@ -226,6 +228,11 @@ internal sealed class SettingViewModel : Abstraction.ViewModel
///
public ICommand ResetStaticResourceCommand { get; }
+ ///
+ /// 复制设备ID
+ ///
+ public ICommand CopyDeviceIdCommand { get; }
+
///
protected override Task OpenUIAsync()
{
@@ -321,4 +328,11 @@ internal sealed class SettingViewModel : Abstraction.ViewModel
StaticResource.UnfulfillAllContracts();
AppInstance.Restart(string.Empty);
}
+
+ private void CopyDeviceId()
+ {
+ IInfoBarService infoBarService = serviceProvider.GetRequiredService();
+ Clipboard.SetText(DeviceId);
+ infoBarService.Success(SH.ViewModelSettingCopyDeviceIdSuccess);
+ }
}
\ No newline at end of file