From 095bb741f29694aba92ddfa13743c992efffb39e Mon Sep 17 00:00:00 2001 From: muqing <1966944300@qq.com> Date: Wed, 7 Aug 2024 10:31:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E5=86=99=E5=88=B0=E8=BF=99=E9=87=8C?= =?UTF-8?q?=E5=90=A7=EF=BC=8C=E6=9B=B4=E6=96=B0=E4=BA=86=E6=A8=A1=E7=BB=84?= =?UTF-8?q?=E7=A2=8E=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RustTools/App.xaml.cs | 3 + RustTools/Assets/WindowIcon.ico | Bin 270398 -> 211467 bytes .../{ViewModels => DataList}/MovingInfo.cs | 7 +- RustTools/RustTools.csproj | 23 +- RustTools/Services/PageService.cs | 1 + RustTools/ViewModels/ModuleViewModel.cs | 18 ++ RustTools/ViewModels/RankingViewModel.cs | 12 +- RustTools/Views/HomePage.xaml.cs | 6 +- RustTools/Views/ModulePage.xaml | 89 ++++++++ RustTools/Views/ModulePage.xaml.cs | 212 ++++++++++++++++++ RustTools/Views/RankingPage.xaml | 20 +- RustTools/Views/RankingPage.xaml.cs | 11 + RustTools/Views/ShellPage.xaml | 9 +- RustTools/WindowUI/ImportModule.xaml.cs | 13 +- .../{ModulePage.xaml => ModuleInfoWin.xaml} | 3 +- ...dulePage.xaml.cs => ModuleInfoWin.xaml.cs} | 25 +-- RustTools/muqing/mod.cs | 6 +- RustTools/muqing/wj.cs | 40 ++++ 18 files changed, 440 insertions(+), 58 deletions(-) rename RustTools/{ViewModels => DataList}/MovingInfo.cs (77%) create mode 100644 RustTools/ViewModels/ModuleViewModel.cs create mode 100644 RustTools/Views/ModulePage.xaml create mode 100644 RustTools/Views/ModulePage.xaml.cs rename RustTools/WindowUI/{ModulePage.xaml => ModuleInfoWin.xaml} (99%) rename RustTools/WindowUI/{ModulePage.xaml.cs => ModuleInfoWin.xaml.cs} (92%) diff --git a/RustTools/App.xaml.cs b/RustTools/App.xaml.cs index c3323b0..e3d00d5 100644 --- a/RustTools/App.xaml.cs +++ b/RustTools/App.xaml.cs @@ -91,6 +91,9 @@ public partial class App : Microsoft.UI.Xaml.Application services.AddTransient(); services.AddTransient(); services.AddTransient(); + //模组碎片 + services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); diff --git a/RustTools/Assets/WindowIcon.ico b/RustTools/Assets/WindowIcon.ico index c89274d468ce0d14fc53a1310a85013905a1b438..b6c9dd1ac5e1524f294bb46e18b585ebff3b0a4d 100644 GIT binary patch literal 211467 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

