8 static constexpr
const char *
LQ_BASE_URL =
"VzJWczlXM2hMeCtTZzhLRFJvZWxUUTVmZUVBLzlMWmo=";
9 static constexpr
const char *
LQ_RECOMMEND_URL =
"NDhiOGZ6dUJWNTBvN3R5OHNOQmkyQVVwOXdWbDNBOG14MmVXWVJxWlVXRkxuNUxxdzdYTEpUYVZRNVE9";
24 const int length = key[
"length"].toInt();
76 QNetworkRequest request;
110 const QVariant &data = json.
parse(
m_reply->readAll(), &ok);
113 const QVariantList &datas = data.toList();
114 for(
const QVariant &var :
qAsConst(datas))
126 QVariantMap value = var.toMap();
130 info.
m_songId = value[
"id"].toString();
133 const QVariantList &artistsArray = value[
"artistInfo"].toList();
134 for(
const QVariant &artistValue :
qAsConst(artistsArray))
136 if(artistValue.isNull())
141 const QVariantMap &artistObject = artistValue.toMap();
144 info.
m_artistId = artistObject[
"id"].toString();
151 const QVariantMap &albumObject = value[
"albumInfo"].toMap();
152 info.
m_albumId = albumObject[
"id"].toString();
157 info.
m_duration = value[
"songLength"].toString();
158 info.
m_year = value[
"year"].toString();
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
#define TTK_NETWORK_QUERY_CHECK(VALUE)
void downLoadDataChanged(const QString &bytes)
The namespace of the lq request interface.
The class of the music song property.
static constexpr wchar_t key[]
TTK_MODULE_EXPORT void setSslConfiguration(QNetworkRequest *request, QSslSocket::PeerVerifyMode mode=QSslSocket::VerifyNone)
static void parseFromSongProperty(TTK::MusicSongInformation *info, const QString &key, int length, int bitrate)
TTK_MODULE_EXPORT QString sizeByteToLabel(qint64 size)
virtual void downLoadFinished()
static constexpr const char * LQ_BASE_URL
static void parseFromSongProperty(TTK::MusicSongInformation *info, const QVariantMap &key)
TTK::MusicSongInformationList m_items
#define TTK_INFO_STREAM(msg)
QNetworkAccessManager m_manager
void createResultItem(const MusicResultInfoItem &songItem)
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
MusicSongRecommendRequest(QObject *parent=nullptr)
virtual void downLoadFinished() overridefinal
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate) overridefinal
TTK_MODULE_EXPORT void makeContentTypeHeader(QNetworkRequest *request, const QByteArray &data={})
TTK_MODULE_EXPORT QString toString(Record type)
static constexpr const char * LQ_RECOMMEND_URL
virtual void startToSearch(const QString &value) overridefinal
The class of the abstract query download data from net.
Main class used to convert JSON data to QVariant objects.
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
QString serverToString() const