From 84c3403a942df8ff51302dad14daa9e56f1f741b Mon Sep 17 00:00:00 2001
From: croire <1432593898@qq.com>
Date: Fri, 4 Nov 2022 16:07:54 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90PageFriendsFollowing=E7=9A=84?=
=?UTF-8?q?=E5=B7=A6=E4=BE=A7table=E5=8A=A0=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DownKyi/Languages/Default.xaml | 3 +
.../Friends/ViewFollowingViewModel.cs | 72 +++++++++++++++----
DownKyi/ViewModels/ViewFriendsViewModel.cs | 11 ++-
3 files changed, 69 insertions(+), 17 deletions(-)
diff --git a/DownKyi/Languages/Default.xaml b/DownKyi/Languages/Default.xaml
index cc01956..5cf084b 100644
--- a/DownKyi/Languages/Default.xaml
+++ b/DownKyi/Languages/Default.xaml
@@ -102,6 +102,9 @@
关注
粉丝
+ 全部关注
+ 悄悄关注
+
复制封面图片
复制封面URL
diff --git a/DownKyi/ViewModels/Friends/ViewFollowingViewModel.cs b/DownKyi/ViewModels/Friends/ViewFollowingViewModel.cs
index a4c5b1b..0ccd04c 100644
--- a/DownKyi/ViewModels/Friends/ViewFollowingViewModel.cs
+++ b/DownKyi/ViewModels/Friends/ViewFollowingViewModel.cs
@@ -7,6 +7,7 @@ using Prism.Events;
using Prism.Regions;
using System.Collections.Generic;
using System.Collections.ObjectModel;
+using System.Threading.Tasks;
namespace DownKyi.ViewModels.Friends
{
@@ -14,6 +15,9 @@ namespace DownKyi.ViewModels.Friends
{
public const string Tag = "PageFriendsFollowing";
+ // mid
+ private long mid = -1;
+
#region 页面属性申明
private ObservableCollection tabHeaders;
@@ -35,19 +39,8 @@ namespace DownKyi.ViewModels.Friends
public ViewFollowingViewModel(IEventAggregator eventAggregator) : base(eventAggregator)
{
#region 属性初始化
- List followingGroup = UserRelation.GetFollowingGroup();
-
- TabHeaders = new ObservableCollection()
- {
- //new TabHeader{Id = 0, Title = DictionaryResource.GetString("FriendFollowing") },
- new TabHeader{Id = -1, Title = "全部关注" },
- new TabHeader{Id = -2, Title = "悄悄关注" },
- };
- foreach (FollowingGroup tag in followingGroup)
- {
- TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
- }
+ TabHeaders = new ObservableCollection();
#endregion
}
@@ -84,6 +77,40 @@ namespace DownKyi.ViewModels.Friends
#endregion
+ ///
+ /// 初始化左侧列表
+ ///
+ private async void InitLeftTable()
+ {
+ TabHeaders.Clear();
+
+ // 用户的关系状态数
+ UserRelationStat relationStat = null;
+ await Task.Run(() =>
+ {
+ relationStat = UserStatus.GetUserRelationStat(mid);
+ });
+ if (relationStat != null)
+ {
+ TabHeaders.Add(new TabHeader { Id = -1, Title = DictionaryResource.GetString("AllFollowing"), SubTitle = relationStat.Following.ToString() });
+ TabHeaders.Add(new TabHeader { Id = -2, Title = DictionaryResource.GetString("WhisperFollowing"), SubTitle = relationStat.Whisper.ToString() });
+ }
+
+ // 用户的关注分组
+ List followingGroup = null;
+ await Task.Run(() =>
+ {
+ followingGroup = UserRelation.GetFollowingGroup();
+ });
+ if (followingGroup != null)
+ {
+ foreach (FollowingGroup tag in followingGroup)
+ {
+ TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
+ }
+ }
+ }
+
///
/// 导航到页面时执行
///
@@ -92,9 +119,26 @@ namespace DownKyi.ViewModels.Friends
{
base.OnNavigatedTo(navigationContext);
- // 进入设置页面时显示的设置项
- SelectTabId = 0;
+ // 传入mid
+ long parameter = navigationContext.Parameters.GetValue("mid");
+ if (parameter == 0)
+ {
+ return;
+ }
+ mid = parameter;
+ // 是否是从PageFriends的headerTable的item点击进入的
+ // true表示加载PageFriends后第一次进入此页面
+ // false表示从headerTable的item点击进入的
+ bool isFirst = navigationContext.Parameters.GetValue("isFirst");
+ if (isFirst)
+ {
+ // 初始化左侧列表
+ InitLeftTable();
+
+ // 进入页面时显示的设置项
+ SelectTabId = 0;
+ }
}
}
diff --git a/DownKyi/ViewModels/ViewFriendsViewModel.cs b/DownKyi/ViewModels/ViewFriendsViewModel.cs
index f949d7d..580f7d0 100644
--- a/DownKyi/ViewModels/ViewFriendsViewModel.cs
+++ b/DownKyi/ViewModels/ViewFriendsViewModel.cs
@@ -98,7 +98,7 @@ namespace DownKyi.ViewModels
{
if (!(parameter is TabHeader tabHeader)) { return; }
- NavigationView(tabHeader.Id);
+ NavigationView(tabHeader.Id, false);
}
#endregion
@@ -107,11 +107,16 @@ namespace DownKyi.ViewModels
/// 进入子页面
///
///
- private void NavigationView(int id)
+ ///
+ private void NavigationView(int id, bool isFirst)
{
+ // isFirst参数表示是否是从PageFriends的headerTable的item点击进入的
+ // true表示加载PageFriends后第一次进入
+ // false表示从headerTable的item点击进入
NavigationParameters param = new NavigationParameters()
{
{ "mid", mid },
+ { "isFirst", isFirst },
};
switch (id)
@@ -145,7 +150,7 @@ namespace DownKyi.ViewModels
mid = (long)parameter["mid"];
SelectTabId = (int)parameter["friendId"];
- NavigationView(SelectTabId);
+ NavigationView(SelectTabId, true);
}
}