使用Qt框架在c ++类中创建API调用

Using Qt Framework create an API call in c++ class

本文关键字:创建 API 调用 Qt 框架 使用      更新时间:2023-10-16

我是Qt框架的新手,我必须实现API调用才能登录用户。我创建了一个 ApiManager 类,我只想在其中创建应用程序将使用的调用,以便可以从C++类和 QML 访问它们。

我创建了一个模拟登录的本地函数,但我现在想实现真正的 API 调用。我只是不知道如何实现它以及我必须导入或包含什么样的库。

头文件 apimanager.h

#ifndef APIMANAGER_H
#define APIMANAGER_H
#include <QObject>
class ApiManager : public QObject
{
Q_OBJECT
Q_ENUMS(UserLevel)
public:
enum UserLevel {
UL_Unknown = 0,
UL_Master = 1,
UL_Administrator = 2,
UL_Operator = 3
};
explicit ApiManager(QObject *parent = nullptr);
signals:
void loginComplete(bool logged, UserLevel userLevel);
public slots:
void login(QString serverAddress, QString username, QString 
password);
};
#endif // APIMANAGER_H

类 apimanager .cpp

#include "apimanager.h"
#include <QDebug>
ApiManager::ApiManager(QObject *parent) : QObject(parent)
{
}
void ApiManager::login(QString serverAddress, QString username, 
QString password)
{
qDebug() << "loggin into" << serverAddress << "with user" << 
username;
bool logged = false;
UserLevel ul = UserLevel::UL_Unknown;
if (username=="master" && password=="123") {
logged = true;
ul = UserLevel::UL_Master;
} else if (username=="admin" && password=="123") {
logged = true;
ul = UserLevel::UL_Administrator;
} else if (username=="operator" && password=="123") {
logged = true;
ul = UserLevel::UL_Operator;
}
emit loginComplete(logged, ul);
}

如果有人能告诉我如何使用我的"假"登录函数的类似结构编写 API 调用,我将不胜感激。

感谢大家

@Marco,

下面是框架 Http 请求响应示例。 它使用来自Qt的网络类来发送请求并接收相同的响应。

https://github.com/ramkumarrammohan/Qt_HttpNetworkRequest

如果您对此有任何疑问,请告诉我,谢谢