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