3 static constexpr
const char *
KG_TOPLIST_INFO_URL =
"b1QrYWx1TlJMWm00UHRMSUF3Ymcram5IWVRML1lXazdIR2I2RXVmZ0VzTUV3MjNEZG1nS003T2ZJV0c2Njl0NA==";
20 QNetworkRequest request;
58 QVariantMap value = json.
toVariant().toMap();
59 if(value.contains(
"data"))
61 value = value[
"data"].toMap();
66 const QVariantList &datas = value[
"info"].toList();
67 for(
const QVariant &var :
qAsConst(datas))
78 info.
m_songId = value[
"hash"].toString();
81 const QVariantList &artistsArray = value[
"authors"].toList();
82 for(
const QVariant &artistValue :
qAsConst(artistsArray))
84 if(artistValue.isNull())
89 const QVariantMap &artistObject = artistValue.toMap();
92 info.
m_artistId = artistObject[
"author_id"].toString();
98 info.
m_albumId = value[
"album_id"].toString();
101 info.
m_coverUrl = value[
"album_sizable_cover"].toString().replace(
"{size}",
"500");
126 QNetworkRequest request;
140 QVariantMap value = json.
toVariant().toMap();
141 if(value.contains(
"data"))
143 value = value[
"data"].toMap();
147 const QVariantList &datas = value[
"info"].toList();
148 for(
const QVariant &var :
qAsConst(datas))
163 item.
m_name = value[
"rankname"].toString();
164 item.
m_count = value[
"play_times"].toString();
166 item.
m_coverUrl = value[
"banner7url"].toString().replace(
"{size}",
"500");
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
The class of the query toplist data from net.
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
#define TTK_NETWORK_QUERY_CHECK(VALUE)
The class of the search result data item.
void downloadDataChanged(const QString &bytes)
QVariant toVariant() const
static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error=0)
static constexpr const char * QUERY_KG_INTERFACE
void createResultItem(const MusicResultInfoItem &result)
QString makeSongArtist(const QString &name)
TTK_MODULE_EXPORT QByteArray syncNetworkQueryForGet(QNetworkRequest *request)
virtual void startToPage(int offset) overridefinal
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
virtual void queryToplistInfo(const QVariantMap &input) overridefinal
#define TTK_INFO_STREAM(msg)
QNetworkAccessManager m_manager
static constexpr const char * KG_SONG_LRC_URL
MusicKGQueryToplistRequest(QObject *parent=nullptr)
virtual void startToSearch(const QString &value) override
bool fetchUrlPathSize(TTK::MusicSongProperty *prop, const QString &duration) const
virtual void replyError(QNetworkReply::NetworkError error) override
static constexpr const char * KG_TOPLIST_INFO_URL
TTK_MODULE_EXPORT QString toString(Record type) noexcept
virtual void downloadFinished()
void createToplistItem(const MusicResultDataItem &item)
static QString format(const QString &time, const QString &format)
virtual void startToSearch(const QString &value) overridefinal
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
static constexpr const char * KG_TOPLIST_URL
void makeRequestRawHeader(QNetworkRequest *request) noexcept
virtual void downloadFinished() overridefinal
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