18 QNetworkRequest request;
33 QNetworkRequest request;
37 QNetworkReply *reply =
m_manager.get(request);
64 const QVariant &data = json.
parse(
m_reply->readAll(), &ok);
67 QVariantMap value = data.toMap();
68 if(value.contains(
"data"))
70 value = value[
"data"].toMap();
73 const QVariantList &datas = value[
"info"].toList();
74 for(
const QVariant &var :
qAsConst(datas))
85 info.
m_songId = value[
"hash"].toString();
90 info.
m_albumId = value[
"album_id"].toString();
125 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
126 if(reply && reply->error() == QNetworkReply::NoError)
130 const QVariant &data = json.
parse(reply->readAll(), &ok);
133 QVariantMap value = data.toMap();
134 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
136 value = value[
"data"].toMap();
139 info.
m_songId = value[
"hash"].toString();
142 info.
m_artistId = value[
"singerid"].toString();
145 const QVariantList &albumArray = value[
"album"].toList();
146 for(
const QVariant &var :
qAsConst(albumArray))
153 const QVariantMap &albumObject = var.toMap();
159 info.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"480");
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
#define TTK_NETWORK_QUERY_CHECK(VALUE)
static constexpr const char * KG_SONG_INFO_URL
void downLoadDataChanged(const QString &bytes)
static constexpr const char * QUERY_KG_INTERFACE
QString makeSongArtist(const QString &name)
virtual void downLoadFinished()
void makeRequestRawHeader(QNetworkRequest *request)
void downLoadSingleFinished()
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
#define TTK_INFO_STREAM(msg)
QNetworkAccessManager m_manager
void createResultItem(const MusicResultInfoItem &songItem)
static constexpr const char * KG_SONG_LRC_URL
static constexpr const char * KG_SONG_SEARCH_URL
song url
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
virtual void downLoadFinished() overridefinal
MusicKGQueryRequest(QObject *parent=nullptr)
TTK_MODULE_EXPORT QString toString(Record type)
void parseFromSongAlbumLrc(TTK::MusicSongInformation *info)
virtual void startToPage(int offset) overridefinal
virtual void startToSearchByID(const QString &value) overridefinal
Main class used to convert JSON data to QVariant objects.
void parseFromSongAlbumInfo(TTK::MusicSongInformation *info, const QString &album)
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
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)
The class of the query download data from net.
QString serverToString() const