Beispiel #1
0
        public async Task HotGet(ServiceArgument args, Action <CollectHot> callback)
        {
            var pair = new Dictionary <string, object>();

            pair.Add("id", args.id);
            pair.Add("type", 1);
            pair.Add("feature", args.feature);
            pair.Add("page", args.page);
            pair.Add("language", DeviceUtil.Language);
            pair.Add("client_id", DeviceUtil.DEVICE_CLIENTID);
            pair.Add("device_id", DeviceUtil.UniqueId);
            pair.Add("version", DeviceUtil.Version);
            pair.Add("channel", DeviceUtil.Channel);
            pair.Add("model", "N918St");
            args.Dic = pair;
            args.Uri = Const_def.API_Category;

            await Get(args, response =>
            {
                switch (response.Statused)
                {
                case HttpErrorStatus.Success:
                    {
                        //缓存分开
                        //异步写入数据库 不使用文件保存 下次加载缓存数据从数据库加载
                        var taskCache = FileCache.SaveFile(Const_def.db_CacheDir, response.Data);

                        //序列化
                        BaseDeserializer serializer = DeserializerManager.Instance.BuildHotDeserializer();
                        CollectHot list             = serializer.ReadList(response.Data) as CollectHot;

                        callback?.Invoke(list);
                        break;
                    }

                case HttpErrorStatus.JsonError:
                    break;

                case HttpErrorStatus.NetworkError:
                    break;

                case HttpErrorStatus.UnknownError:
                    break;

                case HttpErrorStatus.UserCancelOperation:
                    break;
                }
            });
        }
Beispiel #2
0
        public override IList ReadList(string content)
        {
            CollectHot list = new CollectHot();

            try
            {
                JArray jsonArray = JArray.Parse(content);

                Hot status = null;
                if (jsonArray != null)
                {
                    foreach (var j in jsonArray.Children())
                    {
                        status = j.ToObject <Hot>();
                        //status.recommend_cover_pic = status.recommend_cover_pic.Replace(Const_def.Hot320Url, Const_def.Hot240Url);
                        status.Media.User.Avatar = string.Concat(status.Media.User.Avatar, Const_def.Hot60Url);
                        list.Add(status);
                    }
                }
            }
            catch { }
            return(list);
        }