/// <summary> /// 加载频道是否有更新 /// </summary> /// <param name="count"></param> private void LoadRefresh(int count) { var channelId = ChannelId; if (channelId > 0) { xRefreshWait.Visibility = Visibility.Visible; var uri = string.Format(PPTVForWP7.Utils.PursuitUtils.DetailEpgUri, EPGSetting.Auth, channelId, EPGSetting.PlatformName); HttpAsyncUtils.HttpGet(uri, null, null, response => { try { using (var reader = XmlReader.Create(new System.IO.StringReader(response))) { if (reader.ReadToFollowing("video_list_count")) { NewCount = reader.ReadElementContentAsInt(); } } } catch { } Dispatcher.BeginInvoke(() => { xRefreshWait.Visibility = Visibility.Collapsed; if (NewCount > count) { xRefreshText.Text = string.Format("已更新到{0}集", NewCount); } }); }); } }
/// <summary> /// 更新频道缩略图与评分信息 /// </summary> /// <param name="record"></param> private void UpdateImageUri(CloudDataInfo record) { var vid = record.SubId == 0 ? record.Id : record.SubId; var uri = string.Format("{0}detail.api?ver=2&auth={1}&platform={2}&vid={3}", EpgUtils.VodHost, EpgUtils.Auth, EpgUtils.PlatformName, vid); HttpAsyncUtils.HttpGet(uri, null, null, response => { try { using (var reader = XmlReader.Create(new StringReader(response))) { if (reader.ReadToFollowing("imgurl")) { record.ImageUri = reader.ReadElementContentAsString(); } if (reader.ReadToFollowing("mark")) { record.Mark = reader.ReadElementContentAsDouble(); } } lock (_lock) { _updateImageList.Add(record); if (_updateImageList.Count >= _updateImageCount) { var list = _updateImageList.OrderByDescending(v => v.ModifyTime); _dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { try { foreach (var v in list) { if (DataInfos.Count >= MaxCount) { _postFactory.AddDeleteInfo(v); } else { DataInfos.Add(v); } } SubmitChange(); if (LocalChangeAction != null) { LocalChangeAction(); } } catch { } }); } } } catch { } }); }
/// <summary> /// 刷新Token /// </summary> /// <param name="callBack"></param> public void RefreshToken(string refreshToken, HttpAsyncHandler callBack) { var paras = new List <APIParameter>() { new APIParameter("client_id", RenrenSocialData.APIKey), new APIParameter("client_secret", RenrenSocialData.APISecret), new APIParameter("redirect_uri", RenrenSocialData.RedirectUri), new APIParameter("grant_type", "refresh_token"), new APIParameter("refresh_token", refreshToken) }; HttpAsyncUtils.HttpPost(RenrenSocialData.TokenUrl, HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack); }
/// <summary> /// 获取AccessToken /// </summary> /// <param name="code"></param> /// <param name="callBack"></param> public void AccessToken(string code, HttpAsyncHandler callBack) { var paras = new List <APIParameter>() { new APIParameter("grant_type", "authorization_code"), new APIParameter("code", code), new APIParameter("client_id", RenrenSocialData.APIKey), new APIParameter("client_secret", RenrenSocialData.APISecret), new APIParameter("redirect_uri", RenrenSocialData.RedirectUri), new APIParameter("format", "json") }; HttpAsyncUtils.HttpPost(RenrenSocialData.OAuthUri, HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded;charset=utf-8", callBack); }
/// <summary> /// /// </summary> /// <param name="paras"></param> /// <param name="callBack"></param> public void CallMethod(List <APIParameter> paras, HttpAsyncHandler callBack) { //paras.Add(new APIParameter("api_key", RenrenSocialData.APIKey)); //paras.Add(new APIParameter("call_id", DateTime.Now.Millisecond.ToString())); paras.Add(new APIParameter("v", "1.0")); paras.Add(new APIParameter("access_token", SocialViewModel.Instance.DataInfos[SocialType.RENREN].AcessToken)); paras.Add(new APIParameter("format", "json")); var strSig = CalSig(paras); if (string.IsNullOrEmpty(strSig)) { return; } paras.Add(new APIParameter("sig", strSig)); HttpAsyncUtils.HttpPost(RenrenSocialData.RenrenAPIUrl, HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack); }