18 QNetworkRequest request;
34 QNetworkRequest request;
39 QNetworkReply *reply =
m_manager.post(request, parameter);
66 const QVariant &data = json.
parse(
m_reply->readAll(), &ok);
69 QVariantMap value = data.toMap();
70 if(value[
"code"].toInt() == 200)
72 value = value[
"result"].toMap();
75 const QVariantList &datas = value[
"songs"].toList();
76 for(
const QVariant &var :
qAsConst(datas))
87 info.
m_songId = value[
"id"].toString();
90 const QVariantList &artistsArray = value[
"ar"].toList();
91 for(
const QVariant &artistValue :
qAsConst(artistsArray))
93 if(artistValue.isNull())
98 const QVariantMap &artistObject = artistValue.toMap();
101 info.
m_artistId = artistObject[
"id"].toString();
107 const QVariantMap &albumObject = value[
"al"].toMap();
108 info.
m_albumId = albumObject[
"id"].toString();
111 info.
m_coverUrl = albumObject[
"picUrl"].toString();
141 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
142 if(reply && reply->error() == QNetworkReply::NoError)
146 const QVariant &data = json.
parse(reply->readAll(), &ok);
149 QVariantMap value = data.toMap();
150 if(value[
"code"].toInt() == 200 && value.contains(
"songs"))
152 const QVariantList &datas = value[
"songs"].toList();
153 for(
const QVariant &var :
qAsConst(datas))
164 info.
m_songId = value[
"id"].toString();
167 const QVariantList &artistsArray = value[
"ar"].toList();
168 for(
const QVariant &artistValue :
qAsConst(artistsArray))
170 if(artistValue.isNull())
175 const QVariantMap &artistObject = artistValue.toMap();
178 info.
m_artistId = artistObject[
"id"].toString();
184 const QVariantMap &albumObject = value[
"al"].toMap();
185 info.
m_albumId = albumObject[
"id"].toString();
188 info.
m_coverUrl = albumObject[
"picUrl"].toString();
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
#define TTK_NETWORK_QUERY_CHECK(VALUE)
static constexpr const char * WY_SONG_SEARCH_URL
song url
void downLoadDataChanged(const QString &bytes)
MusicWYQueryRequest(QObject *parent=nullptr)
QString makeSongArtist(const QString &in, const QString &name)
virtual void downLoadFinished()
static constexpr const char * WY_SONG_INFO_DATA_URL
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
static constexpr const char * QUERY_WY_INTERFACE
void downLoadSingleFinished()
static constexpr const char * WY_SONG_INFO_URL
#define TTK_INFO_STREAM(msg)
static constexpr const char * WY_SONG_LRC_OLD_URL
QNetworkAccessManager m_manager
void createResultItem(const MusicResultInfoItem &songItem)
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
virtual void startToSearchByID(const QString &value) overridefinal
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 downLoadFinished() override
static constexpr const char * WY_SONG_SEARCH_DATA_URL
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
TTK_MODULE_EXPORT QString toString(Record type)
Main class used to convert JSON data to QVariant objects.
virtual void startToPage(int offset) overridefinal
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &data)
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)
virtual void downLoadFinished() overridefinal
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
static qint64 formatDuration(const QString &time) noexcept
#define TTKObjectCast(x, y)
The class of the query download data from net.
QString serverToString() const