TTKMusicPlayer  4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musiccibarequest.cpp
Go to the documentation of this file.
1 #include "musiccibarequest.h"
3 
4 static constexpr const char *QUERY_URL = "N1ZCWXNTOWkvWEhnTjMxWmk2Y0JNMGZZMzlvTnc0RW1HTCs0bitBbnZzczRWQVcxeWxGaXBhM1QweDQ9";
5 
7  : MusicAbstractNetwork(parent)
8 {
9 
10 }
11 
13 {
14  QNetworkRequest request;
15  request.setUrl(TTK::Algorithm::mdII(QUERY_URL, false).arg(QDate::currentDate().toString(TTK_DATE_FORMAT)));
16  TTK::setSslConfiguration(&request);
18 
19  m_reply = m_manager.get(request);
20  connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished()));
22 }
23 
24 QString MusicCiBaRequest::note() const
25 {
26  return m_rawData["note"].toString();
27 }
28 
30 {
31  return m_rawData["content"].toString();
32 }
33 
34 QString MusicCiBaRequest::image() const
35 {
36  return m_rawData["picture4"].toString();
37 }
38 
40 {
41  TTK_INFO_STREAM(className() << __FUNCTION__);
42 
44  if(m_reply && m_reply->error() == QNetworkReply::NoError)
45  {
46  QJson::Parser json;
47  bool ok = false;
48  const QVariant &data = json.parse(m_reply->readAll(), &ok);
49  if(ok)
50  {
51  m_rawData = data.toMap();
52  TTK_ERROR_STREAM("Download ciba data finish");
53 
55  connect(d, SIGNAL(downLoadRawDataChanged(QByteArray)), SIGNAL(downLoadRawDataChanged(QByteArray)));
56  d->startToRequest(image());
57  }
58  }
59 
60  deleteAll();
61 }
virtual void deleteAll()
virtual void downLoadFinished() overridefinal
void downLoadRawDataChanged(const QByteArray &bytes)
QNetworkReply * m_reply
TTK_MODULE_EXPORT void setSslConfiguration(QNetworkRequest *request, QSslSocket::PeerVerifyMode mode=QSslSocket::VerifyNone)
static constexpr const char * QUERY_URL
virtual void downLoadFinished()
#define TTK_INFO_STREAM(msg)
Definition: ttklogger.h:68
The class of the data source download request.
QNetworkAccessManager m_manager
MusicCiBaRequest(QObject *parent=nullptr)
QString content() 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.
Definition: parser.cpp:69
QString note() const
#define TTK_SLOT
Definition: ttkqtglobal.h:181
#define TTK_DATE_FORMAT
Definition: ttkglobal.h:235
The class of the abstract network.
void startToRequest(const QString &url)
TTK_MODULE_EXPORT void makeContentTypeHeader(QNetworkRequest *request, const QByteArray &data={})
TTK_MODULE_EXPORT QString toString(Record type)
Main class used to convert JSON data to QVariant objects.
Definition: parser.h:40
#define TTK_ERROR_STREAM(msg)
Definition: ttklogger.h:70
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)
#define QtNetworkErrorConnect(p, q, f, s)
Network error connect.
Definition: ttkqtcompat.h:59
QString image() const