/// <summary> /// 真正执行搜索的方法 /// </summary> /// <param name="songName"></param> /// <param name="pageNum"></param> private async void RealSearch(string songName, int pageNum) { if (_searcher == null) { IRequests req = new Requests(); req.OnError += RequestErrorCallBack; _searcher = new QqMusicMusicSearcher(req); _searcher.OnBeforeSearch += () => { UpdateLabelStatus("正在搜素中..."); }; _searcher.OnAfterSearch += () => { UpdateLabelStatus("搜素完毕!"); }; _searcher.OnSearchError += (exp) => { UpdateLabelStatus($"搜素出错:{exp.Message}"); }; _parser = new QqMusicParser(); _parser.OnBeforeParse += () => { UpdateLabelStatus("正在搜素中..."); }; _parser.OnAfterParse += () => { UpdateLabelStatus("解析完毕!"); }; _parser.OnParseError += (exp) => { UpdateLabelStatus($"解析出错:{exp.Message}"); }; } var searchInfo = await _searcher.SearchAsync(songName, pageNum); var musicInfos = await _parser.ParseAsync(searchInfo); _maxPageNum = musicInfos.Item1 % 20 == 0 ? musicInfos.Item1 / 20 : (musicInfos.Item1 / 20 + 1); LabelMaxPageNum.Content = "/" + _maxPageNum.ToString(); _songDataGridDbcontext = musicInfos.Item2; SongDataGrid.DataContext = _songDataGridDbcontext; BtnNext.IsEnabled = _curPageNum != _maxPageNum; BtnPre.IsEnabled = _curPageNum != 1; }
internal void SetMusicParser(IMusicParser musicParser) { this.musicParser = musicParser; }
public MainActivity() { _scanner = App.Container.Resolve <IMusicScanner>(); _parser = App.Container.Resolve <IMusicParser>(); _musicServiceType = App.Container.Resolve <MusicServiceAbstract>().GetType(); }