/// <summary> /// 获取下载链接中的vkey /// </summary> /// <param name="songMid"></param> /// <param name="fileName"></param> /// <returns></returns> private async Task <QqMusicVkeyModel> GetVkeyInfo(string songMid, string fileName) { return(await Task.Run(async() => { var url = new Uri(string.Format(_fcgUrl, songMid, fileName)); var vkeyInfo = await _requests.StartAsync(url); var leftQuotoIndex = vkeyInfo.IndexOf("(", StringComparison.Ordinal); vkeyInfo = vkeyInfo.Substring(leftQuotoIndex + 1, vkeyInfo.Length - leftQuotoIndex - 2); var models = JSON.Deserialize <QqMusicVkeyModel>(vkeyInfo); return models; })); }
/// <summary> /// 根据关键字进行搜索 /// </summary> /// <param name="keyword">音乐名或者歌手</param> /// <param name="page">页码</param> /// <returns></returns> public async Task <string> SearchAsync(string keyword, int page = 1) { return(await Task.Run(async() => { try { OnBeforeSearch?.Invoke(); var songAboutInfo = await _requests.StartAsync(new Uri(string.Format(SearchUrl, page, keyword))); OnAfterSearch?.Invoke(); return songAboutInfo; } catch (Exception e) { OnSearchError?.Invoke(e); return ""; } })); }