/// <summary> /// 从豆瓣获取歌词 /// </summary> /// <param name="song">歌曲</param> /// <returns>歌词</returns> protected static Lyrics GetDoubanLyrics(Song song) { Parameters parameters = new Parameters(); parameters["song_id"] = song.SongID; var url = ConnectionBase.ConstructUrlWithParameters("http://music.douban.com/api/song/info", parameters); var conn = new ConnectionBase(); var content = conn.Get(url); if (string.IsNullOrEmpty(content)) { return(null); } var songInfo = JsonHelper.Deserialize <SongInfo>(content); if (songInfo == null || string.IsNullOrEmpty(songInfo.Lyric)) { return(null); } try { return(new Lyrics(songInfo.Lyric)); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return(null); } }
public List <ImPlayer.FM.Models.SearchResult> RemoteSearch(string keywords, int pageIndex) { Parameters parameters = new Parameters(); parameters["start"] = ((pageIndex - 1) * 15).ToString(); parameters["search_text"] = keywords; string url = ConnectionBase.ConstructUrlWithParameters("http://music.douban.com/subject_search", parameters); ConnectionBase connection = new ConnectionBase(true); string file = string.Empty; try { file = connection.Get(url); } catch (Exception ex) { file = new ConnectionBase().Get("http://music.douban.com"); file = new ConnectionBase().Get(url); } var searhResult = GetSearchItems(file); var previous = GetPreviousPageLink(file); var next = GetNextPageLink(file); return(searhResult.ToList()); }
public List <Models.GroupInfo> GetGroupInfoList() { var conn = new ConnectionBase(); var json = conn.Get("https://api.douban.com/v2/fm/app_channels"); Models.GroupListInfo groups = Framework.Common.Helpers.JsonHelper.Deserialize <Models.GroupListInfo>(json); return(groups.GroupList); }
public List <Models.Channel> GetChannelList() { var conn = new ConnectionBase(); var json = conn.Get("https://api.douban.com/v2/fm/app_channels"); Models.GroupListInfo groups = Framework.Common.Helpers.JsonHelper.Deserialize <Models.GroupListInfo>(json); List <Models.Channel> list = new List <Models.Channel>(); foreach (var groupsChild in groups.GroupList) { foreach (var item in groupsChild.Chls) { list.Add(item); } } return(list); }
public List<Models.SearchResult> RemoteSearch(string keywords, int pageIndex) { Parameters parameters = new Parameters(); parameters["start"] = ((pageIndex - 1) * 15).ToString(); parameters["search_text"] = keywords; string url = ConnectionBase.ConstructUrlWithParameters("http://music.douban.com/subject_search", parameters); ConnectionBase connection = new ConnectionBase(true); string file = string.Empty; try { file = connection.Get(url); } catch (Exception ex) { file = new ConnectionBase().Get("http://music.douban.com"); file = new ConnectionBase().Get(url); } var searhResult = GetSearchItems(file); var previous = GetPreviousPageLink(file); var next = GetNextPageLink(file); return searhResult.ToList(); }
/// <summary> /// 搜索 /// </summary> /// <param name="text">搜索文本</param> /// <param name="start">Start值</param> void Search() { if (IsSearchFinished == false)return; SearchResult = null; IsSearchFinished = false; PreviousPageLink = null; NextPageLink = null; ThreadPool.QueueUserWorkItem(new WaitCallback((state)=> { //构造链接 Parameters parameters = new Parameters(); parameters["start"] = ((_page - 1) * 15).ToString(); parameters["search_text"] = _searchText; string url = ConnectionBase.ConstructUrlWithParameters("http://music.douban.com/subject_search", parameters); //获取网页 ConnectionBase connection= new ConnectionBase(true); string file = string.Empty; try { file = connection.Get(url); } catch (Exception ex) { Debug.WriteLine(ex); file = new ConnectionBase().Get("http://music.douban.com"); file = new ConnectionBase().Get(url); } var searhResult = GetSearchItems(file); var previous = GetPreviousPageLink(file); var next = GetNextPageLink(file); Dispatcher.Invoke(new Action(() => { SearchResult = searhResult; PreviousPageLink = previous; NextPageLink = next; IsSearchFinished = true; })); })); }
public Models.ChannelList GetChannelList() { var conn = new ConnectionBase(); var json = conn.Get("http://doubanfmcloud-channelinfo.stor.sinaapp.com/channelinfo"); return Framework.Common.Helpers.JsonHelper.Deserialize<Models.ChannelList>(json); }