4 static constexpr
const char *
FM_DETAIL_URL =
"M1htRHNMTFJzSGJPVzFUbUV5MFQxM3E1NDhUalAzdkNUUnNNVm5UVGt6YUtMbWUwZlhwRFV5TnZUdVE9";
17 QNetworkRequest request;
38 QVariantMap value = json.
toVariant().toMap();
39 if(value[
"code"].toInt() == 200 && value.contains(
"data"))
41 const QVariantList &datas = value[
"data"].toList();
42 for(
const QVariant &var :
qAsConst(datas))
53 info.
m_songId = value[
"id"].toString();
56 const QVariantList &artistsArray = value[
"artists"].toList();
57 for(
const QVariant &artistValue :
qAsConst(artistsArray))
59 if(artistValue.isNull())
64 const QVariantMap &artistObject = artistValue.toMap();
67 info.
m_artistId = artistObject[
"id"].toString();
73 const QVariantMap &albumObject = value[
"album"].toMap();
74 info.
m_albumId = albumObject[
"id"].toString();
77 info.
m_coverUrl = albumObject[
"picUrl"].toString();
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
static constexpr const char * FM_DETAIL_URL
#define TTK_NETWORK_QUERY_CHECK(VALUE)
void downLoadDataChanged(const QString &bytes)
QVariant toVariant() const
static QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error=0)
QString makeSongArtist(const QString &in, const QString &name)
virtual void downLoadFinished()
#define TTK_INFO_STREAM(msg)
static constexpr const char * WY_SONG_LRC_OLD_URL
QNetworkAccessManager m_manager
MusicFMRadioSongRequest(QObject *parent=nullptr)
virtual void replyError(QNetworkReply::NetworkError error) override
The class of the abstract network.
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
TTK_MODULE_EXPORT QString toString(Record type) noexcept
virtual void downLoadFinished() overridefinal
TTK::MusicSongInformation m_item
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &data)
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