3 static constexpr
const char *
WY_PLAYLIST_URL =
"aFZGMG5CbXZXNmNGaS9jZEV6S0c2RE53Tm5Ud3I3WGJSS2ErQVQ5RjdYRlhUMENuS25yRnYwVHUzMnIrQUJQaFRVTlMrSTJUM1pNPQ==";
4 static constexpr
const char *
WY_PLAYLIST_DATA_URL =
"NXA2YlMvSVEyRWhvckRqclAzdDdreHY5L0JMb0tYS2tJRGhnRDlidVRUcHBFR0I5b3dXb1pPU0dDWGdpMjc3VDBpaUpBT05oNnlOc2czZmgxVGVpR2dTR01pbWhsVUdFRWhWYnpscUkzeTA9";
5 static constexpr
const char *
WY_PLAYLIST_INFO_V1_URL =
"VUdTa0xMeG1Nblc4cThoS2E1QzhJK0lrTHJBRmk4TUJZMC9NQW1GanZydDJmR0VJVVRZNmJQSEhOZU96aE55bTJxdW55RldJOHl6aElNdTlHbkZkSmc9PQ==";
6 static constexpr
const char *
WY_PLAYLIST_INFO_V1_DATA_URL =
"VkpFemFKQWtOY2ZXeUNpZ210VjVGYndOZ2VibUZlZHV6amZJaE5VL1czaWFzRkNqV2lYKy9CR29McXl6LzUrUldWcmtKS0Fjb0s5dFBFeXpCaHRCc1dhYlp1bGd3U1ZY";
7 static constexpr
const char *
WY_PLAYLIST_INFO_V2_URL =
"VENmNTdHK2VacjVvTFp3WmFKT2wrNmNnWHM1N3FDUHNGUHZ4MWdvU2x2bzdMM0xCSXFaaFRWWnNYTkpLeGdnVw==";
9 static constexpr
const char *
WY_PLAYLIST_RECOMMED_URL =
"Z3N3cXVjb1ZoV2pxRVY1d1RoSStuMXp3MGsreUVPRVNtQjVNMUR2WXgwWHJrTHBlODYxcFJpUnozbGlCNTBzYkF4eFRNMDd0dHk2eEF3WkVnc3hVdlE9PQ==";
11 static constexpr
const char *
WY_PLAYLIST_HQ_URL =
"bUZ0V2JxeUFxWFF6U3MxVUcrZklyUGhPc245MEF2TVlHVnNGdnZNVjZTWVJ6RmN1ZGZZNGFScWJsWCt3b1h6YnhYSFA4ZVQ2SC85N1Y4eFp3ZVhjNkZuUlNHTT0=";
12 static constexpr
const char *
WY_PLAYLIST_HQ_DATA_URL =
"MUlkMGR1NU00VzZJbjh1algwclpzY1NNTngzREN3TEoxUExOWVVmbDdPUTZlKzJOeFkwUjdGeUlRaDNGd2JoSzhBcEdtVk5paVc1VnFOdEE=";
29 QNetworkRequest request;
45 QNetworkRequest request;
78 QNetworkRequest request;
93 QVariantMap value = json.
toVariant().toMap();
94 if(value[
"code"].toInt() == 200 && value.contains(
"playlist"))
96 value = value[
"playlist"].toMap();
97 item.
m_name = value[
"name"].toString();
98 item.
m_title = value[
"detailPageTitle"].toString();
99 item.
m_count = value[
"playCount"].toString();
102 item.
m_coverUrl = value[
"coverImgUrl"].toString();
105 const QVariantList &tags = value[
"tags"].toList();
106 for(
const QVariant &var :
qAsConst(tags))
121 value = value[
"creator"].toMap();
122 item.
m_nickName = value[
"nickname"].toString();
138 QVariantMap value = json.
toVariant().toMap();
139 if(value[
"code"].toInt() == 200 && value.contains(
"playlists"))
143 const QVariantList &datas = value[
"playlists"].toList();
144 for(
const QVariant &var :
qAsConst(datas))
155 item.
m_id = value[
"id"].toString();
156 item.
m_name = value[
"name"].toString();
157 item.
m_count = value[
"playCount"].toString();
158 item.
m_coverUrl = value[
"coverImgUrl"].toString();
160 value = value[
"creator"].toMap();
161 item.
m_nickName = value[
"nickname"].toString();
177 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
178 if(reply && reply->error() == QNetworkReply::NoError)
184 QVariantMap value = json.
toVariant().toMap();
185 if(value[
"code"].toInt() == 200 && value.contains(
"playlist"))
187 value = value[
"playlist"].toMap();
189 const QVariantList &datas = value[
"tracks"].toList();
190 for(
const QVariant &var :
qAsConst(datas))
201 info.
m_songId = value[
"id"].toString();
204 const QVariantList &artistsArray = value[
"ar"].toList();
205 for(
const QVariant &artistValue :
qAsConst(artistsArray))
207 if(artistValue.isNull())
212 const QVariantMap &artistObject = artistValue.toMap();
215 info.
m_artistId = artistObject[
"id"].toString();
221 const QVariantMap &albumObject = value[
"al"].toMap();
222 info.
m_albumId = albumObject[
"id"].toString();
262 QNetworkRequest request;
296 QVariantMap value = json.
toVariant().toMap();
297 if(value[
"code"].toInt() == 200 && value.contains(
"result"))
299 const QVariantList &datas = value[
"result"].toList();
300 for(
const QVariant &var :
qAsConst(datas))
311 item.
m_id = value[
"id"].toString();
312 item.
m_name = value[
"name"].toString();
353 QNetworkRequest request;
367 switch(value.toInt())
400 QVariantMap value = json.
toVariant().toMap();
401 if(value[
"code"].toInt() == 200 && value.contains(
"playlists"))
409 m_more = value[
"more"].toBool();
412 const QVariantList &datas = value[
"playlists"].toList();
413 for(
const QVariant &var :
qAsConst(datas))
424 item.
m_id = value[
"id"].toString();
425 item.
m_name = value[
"name"].toString();
426 item.
m_coverUrl = value[
"coverImgUrl"].toString();
428 value = value[
"creator"].toMap();
429 item.
m_nickName = value[
"nickname"].toString();
TTK_MODULE_EXPORT QByteArray syncNetworkQueryForPost(QNetworkRequest *request, const QByteArray &data)
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
#define TTK_NETWORK_QUERY_CHECK(VALUE)
The class of the search result data item.
static constexpr const char * WY_PLAYLIST_HQ_URL
static constexpr const char * WY_PLAYLIST_URL
void downloadDataChanged(const QString &bytes)
virtual void startToPage(int offset) overridefinal
static constexpr const char * WY_PLAYLIST_HQ_DATA_URL
QVariant toVariant() const
static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error=0)
virtual void startToSearchByID(const QString &value) override
QHash< int, qint64 > m_updateTime
QString makeSongArtist(const QString &in, const QString &name)
void createResultItem(const MusicResultInfoItem &result)
The class of the query playlist data from net.
void makeRequestRawHeader(QNetworkRequest *request) noexcept
MusicWYQueryPlaylistRecommendRequest(QObject *parent=nullptr)
void createPlaylistItem(const MusicResultDataItem &item)
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
static constexpr const char * WY_PLAYLIST_INFO_V1_URL
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
MusicWYQueryPlaylistRequest(QObject *parent=nullptr)
static constexpr const char * WY_PLAYLIST_RECOMMED_URL
static constexpr const char * QUERY_WY_INTERFACE
#define TTK_INFO_STREAM(msg)
virtual void downloadFinished() overridefinal
static constexpr const char * WY_SONG_LRC_OLD_URL
QNetworkAccessManager m_manager
static constexpr const char * WY_PLAYLIST_INFO_V2_DATA_URL
bool fetchUrlPathSize(TTK::MusicSongProperty *prop, const QString &duration) const
virtual void replyError(QNetworkReply::NetworkError error) override
virtual void startToPage(int offset) overridefinal
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
virtual void downloadFinished() overridefinal
TTK_MODULE_EXPORT QString toString(Record type) noexcept
virtual void startToSearch(const QString &value) overridefinal
virtual void downloadFinished()
static constexpr const char * WY_PLAYLIST_INFO_V1_DATA_URL
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
virtual void startToSearchByID(const QString &value) overridefinal
static constexpr const char * WY_PLAYLIST_RECOMMED_DATA_URL
MusicWYQueryPlaylistHighRequest(QObject *parent=nullptr)
virtual void startToSearch(const QString &value) overridefinal
virtual void downloadFinished() override
static QString format(const QString &time, const QString &format)
void downloadDetailsFinished()
static constexpr const char * WY_PLAYLIST_DATA_URL
virtual void downloadFinished() overridefinal
virtual void startToPage(int offset) overridefinal
static constexpr const char * WY_PLAYLIST_INFO_V2_URL
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &data)
virtual void startToSearch(const QString &value) overridefinal
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)
virtual void startToQueryInfo(MusicResultDataItem &item) overridefinal
QString makeCoverPixmapUrl(const QString &id)
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
static qint64 formatDuration(const QString &time) noexcept
#define TTKObjectCast(x, y)
QString serverToString() const