20 QNetworkRequest request;
36 QNetworkRequest request;
40 QNetworkReply *reply =
m_manager.get(request);
69 QVariantMap value = json.
toVariant().toMap();
70 if(value.contains(
"data"))
72 value = value[
"data"].toMap();
75 const QVariantList &datas = value[
"info"].toList();
76 for(
const QVariant &var :
qAsConst(datas))
87 info.
m_songId = value[
"hash"].toString();
121 QNetworkReply *reply =
TTKObjectCast(QNetworkReply*, sender());
122 if(reply && reply->error() == QNetworkReply::NoError)
128 QVariantMap value = json.
toVariant().toMap();
129 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
131 value = value[
"data"].toMap();
137 info.
m_artistId = value[
"singerid"].toString();
140 const QVariantList &albumArray = value[
"album"].toList();
141 for(
const QVariant &var :
qAsConst(albumArray))
148 const QVariantMap &albumObject = var.toMap();
154 info.
m_coverUrl = value[
"imgurl"].toString().replace(
"{size}",
"500");
192 QNetworkRequest request;
225 QVariantMap value = json.
toVariant().toMap();
226 if(value[
"errcode"].toInt() == 0 && value.contains(
"data"))
228 value = value[
"data"].toMap();
230 const QVariantList &datas = value[
"info"].toList();
231 for(
const QVariant &var :
qAsConst(datas))
249 info.
m_songId = value[
"hash"].toString();
252 const QVariantList &artistsArray = value[
"authors"].toList();
253 for(
const QVariant &artistValue :
qAsConst(artistsArray))
255 if(artistValue.isNull())
260 const QVariantMap &artistObject = artistValue.toMap();
263 info.
m_artistId = artistObject[
"author_id"].toString();
269 info.
m_albumId = value[
"album_id"].toString();
272 info.
m_coverUrl = value[
"album_sizable_cover"].toString().replace(
"{size}",
"500");
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
bool pageValid() const noexcept
#define TTK_NETWORK_QUERY_CHECK(VALUE)
virtual void downloadFinished() overridefinal
static constexpr const char * KG_SONG_INFO_URL
The class of the query song data from net.
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 startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
void createResultItem(const MusicResultInfoItem &result)
QString makeSongArtist(const QString &name)
static constexpr const char * KG_SEARCH_URL
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
TTK::MusicSongInformationList m_items
virtual void startToPage(int offset) overridefinal
#define TTK_INFO_STREAM(msg)
QNetworkAccessManager m_manager
virtual void startToSearchByID(const QString &value) overridefinal
static constexpr const char * KG_SONG_LRC_URL
bool fetchUrlPathSize(TTK::MusicSongProperty *prop, const QString &duration) const
virtual void replyError(QNetworkReply::NetworkError error) override
MusicKGQueryNewSongRequest(QObject *parent=nullptr)
void downloadSingleFinished()
TTK_MODULE_EXPORT QString toString(Record type) noexcept
virtual void downloadFinished()
MusicKGQuerySongRequest(QObject *parent=nullptr)
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
void parseFromSongAlbumLrc(TTK::MusicSongInformation *info)
virtual void startToPage(int offset) overridefinal
virtual void downloadFinished() override
void parseFromSongAlbumInfo(TTK::MusicSongInformation *info, const QString &album)
static QString format(const QString &time, const QString &format)
static constexpr const char * KG_NEW_SONG_URL
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
static constexpr const char * KG_TOPLIST_URL
void makeRequestRawHeader(QNetworkRequest *request) noexcept
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)
QString serverToString() const