18 QNetworkRequest request;
34 QNetworkRequest request;
39 QNetworkReply *reply =
m_manager.post(request, parameter);
64 const QVariant &data = json.
parse(
m_reply->readAll(), &ok);
67 QVariantMap value = data.toMap();
68 if(value[
"code"].toInt() == 200)
70 value = value[
"result"].toMap();
73 const QVariantList &datas = value[
"songs"].toList();
74 for(
const QVariant &var :
qAsConst(datas))
85 info.
m_songId = value[
"id"].toString();
88 const QVariantList &artistsArray = value[
"ar"].toList();
89 for(
const QVariant &artistValue :
qAsConst(artistsArray))
91 if(artistValue.isNull())
96 const QVariantMap &artistObject = artistValue.toMap();
99 info.
m_artistId = artistObject[
"id"].toString();
105 const QVariantMap &albumObject = value[
"al"].toMap();
106 info.
m_albumId = albumObject[
"id"].toString();
109 info.
m_coverUrl = albumObject[
"picUrl"].toString();
139 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
140 if(reply && reply->error() == QNetworkReply::NoError)
144 const QVariant &data = json.
parse(reply->readAll(), &ok);
147 QVariantMap value = data.toMap();
148 if(value[
"code"].toInt() == 200 && value.contains(
"songs"))
150 const QVariantList &datas = value[
"songs"].toList();
151 for(
const QVariant &var :
qAsConst(datas))
162 info.
m_songId = value[
"id"].toString();
165 const QVariantList &artistsArray = value[
"ar"].toList();
166 for(
const QVariant &artistValue :
qAsConst(artistsArray))
168 if(artistValue.isNull())
173 const QVariantMap &artistObject = artistValue.toMap();
176 info.
m_artistId = artistObject[
"id"].toString();
182 const QVariantMap &albumObject = value[
"al"].toMap();
183 info.
m_albumId = albumObject[
"id"].toString();
186 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
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)
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &type)
TTK_MODULE_EXPORT QString toString(Record type)
Main class used to convert JSON data to QVariant objects.
virtual void startToPage(int offset) overridefinal
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