feat(关于面板): 添加反馈问题按钮及功能
在关于面板中添加反馈问题按钮,点击后收集系统信息并跳转到GitHub问题提交页面 Signed-off-by: doudou0720 <98651603+doudou0720@users.noreply.github.com>
This commit is contained in:
@@ -178,6 +178,41 @@
|
|||||||
</Image>
|
</Image>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Border Height="1" Background="#ebebeb"/>
|
||||||
|
<Grid Height="54">
|
||||||
|
<TextBlock Foreground="#2e3436" FontSize="14.5" Text="反馈问题" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="18,0,0,0"/>
|
||||||
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,18,0">
|
||||||
|
<Button Name="BtnReportIssue" Content="提交反馈" Padding="12,6" Click="BtnReportIssue_Click" Cursor="Hand">
|
||||||
|
<Button.Style>
|
||||||
|
<Style TargetType="Button">
|
||||||
|
<Setter Property="Background" Value="#FF1d4ed8"/>
|
||||||
|
<Setter Property="Foreground" Value="White"/>
|
||||||
|
<Setter Property="BorderThickness" Value="0"/>
|
||||||
|
<Setter Property="FontSize" Value="13"/>
|
||||||
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="Button">
|
||||||
|
<Border Background="{TemplateBinding Background}"
|
||||||
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
|
CornerRadius="4"
|
||||||
|
Padding="{TemplateBinding Padding}">
|
||||||
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||||
|
</Border>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
<Style.Triggers>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter Property="Background" Value="#FF1e40af"/>
|
||||||
|
</Trigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</Button.Style>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<StackPanel Orientation="Vertical" Margin="0,16,0,0">
|
<StackPanel Orientation="Vertical" Margin="0,16,0,0">
|
||||||
|
|||||||
@@ -460,6 +460,103 @@ namespace Ink_Canvas.Windows.SettingsViews
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void BtnReportIssue_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string version = "";
|
||||||
|
string updateChannel = "";
|
||||||
|
string osInfo = "";
|
||||||
|
string netVersion = "";
|
||||||
|
string touchSupport = "";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
|
version = $"v{assemblyVersion}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
version = "未知";
|
||||||
|
System.Diagnostics.Debug.WriteLine($"获取软件版本失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (MainWindow.Settings?.Startup != null)
|
||||||
|
{
|
||||||
|
updateChannel = MainWindow.Settings.Startup.UpdateChannel.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
updateChannel = "未知";
|
||||||
|
System.Diagnostics.Debug.WriteLine($"获取更新通道失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
osInfo = $"{OSVersion.GetOperatingSystem()} {OSVersion.GetOSVersion().Version}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
osInfo = "未知";
|
||||||
|
System.Diagnostics.Debug.WriteLine($"获取系统版本失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
netVersion = RuntimeInformation.FrameworkDescription;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
netVersion = "未知";
|
||||||
|
System.Diagnostics.Debug.WriteLine($"获取.NET版本失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var support = TouchTabletDetectHelper.IsTouchEnabled();
|
||||||
|
var touchcount = TouchTabletDetectHelper.GetTouchTabletDevices().Count;
|
||||||
|
if (support)
|
||||||
|
{
|
||||||
|
if (touchcount > 0)
|
||||||
|
{
|
||||||
|
touchSupport = $"支持({touchcount}个设备)";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
touchSupport = "支持";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
touchSupport = "不支持";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
touchSupport = "未知";
|
||||||
|
System.Diagnostics.Debug.WriteLine($"获取触控支持失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
|
||||||
|
string versionInfo = $"{version} ({updateChannel})";
|
||||||
|
string systemInfo = $"{osInfo} | {netVersion} | 触控:{touchSupport}";
|
||||||
|
|
||||||
|
string url = $"https://github.com/InkCanvasForClass/community/issues/new?template=01-bug_report.yml&version={Uri.EscapeDataString(versionInfo)}&os={Uri.EscapeDataString(systemInfo)}";
|
||||||
|
|
||||||
|
Process.Start(new ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = url,
|
||||||
|
UseShellExecute = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
System.Diagnostics.Debug.WriteLine($"打开反馈链接失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 应用主题
|
/// 应用主题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user