18 QNetworkRequest request;
55 const QVariant &data = json.
parse(
m_reply->readAll(), &ok);
58 QVariantMap value = data.toMap();
59 if(value[
"code"].toInt() == 200 && value.contains(
"playlist"))
61 value = value[
"playlist"].toMap();
66 const QVariantList &datas = value[
"tracks"].toList();
67 for(
const QVariant &var :
qAsConst(datas))
78 info.
m_songId = value[
"id"].toString();
81 const QVariantList &artistsArray = value[
"ar"].toList();
82 for(
const QVariant &artistValue :
qAsConst(artistsArray))
84 if(artistValue.isNull())
89 const QVariantMap &artistObject = artistValue.toMap();
92 info.
m_artistId = artistObject[
"id"].toString();
98 const QVariantMap &albumObject = value[
"al"].toMap();
99 info.
m_albumId = albumObject[
"id"].toString();
102 info.
m_coverUrl = albumObject[
"picUrl"].toString();
126 item.
m_name = input[
"name"].toString();
127 item.
m_coverUrl = input[
"coverImgUrl"].toString();
128 item.
m_count = input[
"playCount"].toString();
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
virtual void queryToplistInfo(const QVariantMap &input) overridefinal
The class of the query toplist download data from net.
#define TTK_NETWORK_QUERY_CHECK(VALUE)
The class of the search result data item.
void downLoadDataChanged(const QString &bytes)
QString makeSongArtist(const QString &in, const QString &name)
MusicWYQueryToplistRequest(QObject *parent=nullptr)
virtual void downLoadFinished()
static constexpr const char * WY_TOPLIST_DATA_URL
static constexpr const char * WY_TOPLIST_URL
toplist url
virtual void downLoadFinished() overridefinal
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
virtual void startToPage(int offset) overridefinal
TTK::MusicSongInformationList m_items
static constexpr const char * QUERY_WY_INTERFACE
#define TTK_INFO_STREAM(msg)
static constexpr const char * WY_SONG_LRC_OLD_URL
QNetworkAccessManager m_manager
void createResultItem(const MusicResultInfoItem &songItem)
virtual void startToSearch(const QString &value) override
bool fetchUrlPathSize(TTK::MusicSongProperty *prop, const QString &duration) const
virtual void replyError(QNetworkReply::NetworkError error) override
QVariant parse(QIODevice *io, bool *ok=0)
Read JSON string from the I/O Device and converts it to a QVariant object.
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
virtual void startToSearch(const QString &value) overridefinal
TTK_MODULE_EXPORT QString toString(Record type)
void createToplistItem(const MusicResultDataItem &item)
Main class used to convert JSON data to QVariant objects.
static QString format(const QString &time, const QString &format)
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &data)
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
static qint64 formatDuration(const QString &time) noexcept
QString serverToString() const