Exemplo n.º 1
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            if (e.Parameter is Func <LoadMoreItemsAsyncFuncConfig, Task <ICollection <Models.Entity> > > method)
            {
                entities                     = new IncrementalLoadingEntityCollection <Models.Entity>(method);
                listView                     = listView ?? new ListView();
                listView.ItemsSource         = entities;
                listView.HorizontalAlignment = HorizontalAlignment.Stretch;
                listView.VerticalAlignment   = VerticalAlignment.Stretch;

                Content = listView;
            }
        }
Exemplo n.º 2
0
        public void OnPiovtSelect(string piovt = "主页")
        {
            // default "主页"
            Func <LoadMoreItemsAsyncFuncConfig, Task <ICollection <Entity> > > func = async(config) => {
                if (config.Page != 1)
                {
                    return(new Collection <Entity>());
                }                                                         // 如果不是第一页 让它以为这是空的
                return(this.Data?.HomeTabCardRows ?? new Collection <Entity>());
            };

            switch (piovt)
            {
            case "动态":
                func = async(config) => {
                    return((await this.CoolapkApis.GetUserFeedList(this.Data.Uid, config.Page, config.LastItem)).Data);
                };
                break;

            case "点评":
                func = async(config) => {
                    return((await this.CoolapkApis.GetDataList($"/feed/nodeRatingList?targetType=all&parseRatingToFeed=1&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data);
                };
                break;

            case "图文":
                func = async(config) => {
                    return((await this.CoolapkApis.GetUserHtmlFeedList(this.Data.Uid, config.Page, config.LastItem)).Data);
                };
                break;

            case "问答":
                func = async(config) => {
                    return((await this.CoolapkApis.GetUserHtmlFeedList(this.Data.Uid, config.Page, config.LastItem)).Data);
                };
                break;

            case "酷图":
                func = async(config) => {
                    return((await this.CoolapkApis.GetDataList($"/feed/userCoolPictureFeedList?fragmentTemplate=flex&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data);
                };
                break;

            case "好物":
                func = async(config) => {
                    return((await this.CoolapkApis.GetDataList($"/goods/goodsFeedList?type=default&fragmentTemplate=flex&uid={this.Data.Uid}", "", config.Page, config.LastItem)).Data);
                };
                break;

            case "好物单":
                func = async(config) => {
                    return((await this.CoolapkApis.GetUserGoodsList(this.Data.Uid, config.Page)).Data);
                };
                break;

            case "收藏单":
                func = async(config) => {
                    return((await this.CoolapkApis.GetUserCollections(this.Data.Uid, config.Page)).Data);
                };
                break;
            }
            Entities = new IncrementalLoadingEntityCollection <Entity>(func);
            NotifyChanged("Entities");
        }