7_R!DLqWWaQ`>Sg=vFkgyS;zbG1~`gg6GU= zK{`eN*+5zV{sWd-KcZ(^ixK`l8~13Sy$hE1#kh;+Uze)8#3ddm?H7W0+C|?<Hr-@wBVYrG3dl-U{UZVv1D|9HFu`gQnQa_`W#T-bjRPD*hs%dRnWdW+`S8vgz8 zf7<|Qcf9zVutu^LTj^KYF9q?ms}GrsK7h1~Ze$_sdemgUsis09{kY@}!W4RdPe3&7 zFL2)$czbKV&b(>fy^lXD9_$IeZ@{!04`>_y_UK=Z@5MTyqeVvWBkU0T;y)X&!4sqc=aUGa@p*%;odz3i;9=g0PZm5^@bmCLt~_UiZX z-|KRZ?f#{wO&aq)`4aEnzk?R`9tE}wl zb#B-;O;=m@u1kyBa@lIW?!x{2k6uq+AMW0*i!1xXvRw^5(R>guCR5MZiy!EUYs}O- z{-`=r(ra5+_ID$Ws4T6#F96<7BYU{CuT2_exOB)~^@|Um?(aWtfNWv=>}O27PS|}@ zo2xa7;^%nm4o7&P^zR{B3Wsd#W%(T9(EyipDuK*xW6o;`Kg#oGxZg-|zW(TGF8!s@ zuYGrBt6TeL4&Hf)?KcsvW$*xbAnkhN+R|>}vPV%i!;ap&FuI;yblpIksQJ$ZvsVz= ztFa#AldFa(I(qw+A|k zFK#!!t~}7XSM7rfY$T>=lI~!TXlkhWEH}O<%n=}}!}yH*&Wa0KB;RVk-epR=Y|7C- zNB0`Jv{#cER3DDmW4Qn76UpnSYvP6CdFQzceA#u3wE;VcrlRcn?deNbR#cZ19vBaz z{mmQPZ>Ha%Q)mrMvp;uwal;-Gf+OMYl z7My<*Zv!+I^@{s1pNt>pL%C$9ApL4vqw@80+;6D0;Ly#OZf5Z(Z(aSP_TL2O3sj|% z_cTrzS5mx@!cv|25LDyAe%tqFJ#_u{b!tzKY*%XSaU{HB0^L{r$9M6x>%MGIO75FL z9MSZ@#Qnysk@p_F`52G$oQ{^wNX`U`mPgSgnPjh`ymo;OBiL6kjAw6y6x~|$UEh77 z3*NdqDgBeBgDp#=8%#=LP0ygw<^Rt3qvc<7C@txOJ!J7Uryf@Em(X5kDoy+@Is9Pi zP-K2a^AuL5viVJNbLxHZKsI9Uzu~A_>w%Sj>e^wu@$%0M6dUjvs$^?&7HZ0xyy zS2;PIa<~?5kk(LVS;|;S^DMIa6aLl__jTaHwfs~$kPX;$@`2N-fPW{PzG1la zO={x%POnXvnm2tDI69@1CG**$0wjr;G45+#qFYk{22l=fvu(Yd< zQ~GtuE+uEqfRw$he!MpuxNps!a!?s|r>krNyYwcxmz}zMwQmVa@@NlWI@g9w|Jo&i zZ6)|B-Pidb9{2M+6K~Ly1!;8gtGo*Zt!@30c%yN|D)Aur{l$`o-3Ip7Q6=zk4=FO@s9;l^5n{QMyHQtW(a{2cE2*S8r! z{hj;P(jXaDdnwbk^)CO#8_B#HSH;r)55gP{&`)RDTCs*qzrqp^6h7^i`txgm((n$* zv-*t8B^_Cha1BkHHk*2*`gbDjDZaJj-Mho@Ed5HufjbVez1_-Jm(E0&en2)ft~q;8 z{2-4yMEUmZrS*dy^>hDmyEfumzhVolxhDM|dNxS)nWCR_1O10@K9;m6%QhhVyc`{J;fuz5hl78DFzxM4R+kMLrBC);q{DKq(ycx7 zZ_PU2zms~da~qilN4~43<5pN2gI!E}w=u4zy aHIy}eFCGMK9esUYTc5Kxv`H72 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%0DCrq!*4D0p5$Tp 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:\\RustTools D:\RustTools - - - - @@ -64,17 +60,11 @@ - - Always - - - True - \ - - - True - \ - + + + + MSBuild:Compile + MSBuild:Compile @@ -87,9 +77,6 @@ MSBuild:Compile - - MSBuild:Compile - MSBuild:Compile diff --git a/RustTools/Services/PageService.cs b/RustTools/Services/PageService.cs index 27b4f55..34d37d5 100644 --- a/RustTools/Services/PageService.cs +++ b/RustTools/Services/PageService.cs @@ -20,6 +20,7 @@ public class PageService : IPageService Configure(); Configure(); Configure(); + Configure(); Configure(); } diff --git a/RustTools/ViewModels/ModuleViewModel.cs b/RustTools/ViewModels/ModuleViewModel.cs new file mode 100644 index 0000000..799013a --- /dev/null +++ b/RustTools/ViewModels/ModuleViewModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CommunityToolkit.Mvvm.ComponentModel; + +namespace RustTools.ViewModels; +///

+/// 模组界面配置 +/// +public class ModuleViewModel : ObservableRecipient +{ + public ModuleViewModel() + { + + } +} diff --git a/RustTools/ViewModels/RankingViewModel.cs b/RustTools/ViewModels/RankingViewModel.cs index 19c39e9..d2ed16c 100644 --- a/RustTools/ViewModels/RankingViewModel.cs +++ b/RustTools/ViewModels/RankingViewModel.cs @@ -13,10 +13,16 @@ public partial class RankingViewModel : ObservableRecipient { Init(); } - private async void Init() + private void Init() { + ListTab("downloadNumber"); + } + + public async void ListTab(string tab) + { + RankingList.Clear(); //List必须小于10才能重新加载 - var StringList = await ApiFox.mod.list("downloadNumber", "10", ""); + var StringList = await ApiFox.mod.list(tab, "10", ""); var modData = JsonConvert.DeserializeObject(StringList); foreach (var item in modData.Data) { @@ -24,4 +30,6 @@ public partial class RankingViewModel : ObservableRecipient RankingList.Add(item); } } + + } diff --git a/RustTools/Views/HomePage.xaml.cs b/RustTools/Views/HomePage.xaml.cs index 2183f22..a0085e4 100644 --- a/RustTools/Views/HomePage.xaml.cs +++ b/RustTools/Views/HomePage.xaml.cs @@ -48,7 +48,7 @@ public sealed partial class HomePage : Page if (e.ClickedItem is not ModListResponse.ModData item) { return; } // Ѵڵ ModulePage򼤻 - var existingWindow = ModulePage.ModulePageList.FirstOrDefault(window => window.Mod.Id == item.Id); + var existingWindow = ModuleInfoWin.ModulePageList.FirstOrDefault(window => window.Mod.Id == item.Id); if (existingWindow != null) { // Ѿڣ򼤻 @@ -57,7 +57,7 @@ public sealed partial class HomePage : Page else { // ڲڣ򴴽´ڲӵб - var newWindow = new ModulePage(item.Id); + var newWindow = new ModuleInfoWin(item.Id); //newWindow.Activated += (s, args) => //{ // // ڱʱȷб @@ -67,7 +67,7 @@ public sealed partial class HomePage : Page // } //}; newWindow.Activate(); - ModulePage.ModulePageList.Add(newWindow); + ModuleInfoWin.ModulePageList.Add(newWindow); } } diff --git a/RustTools/Views/ModulePage.xaml b/RustTools/Views/ModulePage.xaml new file mode 100644 index 0000000..db11e3a --- /dev/null +++ b/RustTools/Views/ModulePage.xaml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RustTools/Views/ModulePage.xaml.cs b/RustTools/Views/ModulePage.xaml.cs new file mode 100644 index 0000000..10a6daf --- /dev/null +++ b/RustTools/Views/ModulePage.xaml.cs @@ -0,0 +1,212 @@ + +using System.Collections.ObjectModel; +using System.Reflection.Metadata.Ecma335; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Media; +using RustTools.muqing; +using RustTools.ViewModels; +namespace RustTools.Views; +/// +/// ģƬ +/// +public class DataObject +{ + //· + public string Dri + { + get; set; + } + public string Name + { + get; set; + } + public string Info + { + get; set; + } + public bool IsRwmod + { + get; set; + } + public DataObject() + { + IsRwmod = true; + } + public DataObject(FileInfo fileInfo) + { + Name = fileInfo.Name; + IsRwmod=true; + Info = $"ļС:{wj.FormatFileSize(fileInfo.Length)}"; + Dri = fileInfo.FullName; + } + public DataObject(DirectoryInfo fileInfo) + { + Name = fileInfo.Name; + IsRwmod = false; + Info = $"ʱ:{fileInfo.CreationTime}"; + Dri = fileInfo.FullName; + } + // ... Methods ... +} +public sealed partial class ModulePage : Page +{ + public ObservableCollection ListMod = new(); + public ModuleViewModel ViewModel { get; set; } + public ModulePage() + { + ViewModel = App.GetService(); + InitializeComponent(); + var iniHelper = new IniHelper(); + iniHelper.Load(IniHelper.FILE.Config); + var v = iniHelper.GetValue(IniHelper.CODE.Rust, IniHelper.KEY.ModFileUrl); + + var subfolders = Directory.GetDirectories(v); + foreach (var item in subfolders) + { + var info = new DirectoryInfo(item); + ListMod.Add(new DataObject(info)); + } + var files = Directory.GetFiles(v); + foreach (var item in files) + { + var info = new FileInfo(item); + if (info.Name.EndsWith(".rwmod")) + { + ListMod.Add(new DataObject(info)); + } + } + + } + private void ShowMenu(bool isTransient, GridViewItem dataTemplate) + { + FlyoutShowOptions myOption = new FlyoutShowOptions(); + myOption.ShowMode = isTransient ? FlyoutShowMode.Transient : FlyoutShowMode.Standard; + CommandBarFlyout1.ShowAt(dataTemplate, myOption); + } + + private void Button_Click(object sender, RoutedEventArgs e) + { + var button = sender as Button; + if (button != null) + { + var container = VisualTreeHelper.GetParent(button) as FrameworkElement; + if (container != null && container.DataContext is DataObject dataItem) + { + + FlyoutShowOptions myOption = new FlyoutShowOptions(); + myOption.ShowMode = FlyoutShowMode.Standard; + CommandBarFlyout1.ShowAt(button, myOption); + } + } + } + private void Button_Delete(object sender, RoutedEventArgs e) + { + + + MenuFlyoutItem menuItem = sender as MenuFlyoutItem; + if (menuItem != null) + { + // ȡصļ + var folderItem = menuItem.DataContext as DataObject; // ļΪ FolderItem + if (folderItem != null) + { + // ɾļ߼ + gj.sc("ɾļ"+folderItem.Dri); + Directory.Delete(folderItem.Dri,true); + } + } + + } + + private async void Button_Click_RwmodItem(object sender, RoutedEventArgs e) + { + ContentDialog dialog = new ContentDialog(); + dialog.XamlRoot=XamlRoot; + dialog.Title = "ѹ"; + //dialog. = "ڱνѹѡǷɾԴļ"; + dialog.PrimaryButtonText = "ȷ"; + dialog.SecondaryButtonText = "ȡ"; + dialog.Content = CreateCheckboxContent(); + var contentDialogResult = await dialog.ShowAsync(); + if (contentDialogResult == ContentDialogResult.Primary) + { + + var button = sender as Button; + if (button != null) + { + var container = VisualTreeHelper.GetParent(button) as FrameworkElement; + if (container != null && container.DataContext is DataObject dataItem) + { + CheckBox checkbox = (dialog.Content as StackPanel)?.Children[1] as CheckBox; + if (checkbox.IsChecked == true) + { + File.Delete(dataItem.Dri); + ListMod.Remove(dataItem); + } + gj.sc("ȷ"); + // ȡļƣչ + var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(dataItem.Dri); + var GetDirectoryName = Path.GetDirectoryName(dataItem.Dri); + if (Directory.Exists(GetDirectoryName)&& fileNameWithoutExtension!=null) + { + var targetDirectory = Path.Combine(GetDirectoryName, fileNameWithoutExtension); + var v = wj.UnzipFile(dataItem.Dri, targetDirectory); + gj.sc(v); + if (v) + { + ListMod.Add(new DataObject(new DirectoryInfo(targetDirectory))); + } + } + } + } + } + + } + + private FrameworkElement CreateCheckboxContent() + { + // CheckBox + var checkbox = new CheckBox + { + Content = "ɾԴļ", + IsChecked = false, // Ĭδѡ + Margin=new Thickness(0,16,0,0), + + }; + var text = new TextBlock + { + Text = "ڱνѹѡǷɾԴļ", + }; + + // StackPanel Ϊ + var stackPanel = new StackPanel(); + stackPanel.Children.Add(text); + stackPanel.Children.Add(checkbox); + return stackPanel; + } +} +public class MyItemTemplateSelector : DataTemplateSelector +{ + public DataTemplate Template1 + { + get; set; + } = new(); + public DataTemplate Template2 + { + get; set; + } = new(); + + protected override DataTemplate SelectTemplateCore(object item) + { + if (item is not DataObject dataObject) + { + return base.SelectTemplateCore(item); + } + if (dataObject.IsRwmod) + return Template1; + else + return Template2; + } +} \ No newline at end of file diff --git a/RustTools/Views/RankingPage.xaml b/RustTools/Views/RankingPage.xaml index 2b4c6b2..2e462c3 100644 --- a/RustTools/Views/RankingPage.xaml +++ b/RustTools/Views/RankingPage.xaml @@ -27,10 +27,22 @@ ToolTipService.ToolTip="Sort"> - - - - + + + + diff --git a/RustTools/Views/RankingPage.xaml.cs b/RustTools/Views/RankingPage.xaml.cs index 5be4d80..d38301a 100644 --- a/RustTools/Views/RankingPage.xaml.cs +++ b/RustTools/Views/RankingPage.xaml.cs @@ -44,4 +44,15 @@ public sealed partial class RankingPage : Page { list.Height = ActualHeight - 100; } + + + private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e) + { + var menu = (MenuFlyoutItem)sender; + if (menu != null && menu.Tag != null) + { + var tag =(string) menu.Tag; + ViewModel.ListTab(tag); + } + } } diff --git a/RustTools/Views/ShellPage.xaml b/RustTools/Views/ShellPage.xaml index 156cbd0..63b8b42 100644 --- a/RustTools/Views/ShellPage.xaml +++ b/RustTools/Views/ShellPage.xaml @@ -48,7 +48,7 @@ + Icon="ContactInfo" /> + + + + + + + diff --git a/RustTools/WindowUI/ImportModule.xaml.cs b/RustTools/WindowUI/ImportModule.xaml.cs index 596a57d..b20c293 100644 --- a/RustTools/WindowUI/ImportModule.xaml.cs +++ b/RustTools/WindowUI/ImportModule.xaml.cs @@ -26,7 +26,7 @@ public sealed partial class ImportModule : WindowEx if (file.EndsWith(".rwmod")) { var l = " | "; - var formattedSize = FormatFileSize(fileInfo.Length); + var formattedSize = wj.FormatFileSize(fileInfo.Length); MessageText.Text=":ģ"+ l+ "С"+ formattedSize; ImpUrl = iniHelper.GetValue(IniHelper.CODE.Rust, IniHelper.KEY.ModFileUrl); InfoText.Text = string.Format("ԭλ {0} --> {1} \nڴʱ벻Ҫرմ˴ ɹԶر ʧʾȨ޵ȴ", @@ -83,17 +83,6 @@ public sealed partial class ImportModule : WindowEx } - private static string FormatFileSize(long bytes) - { - return bytes switch - { - < 1024 => $"{bytes} B", - < 1024 * 1024 => $"{bytes / 1024.0:F2} KB", - < 1024 * 1024 * 1024 => $"{bytes / (1024.0 * 1024.0):F2} MB", - _ => $"{bytes / (1024.0 * 1024.0 * 1024.0):F2} GB" - }; - } - private async void Button_Click(object sender, RoutedEventArgs e) { if (fileInfo == null) diff --git a/RustTools/WindowUI/ModulePage.xaml b/RustTools/WindowUI/ModuleInfoWin.xaml similarity index 99% rename from RustTools/WindowUI/ModulePage.xaml rename to RustTools/WindowUI/ModuleInfoWin.xaml index abffb17..9ffe2e6 100644 --- a/RustTools/WindowUI/ModulePage.xaml +++ b/RustTools/WindowUI/ModuleInfoWin.xaml @@ -1,6 +1,6 @@ + -public sealed partial class ModulePage : WindowEx +public sealed partial class ModuleInfoWin : WindowEx { - public static List ModulePageList = new(); + public static List ModulePageList = new(); public ObservableCollection ScreenshotsList = new(); public ModInfo.Data Mod { get; set; } = new(); - public ModulePage(string v) + public ModuleInfoWin(string v) { - - // ôڱɫ InitializeComponent(); ExtendsContentIntoTitleBar = true; gj.SetBackTheme(this); @@ -40,12 +38,7 @@ public sealed partial class ModulePage : WindowEx gj.UpdateTitleBar(this, frame.ActualTheme); grid.RequestedTheme = frame.ActualTheme; } - } - - - static bool IsColorLight(Windows.UI.Color clr) - { - return (((5 * clr.G) + (2 * clr.R) + clr.B) > (8 * 128)); + // ôڱɫ } private async void init(string v) { @@ -143,7 +136,7 @@ public sealed partial class ModulePage : WindowEx var cancellationTokenSource = new CancellationTokenSource(); gj.sc("شģ:" + Mod.Link); var downloader = new FileDownloader(); - + DownloadDialog.XamlRoot = grid.XamlRoot; var asyncOperation = DownloadDialog.ShowAsync(); DownloadDialog.Closing += DownloadDialog_Closing; DownloadDialog.SecondaryButtonClick += (a, b) => @@ -154,13 +147,19 @@ public sealed partial class ModulePage : WindowEx }; try { + var PathMod = Path.Combine(v, Mod.Name); + if (File.Exists(PathMod + ".rwmod")) + { + File.Delete(PathMod + ".rwmod"); + } // ļı· - await downloader.DownloadFileAsync(Mod.Link, Path.Combine(v, Mod.Name), (totalBytesRead, totalBytes) => + await downloader.DownloadFileAsync(Mod.Link,PathMod, (totalBytesRead, totalBytes) => { DownloadDialogText.Text = $"Downloaded {totalBytesRead} of {totalBytes} bytes. {(totalBytes > 0 ? (double)totalBytesRead / totalBytes * 100 : 0):0.00}% complete."; //Debug.WriteLine($"Downloaded {totalBytesRead} of {totalBytes} bytes. {(totalBytes > 0 ? (double)totalBytesRead / totalBytes * 100 : 0):0.00}% complete."); }, cancellationTokenSource.Token); Debug.WriteLine("ļ"); + File.Move(PathMod, PathMod + ".rwmod"); DownloadDialog.Closing -= DownloadDialog_Closing; // ֶضԻ DownloadDialog.Hide(); diff --git a/RustTools/muqing/mod.cs b/RustTools/muqing/mod.cs index 3be50a9..2468e31 100644 --- a/RustTools/muqing/mod.cs +++ b/RustTools/muqing/mod.cs @@ -56,7 +56,7 @@ public class Mod Debug.WriteLine("ʼִļ"); //steamеλ - //steam(); + steam(); if (FileDir == string.Empty) { //Ҳִ gj.sc("Ҳִ"); @@ -88,6 +88,10 @@ public class Mod //thread.Start(); //thread.Join(); } + else + { + action?.Invoke(FileDir); + } //dialog.Closing -= Dialog_Closing; //if (FileDir != string.Empty) { // dialog.Content = FileDir; diff --git a/RustTools/muqing/wj.cs b/RustTools/muqing/wj.cs index d3979e8..60d8198 100644 --- a/RustTools/muqing/wj.cs +++ b/RustTools/muqing/wj.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO.Compression; using Windows.Storage; namespace RustTools.muqing; @@ -50,5 +51,44 @@ class wj return File.Exists(Path.Combine(CD,name)); } + public static string FormatFileSize(long bytes) + { + return bytes switch + { + < 1024 => $"{bytes} B", + < 1024 * 1024 => $"{bytes / 1024.0:F2} KB", + < 1024 * 1024 * 1024 => $"{bytes / (1024.0 * 1024.0):F2} MB", + _ => $"{bytes / (1024.0 * 1024.0 * 1024.0):F2} GB" + }; + } + + + + /// + /// 解压缩 ZIP 文件到指定的目录。 其实Rwmod就是zip格式 + /// + /// ZIP 文件的完整路径。 + /// 解压缩的目标目录。 + /// 如果解压成功,则返回 true;否则返回 false。 + public static bool UnzipFile(string zipFilePath, string targetDirectory) + { + try + { + + // 确保目标目录存在 + Directory.CreateDirectory(targetDirectory); + + // 使用 ZipFile.ExtractToDirectory 方法进行解压 + ZipFile.ExtractToDirectory(zipFilePath, targetDirectory); + + return true; // 解压成功 + } + catch (Exception ex) + { + Debug.WriteLine($"解压过程中出现错误: {ex.Message}"); + return false; // 解压失败 + } + } + }