TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicdownloadbingskinrequest.cpp
Go to the documentation of this file.
3 
4 static constexpr const char *PREFIX_URL = "UEQvb1lxVXFnV0dqRmxzNkY0alFJUHZUSUhyZUVNY0Y2OGZ1L255cS9CMklCakk4Q1dNQkF3PT0=";
5 static constexpr const char *QUERY_URL = "bkRaMGo0WEhveVlwbEV6a0FDbEsrNmNGVHVrZTh1VmFDZTBmdElkZ0ZCYXk2dDJMaXF3MUlrV2JndmlpUWVudkF5UVVaMklvSXQydGI3cFhaTFRtaUV2VUZBcz0=";
6 
9 {
10 
11 }
12 
14 {
16  connect(d, SIGNAL(downLoadRawDataChanged(QByteArray)), SLOT(downLoadFinished(QByteArray)));
18 }
19 
21 {
22  MusicSkinRemoteGroupList groups;
23 
24  QJson::Parser json;
25  bool ok = false;
26  const QVariant &data = json.parse(bytes, &ok);
27  if(ok)
28  {
29  QVariantMap value = data.toMap();
30  if(value.contains("images"))
31  {
33  group.m_group = SKIN_BING_DIR;
34  group.m_id = TTK_DEFAULT_STR;
35 
36  const QVariantList &datas = value["images"].toList();
37  for(const QVariant &var : qAsConst(datas))
38  {
39  if(var.isNull())
40  {
41  continue;
42  }
43 
44  value = var.toMap();
45 
47  item.m_name = value["copyright"].toString();
48  item.m_index = value["startdate"].toInt();
49  item.m_useCount = item.m_index;
50  item.m_url = TTK::Algorithm::mdII(PREFIX_URL, false).arg(value["urlbase"].toString());
51 
52  if(item.isValid())
53  {
54  group.m_items << item;
55  }
56  }
57 
58  if(group.isValid())
59  {
60  groups << group;
61  }
62  }
63  }
64 
65  Q_EMIT downLoadDataChanged(groups);
66 }
The class of the remote skin item.
virtual void startToRequest() overridefinal
#define TTK_DEFAULT_STR
Definition: ttkglobal.h:200
void downLoadDataChanged(const MusicSkinRemoteGroupList &bytes)
static constexpr const char * PREFIX_URL
The class of the download skin remote background.
#define qAsConst
Definition: ttkqtglobal.h:53
static constexpr const char * SKIN_BING_DIR
The class of the data source download request.
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
void startToRequest(const QString &url)
virtual void downLoadFinished(const QByteArray &bytes) overridefinal
The class of the remote skin item group.
TTK_MODULE_EXPORT QString toString(Record type)
MusicDownloadBingSkinRequest(QObject *parent=nullptr)
Main class used to convert JSON data to QVariant objects.
Definition: parser.h:40
static constexpr const char * QUERY_URL
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)