20 return in.isEmpty() ? artistName : (in +
";" + artistName);
31 QByteArray parameter = aes.
encryptCBC(type.toUtf8(),
"0CoJUm6Qyw8W8jud",
"0102030405060708");
32 parameter = aes.
encryptCBC(parameter,
"a44e542eaac91dce",
"0102030405060708");
35 request->setUrl(query);
43 QNetworkRequest request;
56 const QVariant &data = json.
parse(bytes, &ok);
59 QVariantMap value = data.toMap();
60 if(value[
"code"].toInt() == 200 && value.contains(
"data"))
62 const QVariantList &datas = value[
"data"].toList();
63 for(
const QVariant &var :
qAsConst(datas))
73 prop.
m_url = value[
"url"].toString();
82 prop.
m_format = value[
"type"].toString();
93 if(prop.m_bitrate == bitrate)
99 QNetworkRequest request;
111 const QVariant &data = json.
parse(bytes, &ok);
114 QVariantMap value = data.toMap();
115 if(value[
"code"].toInt() == 200 && value.contains(
"data"))
117 value = value[
"data"].toMap();
124 prop.
m_url = value[
"url"].toString();
165 prop.
m_format = value[
"type"].toString();
220 const QVariantMap &privilege = key[
"privilege"].toMap();
221 if(!privilege.isEmpty())
223 const QString &brStr = privilege[
"maxbr"].toString();
224 if(brStr ==
"999000")
228 else if(brStr ==
"320000" || brStr ==
"192000" || brStr ==
"190000")
232 else if(brStr ==
"160000")
TTK_MODULE_EXPORT QByteArray syncNetworkQueryForPost(QNetworkRequest *request, const QByteArray &data)
static constexpr const char * WY_BASE_URL
base url
TTK_MODULE_EXPORT QString charactersReplace(const QString &value)
TTK_MODULE_EXPORT QString urlEncode(QString &data)
static constexpr const char * WY_SONG_DETAIL_CGG_URL
static constexpr const char * WY_NMTID_URL
The class of the music song property.
static constexpr wchar_t key[]
QString makeSongArtist(const QString &in, const QString &name)
TTK_MODULE_EXPORT void setSslConfiguration(QNetworkRequest *request, QSslSocket::PeerVerifyMode mode=QSslSocket::VerifyNone)
TTK_MODULE_EXPORT QString sizeByteToLabel(qint64 size)
TTK_MODULE_EXPORT QByteArray syncNetworkQueryForGet(QNetworkRequest *request)
static constexpr const char * WY_SONG_PATH_URL
static constexpr const char * WY_SONG_PATH_DATA_URL
static constexpr const char * ALG_UA_KEY
static void parseSongPropertyNew(TTK::MusicSongInformation *info, int bitrate)
static void parseSongProperty(TTK::MusicSongInformation *info, int bitrate)
void makeRequestRawHeader(QNetworkRequest *request)
The class of the aes wrapper.
bool isEmpty() const noexcept
QVariant parse(QIODevice *io, bool *ok=0)
Read JSON string from the I/O Device and converts it to a QVariant object.
static constexpr const char * WY_SECKRY_STRING
void parseFromSongProperty(TTK::MusicSongInformation *info, int bitrate)
static constexpr const char * WY_UA_URL
cookie url
TTK_MODULE_EXPORT void makeContentTypeHeader(QNetworkRequest *request, const QByteArray &data={})
QByteArray makeTokenRequest(QNetworkRequest *request, const QString &query, const QString &type)
static constexpr const char * WY_COOKIE_URL
QString makeCoverPixmapUrl(const QString &url)
Main class used to convert JSON data to QVariant objects.
static constexpr const char * WY_SONG_INFO_OLD_URL
QByteArray encryptCBC(const QByteArray &in, const QByteArray &key, const QByteArray &iv)
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)