diff --git a/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesArchives.cs b/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesArchives.cs
index 3b23101..38daebe 100644
--- a/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesArchives.cs
+++ b/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesArchives.cs
@@ -19,7 +19,8 @@ namespace DownKyi.Core.BiliApi.Users.Models
public string Pic { get; set; }
[JsonProperty("pubdate")]
public long Pubdate { get; set; }
- // stat
+ [JsonProperty("stat")]
+ public SpaceSeasonsSeriesStat Stat { get; set; }
// state
[JsonProperty("title")]
public string Title { get; set; }
diff --git a/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesStat.cs b/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesStat.cs
new file mode 100644
index 0000000..ef53bd2
--- /dev/null
+++ b/DownKyi.Core/BiliApi/Users/Models/SpaceSeasonsSeriesStat.cs
@@ -0,0 +1,11 @@
+using DownKyi.Core.BiliApi.Models;
+using Newtonsoft.Json;
+
+namespace DownKyi.Core.BiliApi.Users.Models
+{
+ public class SpaceSeasonsSeriesStat : BaseModel
+ {
+ [JsonProperty("view")]
+ public long View { get; set; }
+ }
+}
diff --git a/DownKyi.Core/DownKyi.Core.csproj b/DownKyi.Core/DownKyi.Core.csproj
index 4ee018b..ba9c276 100644
--- a/DownKyi.Core/DownKyi.Core.csproj
+++ b/DownKyi.Core/DownKyi.Core.csproj
@@ -223,6 +223,7 @@
+
diff --git a/DownKyi/App.xaml.cs b/DownKyi/App.xaml.cs
index cae6342..e09d666 100644
--- a/DownKyi/App.xaml.cs
+++ b/DownKyi/App.xaml.cs
@@ -180,6 +180,7 @@ namespace DownKyi
containerRegistry.RegisterForNavigation(ViewUserSpaceViewModel.Tag);
containerRegistry.RegisterForNavigation(ViewPublicationViewModel.Tag);
containerRegistry.RegisterForNavigation(ViewModels.ViewChannelViewModel.Tag);
+ containerRegistry.RegisterForNavigation(ViewModels.ViewSeasonsSeriesViewModel.Tag);
containerRegistry.RegisterForNavigation(ViewMySpaceViewModel.Tag);
containerRegistry.RegisterForNavigation(ViewMyFavoritesViewModel.Tag);
@@ -206,6 +207,7 @@ namespace DownKyi
// UserSpace
containerRegistry.RegisterForNavigation(ViewArchiveViewModel.Tag);
containerRegistry.RegisterForNavigation(ViewModels.UserSpace.ViewChannelViewModel.Tag);
+ containerRegistry.RegisterForNavigation(ViewModels.UserSpace.ViewSeasonsSeriesViewModel.Tag);
// dialogs
containerRegistry.RegisterDialog(ViewAlertDialogViewModel.Tag);
diff --git a/DownKyi/DownKyi.csproj b/DownKyi/DownKyi.csproj
index 328074d..aac8fe5 100644
--- a/DownKyi/DownKyi.csproj
+++ b/DownKyi/DownKyi.csproj
@@ -164,12 +164,15 @@
+
+
+
@@ -234,9 +237,15 @@
ViewArchive.xaml
+
+ ViewSeasonsSeries.xaml
+
ViewChannel.xaml
+
+ ViewSeasonsSeries.xaml
+
ViewChannel.xaml
@@ -426,10 +435,18 @@
Designer
MSBuild:Compile
+
+ MSBuild:Compile
+ Designer
+
Designer
MSBuild:Compile
+
+ MSBuild:Compile
+ Designer
+
Designer
MSBuild:Compile
diff --git a/DownKyi/Images/NormalIcon.cs b/DownKyi/Images/NormalIcon.cs
index 7977bf2..669c798 100644
--- a/DownKyi/Images/NormalIcon.cs
+++ b/DownKyi/Images/NormalIcon.cs
@@ -1,4 +1,6 @@
-namespace DownKyi.Images
+using DownKyi.ViewModels.UserSpace;
+
+namespace DownKyi.Images
{
public class NormalIcon
{
@@ -267,6 +269,46 @@
Fill = "#FF000000"
};
+ Channel1 = new VectorImage
+ {
+ Height = 24,
+ Width = 24,
+ Data = @"M116.57 0 q-30.86 0 -57.71 16 q-26.85 16 -42.85 42.85 q-16 26.85 -16 57.71 l0 468.57 q0 30.86 16 57.72
+ q16 26.86 42.85 42.86 q26.85 16 57.71 16 l643.43 0 q32 0 58.86 -16 q26.86 -16 42.86 -42.86
+ q16 -26.86 16 -57.72 l0 -468.57 q0 -30.86 -16 -57.71 q-16 -26.85 -42.86 -42.85 q-26.86 -16 -58.86 -16
+ l-643.43 0 ZM262.86 848 q-40 0 -72.57 -25.71 q-32.58 -25.72 -39.43 -62.29 l697.14 0 q36.57 0 62.29 -25.71
+ q25.71 -25.72 25.71 -62.29 l0 -521.14 q37.71 11.43 62.86 42.28 q25.14 30.86 25.14 69.72 l0 468.57
+ q0 30.86 -16 57.72 q-16 26.86 -42.86 42.86 q-26.86 16 -58.86 16 l-643.43 0 ZM88 174.86
+ q0 -36.57 25.14 -62.29 q25.14 -25.71 61.72 -25.71 l526.85 0 q36.58 0 62.29 25.71 q25.71 25.72 25.71 62.29
+ l0 350.85 q0 36.58 -25.71 62.29 q-25.71 25.71 -62.29 25.71 l-526.85 0 q-36.57 0 -61.72 -25.71
+ q-25.14 -25.71 -25.14 -62.29 l0 -350.85 ZM609.14 374.86 q11.43 -6.86 11.43 -22.29 q0 -15.43 -11.43 -26.86
+ l-214.85 -146.28 q-13.72 -10.29 -28.57 -1.72 q-14.86 8.58 -14.86 26.86 l0 297.14 q0 18.29 14.86 26.86
+ q14.85 8.57 28.57 -2.86 l214.85 -150.85 Z",
+ Fill = "#FF000000"
+ };
+
+ SeasonsSeries = new VectorImage
+ {
+ Height = 24,
+ Width = 24,
+ Data = @"M974.2 382.22 l-401.47 177.37 q-28.88 13.75 -60.5 13.75 q-31.62 0 -60.5 -13.75 l-400.09 -177.37
+ q-20.63 -11 -33 -30.25 q-12.38 -19.25 -13.06 -43.31 q-0.68 -24.06 10.32 -45.38 q11 -21.32 31.62 -35.07
+ l402.85 -210.36 q28.87 -17.87 63.25 -17.87 q34.38 0 63.25 19.25 l398.72 207.61 q22 12.37 33.69 34.37
+ q11.68 22 10.31 46.06 q-1.38 24.06 -13.06 44 q-11.69 19.94 -32.31 30.94 ZM939.83 292.86 l-400.1 -207.62
+ q-11 -8.25 -24.75 -9.62 q-16.5 1.37 -30.25 9.62 l-400.1 207.62 q-2.75 6.87 -2.75 12.37 q0 5.5 4.13 9.62
+ l397.35 175.99 q20.62 9.63 28.18 9.63 q7.56 0 26.81 -8.25 l404.22 -178.74 q1.38 -11 -4.12 -20.62
+ l1.38 0 ZM20.01 512.84 q8.25 -4.12 19.25 -4.12 q11 0 19.25 5.5 q16.5 9.62 39.87 20.62 l413.85 186.99
+ l394.6 -178.74 l60.49 -30.25 q9.63 -4.12 19.94 -4.12 q10.31 0 19.25 5.5 q8.94 5.5 13.75 15.12
+ q4.81 9.63 3.43 19.25 q-1.37 23.37 -21.99 31.62 l-64.62 31.62 l-424.85 193.87 l-422.1 -192.49
+ q-35.74 -12.38 -68.74 -33 q-9.63 -5.5 -15.13 -14.43 q-5.5 -8.94 -6.18 -19.25 q-0.69 -10.32 4.82 -19.25
+ q5.5 -8.94 15.12 -14.44 l0 0 ZM58.51 732.83 q17.87 9.62 41.25 20.62 l412.47 186.99 l394.6 -178.74
+ l60.49 -30.25 q9.63 -5.5 19.94 -4.81 q10.31 0.69 19.25 6.18 q8.94 5.5 13.75 15.12 q4.81 9.63 3.43 19.94
+ q-1.37 10.32 -6.87 18.57 q-5.5 8.25 -15.12 12.37 l-64.62 31.62 l-424.85 192.49 l-422.1 -191.11
+ q-35.74 -13.75 -68.74 -34.37 q-13.75 -6.88 -17.88 -22 q-4.13 -15.13 3.44 -28.87 q7.56 -13.75 22.68 -17.87
+ q15.13 -4.13 28.88 4.13 Z",
+ Fill = "#FF000000"
+ };
+
PlatformIpad = new VectorImage
{
Height = 16,
@@ -357,6 +399,8 @@
public VectorImage VideoUp { get; private set; }
public VectorImage Channel { get; private set; }
+ public VectorImage Channel1 { get; private set; }
+ public VectorImage SeasonsSeries { get; private set; }
public VectorImage PlatformIpad { get; private set; }
public VectorImage PlatformMobile { get; private set; }
diff --git a/DownKyi/Languages/Default.xaml b/DownKyi/Languages/Default.xaml
index 4cedf8c..ce65c29 100644
--- a/DownKyi/Languages/Default.xaml
+++ b/DownKyi/Languages/Default.xaml
@@ -63,6 +63,7 @@
全部
投稿视频
频道
+ 合集和列表
请稍等,马上就好~
diff --git a/DownKyi/ViewModels/UserSpace/SeasonsSeries.cs b/DownKyi/ViewModels/UserSpace/SeasonsSeries.cs
new file mode 100644
index 0000000..0641112
--- /dev/null
+++ b/DownKyi/ViewModels/UserSpace/SeasonsSeries.cs
@@ -0,0 +1,47 @@
+using DownKyi.Images;
+using Prism.Mvvm;
+using System.Windows.Media;
+
+namespace DownKyi.ViewModels.UserSpace
+{
+ public class SeasonsSeries : BindableBase
+ {
+ public long Id { get; set; }
+
+ private ImageSource cover;
+ public ImageSource Cover
+ {
+ get => cover;
+ set => SetProperty(ref cover, value);
+ }
+
+ private VectorImage typeImage;
+ public VectorImage TypeImage
+ {
+ get => typeImage;
+ set => SetProperty(ref typeImage, value);
+ }
+
+ private string name;
+ public string Name
+ {
+ get => name;
+ set => SetProperty(ref name, value);
+ }
+
+ private int count;
+ public int Count
+ {
+ get => count;
+ set => SetProperty(ref count, value);
+ }
+
+ private string ctime;
+ public string Ctime
+ {
+ get => ctime;
+ set => SetProperty(ref ctime, value);
+ }
+
+ }
+}
diff --git a/DownKyi/ViewModels/UserSpace/ViewSeasonsSeriesViewModel.cs b/DownKyi/ViewModels/UserSpace/ViewSeasonsSeriesViewModel.cs
new file mode 100644
index 0000000..b8f783b
--- /dev/null
+++ b/DownKyi/ViewModels/UserSpace/ViewSeasonsSeriesViewModel.cs
@@ -0,0 +1,199 @@
+using DownKyi.Core.BiliApi.Users.Models;
+using DownKyi.Core.Storage;
+using DownKyi.Events;
+using DownKyi.Images;
+using Prism.Commands;
+using Prism.Events;
+using Prism.Regions;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Threading.Tasks;
+using System.Windows.Media.Imaging;
+
+namespace DownKyi.ViewModels.UserSpace
+{
+ public class ViewSeasonsSeriesViewModel : BaseViewModel
+ {
+ public const string Tag = "PageUserSpaceSeasonsSeries";
+
+ private long mid = -1;
+
+ #region 页面属性申明
+
+ private ObservableCollection seasonsSeries;
+ public ObservableCollection SeasonsSeries
+ {
+ get => seasonsSeries;
+ set => SetProperty(ref seasonsSeries, value);
+ }
+
+ private int selectedItem;
+ public int SelectedItem
+ {
+ get => selectedItem;
+ set => SetProperty(ref selectedItem, value);
+ }
+
+ #endregion
+
+ public ViewSeasonsSeriesViewModel(IEventAggregator eventAggregator) : base(eventAggregator)
+ {
+ #region 属性初始化
+
+ SeasonsSeries = new ObservableCollection();
+
+ #endregion
+ }
+
+ #region 命令申明
+
+ // 视频选择事件
+ private DelegateCommand