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); } }