login
This commit is contained in:
parent
307b8ffae0
commit
9bbc88eca7
5 changed files with 81 additions and 6 deletions
|
@ -3,7 +3,8 @@ TEMPLATE = app
|
||||||
QT += qml quick
|
QT += qml quick
|
||||||
|
|
||||||
SOURCES += main.cpp \
|
SOURCES += main.cpp \
|
||||||
tinytinyrss.cpp
|
tinytinyrss.cpp \
|
||||||
|
tinytinyrsslogin.cpp
|
||||||
|
|
||||||
RESOURCES += qml.qrc \
|
RESOURCES += qml.qrc \
|
||||||
html.qrc
|
html.qrc
|
||||||
|
@ -23,4 +24,5 @@ OTHER_FILES += \
|
||||||
content.js
|
content.js
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
tinytinyrss.h
|
tinytinyrss.h \
|
||||||
|
tinytinyrsslogin.h
|
||||||
|
|
|
@ -15,6 +15,26 @@ TinyTinyRSS::~TinyTinyRSS()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString TinyTinyRSS::login(QString serverUrl, QString user, QString password)
|
||||||
|
{
|
||||||
|
QVariantMap options;
|
||||||
|
options.insert("op", "login");
|
||||||
|
options.insert("user", user);
|
||||||
|
options.insert("password", password);
|
||||||
|
|
||||||
|
QJsonObject jsonobj = QJsonObject::fromVariantMap(options);
|
||||||
|
QJsonDocument json = QJsonDocument(jsonobj);
|
||||||
|
|
||||||
|
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
|
||||||
|
|
||||||
|
QUrl url(serverUrl + "/api/");
|
||||||
|
QNetworkRequest request(url);
|
||||||
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||||
|
|
||||||
|
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyLogin(QNetworkReply)));
|
||||||
|
manager->post(request, json.toBinaryData());
|
||||||
|
}
|
||||||
|
|
||||||
void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
|
void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
|
||||||
QVariantMap options;
|
QVariantMap options;
|
||||||
options.insert("sid", this->sessionId);
|
options.insert("sid", this->sessionId);
|
||||||
|
@ -35,10 +55,10 @@ void TinyTinyRSS::doOperation(QString operation, QVariantMap opts) {
|
||||||
QNetworkRequest request(url);
|
QNetworkRequest request(url);
|
||||||
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||||
|
|
||||||
QObject::connect(manager, &QNetworkAccessManager::finished, this, &TinyTinyRSS::replyFinishedOperation);
|
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyFinishedOperation(QNetworkReply)));
|
||||||
manager->post(request, json);
|
manager->post(request, json.toBinaryData());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TinyTinyRSS::replyFinishedOperation(QNetworkReply *reply) {
|
void TinyTinyRSS::replyFinishedOperation(QNetworkReply *reply) {
|
||||||
|
qWarning() << reply;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,13 +13,14 @@ class TinyTinyRSS : QObject
|
||||||
public:
|
public:
|
||||||
TinyTinyRSS(QString serverUrl, QString sessionId);
|
TinyTinyRSS(QString serverUrl, QString sessionId);
|
||||||
~TinyTinyRSS();
|
~TinyTinyRSS();
|
||||||
|
void login();
|
||||||
|
void replyFinishedOperation(QNetworkReply *reply);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString serverUrl;
|
QString serverUrl;
|
||||||
QString sessionId;
|
QString sessionId;
|
||||||
|
|
||||||
void doOperation(QString operation, QVariantMap opts);
|
void doOperation(QString operation, QVariantMap opts);
|
||||||
void replyFinishedOperation(QNetworkReply *reply);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TINYTINYRSS_H
|
#endif // TINYTINYRSS_H
|
||||||
|
|
32
tinytinyrsslogin.cpp
Normal file
32
tinytinyrsslogin.cpp
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#include "tinytinyrsslogin.h"
|
||||||
|
|
||||||
|
TinyTinyRSSLogin::TinyTinyRSSLogin(QObject *parent) :
|
||||||
|
QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void TinyTinyRSSLogin::login(QString serverUrl, QString user, QString password)
|
||||||
|
{
|
||||||
|
QVariantMap options;
|
||||||
|
options.insert("op", "login");
|
||||||
|
options.insert("user", user);
|
||||||
|
options.insert("password", password);
|
||||||
|
|
||||||
|
QJsonObject jsonobj = QJsonObject::fromVariantMap(options);
|
||||||
|
QJsonDocument json = QJsonDocument(jsonobj);
|
||||||
|
|
||||||
|
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
|
||||||
|
|
||||||
|
QUrl url(serverUrl + "/api/");
|
||||||
|
QNetworkRequest request(url);
|
||||||
|
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
|
||||||
|
|
||||||
|
QObject::connect(manager, SIGNAL(finished(QNetworkReply)), this, SIGNAL(replyLogin(QNetworkReply)));
|
||||||
|
manager->post(request, json.toBinaryData());
|
||||||
|
}
|
||||||
|
|
||||||
|
TinyTinyRSSLogin::replyLogin(QNetworkReply reply)
|
||||||
|
{
|
||||||
|
QString sessionId = "1234";
|
||||||
|
this->parent()->loggedIn(QString(sessionId));
|
||||||
|
}
|
20
tinytinyrsslogin.h
Normal file
20
tinytinyrsslogin.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef TINYTINYRSSLOGIN_H
|
||||||
|
#define TINYTINYRSSLOGIN_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class TinyTinyRSSLogin : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit TinyTinyRSSLogin(QObject *parent = 0);
|
||||||
|
login(QString serverUrl, QString user, QString password);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
replyLogin(QNetworkReply reply);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TINYTINYRSSLOGIN_H
|
Loading…
Add table
Add a link
Reference in a new issue