コード例 #1
0
        public void CatalogId()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual("19075933222", album.CatalogId);
        }
コード例 #2
0
        public void VersionDescription()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual("Limited edition, Mediabook", album.VersionDescription);
        }
コード例 #3
0
        public void AlbumTypeTest()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual(AlbumType.FullLength, album.AlbumType);
        }
コード例 #4
0
        public void ReleaseDate()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual(new DateTime(2019, 4, 26), album.ReleaseDate);
        }
コード例 #5
0
        public void BandUrl()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual(@"https://www.metal-archives.com/bands/Belzebubs/3540442691", album.BandUrl);
        }
コード例 #6
0
        public void BandName()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual("Belzebubs", album.BandName);
        }
コード例 #7
0
        public void Name()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual("Pantheon of the Nightside Gods", album.AlbumName);
        }
コード例 #8
0
        public void Id()
        {
            AlbumResult album = GetAlbum(Resources.Album_Belzebubs);

            Assert.AreEqual((ulong)763303, album.Id);
        }
コード例 #9
0
ファイル: TxMusic.cs プロジェクト: innerTide/AnyListen
        private AlbumResult SearchAlbum(string id)
        {
            var result = new AlbumResult
            {
                ErrorCode = 200,
                ErrorMsg  = "OK",
                AlbumLink = "http://h.dongting.com/yule/app/music_album.html?id=" + id,
                Songs     = new List <SongResult>()
            };
            var str = "albummid=" + id;

            if (Regex.IsMatch(id, @"^\d+$"))
            {
                str = "albumid=" + id;
            }
            var url =
                "http://i.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg?" + str +
                "&g_tk=5381&uin=0&format=jsonp&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1";
            var html = CommonHelper.GetHtmlContent(url);

            if (string.IsNullOrEmpty(html))
            {
                result.ErrorCode = 300;
                result.ErrorMsg  = "获取专辑信息失败";
                return(result);
            }
            try
            {
                var json = JObject.Parse(html.Replace("callback(", "").TrimEnd(')'));
                if (json["message"].ToString() != "succ")
                {
                    result.ErrorCode = 404;
                    result.ErrorMsg  = "请检查专辑ID是否正确";
                    return(result);
                }
                result.AlbumType = json["data"]["genre"].ToString();
                result.AlbumInfo = json["data"]["desc"].ToString();

                var mid = json["data"]["mid"].ToString();
                result.AlbumLink = "http://y.qq.com/#type=album&mid=" + mid;

                var datas = json["data"]["list"];
                var year  = json["data"]["aDate"].ToString();
                var cmp   = json["data"]["company"].ToString();
                var lug   = json["data"]["lan"].ToString();
                var ar    = json["data"]["singername"].ToString();
                result.Songs = GetListByJson(datas);
                var index = 0;
                foreach (var r in result.Songs)
                {
                    index++;
                    r.TrackNum    = index.ToString();
                    r.Year        = year;
                    r.Company     = cmp;
                    r.Language    = lug;
                    r.AlbumArtist = ar;
                }
                return(result);
            }
            catch (Exception ex)
            {
                CommonHelper.AddLog(ex);
                result.ErrorCode = 500;
                result.ErrorMsg  = "专辑解析失败";
                return(result);
            }
        }