3 static constexpr
const char *
KG_PLAYLIST_URL =
"VXJlbFlzWElZQ25iMzhicGJIVWJqRGpMdnJJU0tlZXdUTlVpWUJkN0xxR1Qya3dud3dLY2JSaWphWTF6QUw5RDJFK3hlZWhxdGhrRWFhQkpJUFhxOGUrY1J2d1NQVGZNM29pOXVXU3h0V1hrR0RIMnhHK2JYZz09";
4 static constexpr
const char *
KG_PLAYLIST_INFO_URL =
"NHZmb0FWT2NGVmkrQ01QNFBYTXM3RGFMbkJrb3VtQXExWXBLK2JIRW5VZEQ1YUN1eEM4Y1l3U09Lb20zWDlKTHBSZXhEdHhveHdLbWFMWnhMR3FnL2c0TTk4SUFMbFdDVDFScVF1UXZMS3BrYVpqdnFURmRUUElxcXlFd3FNVTJNRDhPQ0E9PQ==";
5 static constexpr
const char *
KG_PLAYLIST_DETAIL_URL =
"cEt0bHpiRkFKMTFZbzUyQ1prK1RCMjBqWnRRMGRKY2FqYnVSRllPZHMwcmoyVkZ3WG8vTWhMVUR0ZTdIZUszYmdybXBUdEVxOHdiSEM3Nmw=";
6 static constexpr
const char *
KG_PLAYLIST_RECOMMED_URL =
"OTV1T3MyeFp6T2w4dXpEaTM4d3RKMzZhaHdJZVhsSCtHSTYyUXIwNWFXeEJsVVJ2cTlPcnhLQWlDZGk5c0oxZW1WUGxUQlpMV0NtL2R4WkpkVzVIYmQzd3lWejYwUXIrelVQWXU4NUI3dGM5aTNoZA==";
24 QNetworkRequest request;
39 QNetworkRequest request;
43 QNetworkReply *reply =
m_manager.get(request);
67 QNetworkRequest request;
81 QVariantMap value = json.
toVariant().toMap();
82 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
84 value = value[
"data"].toMap();
85 item.
m_name = value[
"specialname"].toString();
86 item.
m_count = value[
"playcount"].toString();
88 item.
m_time = value[
"publishtime"].toString();
89 item.
m_nickName = value[
"nickname"].toString();
90 item.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"500");
93 const QVariantList &tags = value[
"tags"].toList();
94 for(
const QVariant &var :
qAsConst(tags))
125 QVariantMap value = json.
toVariant().toMap();
126 if(value[
"errcode"].toInt() == 0)
128 value = value[
"data"].toMap();
131 const QVariantList &datas = value[
"info"].toList();
132 for(
const QVariant &var :
qAsConst(datas))
143 item.
m_id = value[
"specialid"].toString();
144 item.
m_name = value[
"specialname"].toString();
145 item.
m_count = value[
"playcount"].toString();
146 item.
m_nickName = value[
"username"].toString();
147 item.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"500");
163 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
164 if(reply && reply->error() == QNetworkReply::NoError)
170 QVariantMap value = json.
toVariant().toMap();
171 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
173 value = value[
"data"].toMap();
175 const QVariantList &datas = value[
"info"].toList();
176 for(
const QVariant &var :
qAsConst(datas))
187 info.
m_songId = value[
"hash"].toString();
189 info.
m_albumId = value[
"album_id"].toString();
234 QNetworkRequest request;
267 QVariantMap value = json.
toVariant().toMap();
268 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
270 value = value[
"data"].toMap();
273 const QVariantList &datas = value[
"info"].toList();
274 for(
const QVariant &var :
qAsConst(datas))
285 item.
m_id = value[
"specialid"].toString();
286 item.
m_name = value[
"specialname"].toString();
287 item.
m_count = value[
"playcount"].toString();
288 item.
m_nickName = value[
"username"].toString();
289 item.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"500");
316 QNetworkRequest request;
329 switch(value.toInt())
358 QVariantMap value = json.
toVariant().toMap();
359 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
361 value = value[
"data"].toMap();
364 const QVariantList &datas = value[
"info"].toList();
365 for(
const QVariant &var :
qAsConst(datas))
376 item.
m_id = value[
"specialid"].toString();
377 item.
m_name = value[
"specialname"].toString();
378 item.
m_count = value[
"playcount"].toString();
379 item.
m_nickName = value[
"username"].toString();
380 item.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"500");
#define TTK_NETWORK_QUERY_CHECK(VALUE)
virtual void startToPage(int offset) overridefinal
virtual void startToSearch(const QString &value) overridefinal
The class of the search result data item.
virtual void downloadFinished() overridefinal
void downloadDetailsFinished()
virtual void downloadFinished() overridefinal
void downloadDataChanged(const QString &bytes)
QVariant toVariant() const
static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error=0)
static constexpr const char * QUERY_KG_INTERFACE
virtual void downloadFinished() overridefinal
static constexpr const char * KG_PLAYLIST_DETAIL_URL
void createResultItem(const MusicResultInfoItem &result)
TTK_MODULE_EXPORT QByteArray syncNetworkQueryForGet(QNetworkRequest *request)
static constexpr const char * KG_PLAYLIST_RECOMMED_URL
virtual void startToPage(int offset) overridefinal
The class of the query playlist data from net.
void createPlaylistItem(const MusicResultDataItem &item)
static constexpr const char * KG_PLAYLIST_URL
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
MusicKGQueryPlaylistHighRequest(QObject *parent=nullptr)
virtual void startToSearch(const QString &value) overridefinal
#define TTK_INFO_STREAM(msg)
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
QNetworkAccessManager m_manager
MusicKGQueryPlaylistRecommendRequest(QObject *parent=nullptr)
bool fetchUrlPathSize(TTK::MusicSongProperty *prop, const QString &duration) const
static constexpr const char * KG_PLAYLIST_HQ_URL
virtual void replyError(QNetworkReply::NetworkError error) override
TTK_MODULE_EXPORT QString toString(Record type) noexcept
virtual void startToSearch(const QString &value) overridefinal
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
MusicKGQueryPlaylistRequest(QObject *parent=nullptr)
virtual void downloadFinished()
static constexpr const char * KG_PLAYLIST_INFO_URL
void parseFromSongAlbumLrc(TTK::MusicSongInformation *info)
virtual void startToPage(int offset) overridefinal
virtual void downloadFinished() override
void parseFromSongAlbumInfo(TTK::MusicSongInformation *info, const QString &album)
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
void makeRequestRawHeader(QNetworkRequest *request) noexcept
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
#define TTKObjectCast(x, y)
QString serverToString() const