faceverification.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef FACEVERIFICATION_H
  2. #define FACEVERIFICATION_H
  3. #include <QJsonObject>
  4. #include <QMessageBox>
  5. #include <QNetworkAccessManager>
  6. #include <QNetworkReply>
  7. #include <QObject>
  8. #include <QVBoxLayout>
  9. #include <QWebEnginePage>
  10. #include <QWebEngineView>
  11. #include <QWidget>
  12. class FaceVerification : public QObject {
  13. Q_OBJECT
  14. public:
  15. explicit FaceVerification(QWidget *parent = nullptr);
  16. ~FaceVerification();
  17. void initFaceVerification();
  18. void cleanup();
  19. signals:
  20. void verificationSuccessful();
  21. void verificationFailed(const QString &message);
  22. private slots:
  23. void onUrlChanged(const QUrl &newUrl);
  24. private:
  25. void handleFeaturePermission(QWebEnginePage *page, const QUrl &securityOrigin, QWebEnginePage::Feature feature);
  26. QJsonObject sendPostRequest(const QUrl &url, const QJsonObject &data);
  27. QJsonObject getMetaInfo();
  28. void closeWebViewAndRestoreUI();
  29. private:
  30. QWidget *m_parent;
  31. QWebEngineView *m_view;
  32. QVBoxLayout *m_layout;
  33. QString m_certifyId;
  34. };
  35. #endif // FACEVERIFICATION_H