diff --git a/RustTools/Assets/image/image.svg b/RustTools/Assets/image/image.svg new file mode 100644 index 0000000..9d85ba2 --- /dev/null +++ b/RustTools/Assets/image/image.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/RustTools/DataList/HomeBanner.cs b/RustTools/DataList/HomeBanner.cs new file mode 100644 index 0000000..7dd3170 --- /dev/null +++ b/RustTools/DataList/HomeBanner.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace RustTools.DataList +{ + class HomeBanner + { + public int code + { + get; set; + } + public string message + { + get; set; + } + public Data[] data + { + get; set; + } + public class Data + { + public string id + { + get; set; + } + public string title + { + get; set; + } + public string owner + { + get; set; + } + public string picture + { + get; set; + } + public string link + { + get; set; + } + public DateTime createTime + { + get; set; + } + public DateTime expirationTime + { + get; set; + } + } + } +} diff --git a/RustTools/RustTools.csproj b/RustTools/RustTools.csproj index ea7bd7c..b5279d7 100644 --- a/RustTools/RustTools.csproj +++ b/RustTools/RustTools.csproj @@ -33,6 +33,7 @@ + @@ -64,6 +65,9 @@ True \ + + MSBuild:Compile + MSBuild:Compile @@ -97,4 +101,8 @@ + + + + diff --git a/RustTools/ViewModels/HomePageViewModel.cs b/RustTools/ViewModels/HomePageViewModel.cs index 26947c0..8098fe7 100644 --- a/RustTools/ViewModels/HomePageViewModel.cs +++ b/RustTools/ViewModels/HomePageViewModel.cs @@ -10,5 +10,7 @@ public partial class HomePageViewModel : ObservableRecipient { } + + public string lunbo = "{\r\n \"code\": 0,\r\n \"message\": \"获取成功,共1条记录\",\r\n \"data\": [\r\n {\r\n \"id\": \"67\",\r\n \"title\": \"博客\",\r\n \"owner\": \"coldmint\",\r\n \"picture\": \"https://rust.coldmint.top/resources/banner/1183ea9fe031b0787d07e7bdf4e28b3ef503ea0971.jpg\",\r\n \"link\": \"@link{https://coldmint.top/}\",\r\n \"createTime\": \"2023-05-13 10:38:01\",\r\n \"expirationTime\": \"2027-05-13 10:38:01\"\r\n }\r\n ]\r\n}"; public string str = "{\r\n \"code\": 0,\r\n \"message\": \"获取成功,共6条记录\",\r\n \"data\": [\r\n {\r\n \"id\": \"csj_shi_ji\",\r\n \"name\": \"创世纪\",\r\n \"describe\": \"创世纪已经运行了3个月(发布铁锈盒子)禁止进行盗素材行为,素材均已得到绘画者许可。\",\r\n \"icon\": \"../user/lanxing/mods/csj_shi_ji/icon.png\",\r\n \"developer\": \"lanxing\",\r\n \"downloadNumber\": null,\r\n \"updateTime\": \"2024-07-19 09:03:17\",\r\n \"coinNumber\": \"0\",\r\n \"unitNumber\": \"203\",\r\n \"versionNumber\": \"1\"\r\n },\r\n {\r\n \"id\": \"tie_xiu_za_jiao_ban\",\r\n \"name\": \"铁锈杂交版\",\r\n \"describe\": \"原版单位融合 by虚谷\",\r\n \"icon\": \"\",\r\n \"developer\": \"chrwow\",\r\n \"downloadNumber\": \"1\",\r\n \"updateTime\": \"2024-07-18 14:29:36\",\r\n \"coinNumber\": \"0\",\r\n \"unitNumber\": \"5\",\r\n \"versionNumber\": \"1\"\r\n },\r\n {\r\n \"id\": \"xi_wang_an_quan\",\r\n \"name\": \"希望安全\",\r\n \"describe\": \"实验性位移系统;\\n三抗:\\n抗血量提取;抗运输槽删除;抗渗透回收;\\n复杂的全局保险机制;\\n计划重写一些铁锈的功能,来方便完成自己离谱需求,预计有:\\n位移,队伍\\n随便把之前mod没有完成的目标填坑。\\n至于BSJ倾向,则是为了告诉自己,活着,至少,还行;尽管无法与火和挺立的树相比;不要问曾经经历过什么。\",\r\n \"icon\": \"../user/Compulsory_registrat/mods/xi_wang_an_quan/icon.png\",\r\n \"developer\": \"Compulsory_registrat\",\r\n \"downloadNumber\": \"1\",\r\n \"updateTime\": \"2024-07-18 12:04:37\",\r\n \"coinNumber\": \"0\",\r\n \"unitNumber\": \"10\",\r\n \"versionNumber\": \"1\"\r\n },\r\n {\r\n \"id\": \"mod_xing\",\r\n \"name\": \"无尽星空-星海乐章(公测版0.1.3)\",\r\n \"describe\": \"\\\"星空浩瀚无比,征途永无止境.\\\"\\n-经历了十个版本内测,星海乐章公测版终于出炉啦!\\n-感谢『12rwmod』和其他小伙伴提出的各种改进建议\\n-模组背景音乐: Caught Adrift - Another Day, Strings For A Queen (Original Mix), Faster Than Light, The Remnant, Daylight. (排序不分先后)\\n-模组系列:『无尽星空』,单部:『星海乐章』\\n-作者是『幻梦星璃(星)』\\n-模组交流群『✨蓝星方舟中控部✨』(群号:757914038)\\n-建议用自定义地图里的太空玩哦.\\n-温馨提示:想玩这个模组需要用1.15的铁锈战争哦(没有的话,没关系,进群拿.)\\n-对了,人机可能会有一点点强哦,建议从低难度开始慢慢来.\\n@qqGroup{757914038}\",\r\n \"icon\": \"https://rust.coldmint.top/user/7854399/mods/mod_xing/icons/8222d5e5-b53f-5186-489d-a680b338ca5f.png\",\r\n \"developer\": \"7854399\",\r\n \"downloadNumber\": \"1226\",\r\n \"updateTime\": \"2024-07-17 19:14:02\",\r\n \"coinNumber\": \"59\",\r\n \"unitNumber\": \"228\",\r\n \"versionNumber\": \"69\"\r\n },\r\n {\r\n \"id\": \"shi_kong_jun_zhu\",\r\n \"name\": \"时空君主:魔法战争-人族1.7\",\r\n \"describe\": \"伟大永恒而无聊的时空君主,你加入了其他时空君主们的游戏,本次游戏中你们将召唤一个个来自魔法世界工业科技时代的士兵,为你们找点乐子!附注:建议标准4000开局。拒绝搬运,反对外传,禁止盗用,侵权必究!by.小小的工作室,可加群:411238064交流,当前仅在QQ群411238064正式发布,绝对免费,如有其他途径发现,不要购买,就是对作者最大的支持!\",\r\n \"icon\": \"\",\r\n \"developer\": \"18234474931\",\r\n \"downloadNumber\": \"1\",\r\n \"updateTime\": \"2024-07-16 08:06:14\",\r\n \"coinNumber\": \"0\",\r\n \"unitNumber\": \"21\",\r\n \"versionNumber\": \"1\"\r\n },\r\n {\r\n \"id\": \"yuanban_danwei_kuozhan\",\r\n \"name\": \"原版单位扩展(by:未开智物种)\",\r\n \"describe\": \"平衡小调整\",\r\n \"icon\": \"https://rust.coldmint.top/user/wls20081024/mods/yuanban_danwei_kuozhan/icon.png\",\r\n \"developer\": \"wls20081024\",\r\n \"downloadNumber\": \"24\",\r\n \"updateTime\": \"2024-07-13 15:53:21\",\r\n \"coinNumber\": \"2\",\r\n \"unitNumber\": \"26\",\r\n \"versionNumber\": \"5\"\r\n }\r\n ]\r\n}"; } diff --git a/RustTools/Views/HomePage.xaml b/RustTools/Views/HomePage.xaml index 1011edc..f302ae5 100644 --- a/RustTools/Views/HomePage.xaml +++ b/RustTools/Views/HomePage.xaml @@ -7,17 +7,49 @@ xmlns:local="using:RustTools.Views" xmlns:local1="using:Windows.ApplicationModel.Contacts" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + SizeChanged="Page_SizeChanged" mc:Ignorable="d"> - + + + + + + + + + + + + + + + + + - + @@ -26,7 +58,7 @@ Margin="0,12,0,0" HorizontalAlignment="Center" NumberOfPages="{x:Bind Pictures.Count}" - SelectedPageIndex="{x:Bind Path=Gallery.SelectedIndex, Mode=TwoWay}" /> + SelectedPageIndex="{x:Bind Path=Banner.SelectedIndex, Mode=TwoWay}" /> @@ -35,28 +67,16 @@ Label="刷新" RelativePanel.AlignRightWithPanel="True" /> + - - - - - - - - - - - - - - + ScrollViewer.HorizontalScrollBarVisibility="Disabled" + SelectionMode="None" /> @@ -67,8 +87,14 @@ + + + diff --git a/RustTools/Views/HomePage.xaml.cs b/RustTools/Views/HomePage.xaml.cs index 6119857..0cff289 100644 --- a/RustTools/Views/HomePage.xaml.cs +++ b/RustTools/Views/HomePage.xaml.cs @@ -1,41 +1,40 @@ -using System; -using System.Collections.Generic; using System.Collections.ObjectModel; -using System.IO; -using System.Linq; -using System.Net.NetworkInformation; -using System.Runtime.InteropServices.WindowsRuntime; +using System.Diagnostics; +using Microsoft.UI; +using Microsoft.UI.Windowing; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Newtonsoft.Json; +using RustTools.DataList; +using RustTools.Services; using RustTools.ViewModels; -using System.Diagnostics; -using System.IO; -using System.Net.Http; -using System.Threading.Tasks; -using Windows.Storage.Streams; -using Windows.UI.Xaml; -using Microsoft.Extensions.Hosting; -namespace RustTools.Views; +using Windows.UI.WindowManagement; +namespace RustTools.Views; public sealed partial class HomePage : Page { - public HomePageViewModel ViewModel { + public HomePageViewModel ViewModel + { get; } public ObservableCollection conns = new(); + public ObservableCollection newlist = new(); public ObservableCollection Pictures { get; } = new ObservableCollection(); public HomePage() { - ViewModel= App.GetService(); - - Pictures.Add("/Assets/image/a.jpeg"); - Pictures.Add("/Assets/image/b.jpeg"); + ViewModel = App.GetService(); + //ֲͼ + var lunbo = JsonConvert.DeserializeObject(ViewModel.lunbo); + if (lunbo != null) + { + foreach (var item in lunbo.data) + { + Pictures.Add(item.picture); + } + } StartAsync(); InitializeComponent(); } - - private void StartAsync() { var modListResponse = JsonConvert.DeserializeObject(ViewModel.str); @@ -43,19 +42,23 @@ public sealed partial class HomePage : Page { return; } + conns.Clear(); + newlist.Clear(); foreach (var item in modListResponse.Data) { //https://rust.coldmint.top if (item.Icon.Equals("")) { - item.Icon = "/Assets/tool.png"; + item.Icon = "/Assets/image/image.svg"; } var contact = new Contact(item.Name, item.Description, item.UpdateTime + " " + item.CoinNumber + "") { ImageUrl = item.Icon.Replace("..", "https://rust.coldmint.top") }; conns.Add(contact); + newlist.Add(contact); } + } public class Contact @@ -84,5 +87,29 @@ public sealed partial class HomePage : Page } } + private void Page_SizeChanged(object sender, SizeChangedEventArgs e) + { + //var height = DisplayArea.Primary.WorkArea.Height; + //double a = height / 5; + //Debug.WriteLine(a); + //// FlipViewĸ߶ + //Banner.Height = a; + } + private void ListAClick(object sender, ItemClickEventArgs e) + { + // ȡ + // һµWindowʵ + Window newWindow = new Window + { + // NewPageΪWindow + Content = new ListViewPage(), + + // WindowһЩԣʹС + Title = "New Page", + }; + + // ʾWindow + newWindow.Show(); + } } diff --git a/RustTools/Views/ListViewPage.xaml b/RustTools/Views/ListViewPage.xaml new file mode 100644 index 0000000..d0bc2ab --- /dev/null +++ b/RustTools/Views/ListViewPage.xaml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + diff --git a/RustTools/Views/ListViewPage.xaml.cs b/RustTools/Views/ListViewPage.xaml.cs new file mode 100644 index 0000000..4a25e6d --- /dev/null +++ b/RustTools/Views/ListViewPage.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace RustTools.Views; + +/// +/// An empty page that can be used on its own or navigated to within a Frame. +/// + +public sealed partial class ListViewPage : Page +{ + public ListViewPage() + { + InitializeComponent(); + } +}