التخطي إلى المحتوى الرئيسي

تطبيق سطح المكتب Qt

مثال على تطبيق سطح المكتب Qt لـ Casdoor Qt desktop app example

كيفية تشغيل المثال

المتطلبات الأساسية

التهيئة

تحتاج إلى تهيئة 7 معاملات نصية:

الاسمالوصفالملف
endpointمضيف أو نطاق خادم Casdoor الخاص بكmainwindow.h
client_idمعرف العميل لتطبيق Casdoor الخاص بكmainwindow.h
client_secretسر العميل لتطبيق Casdoor الخاص بكmainwindow.h
certificateالمفتاح العام لشهادة تطبيق Casdoormainwindow.h
org_nameاسم مؤسسة Casdoor الخاصة بكmainwindow.h
app_nameاسم تطبيق Casdoor الخاص بكmainwindow.h
redirect_urlمسار عنوان URL للرد الخاص بتطبيق Casdoor، سيكون http://localhost:8080/callback إذا لم يتم توفيرهmainwindow.h

إذا لم تقم بتعيين معامل endpoint، سيستخدم هذا المشروع http://localhost:8000 كخادم Casdoor افتراضي.

تشغيل التطبيق

استخدام Qt Creator

  1. افتح casdoor-cpp-qt-example.pro
  2. اضبط INCLUDEPATH لـ OpenSSL في casdoor-cpp-qt-example.pro
  3. اضغط Ctrl + R للبدء

معاينة

بعد تشغيل تطبيق سطح المكتب Qt هذا، سيظهر نافذة جديدة على سطح المكتب الخاص بك.

الفهرس

إذا نقرت على زر Sign In، ستظهر نافذة تسجيل الدخول على سطح المكتب الخاص بك.

تسجيل الدخول

بعد تسجيل الدخول بنجاح، ستظهر نافذة ملف المستخدم على سطح المكتب الخاص بك، وتعرض معلومات المستخدم الخاصة بك.

ملف المستخدم

يمكنك معاينة العملية بأكملها في الصورة المتحركة GIF التالية.

معاينة الصورة المتحركة GIF

كيفية الدمج

فتح نافذة تسجيل الدخول

// Load and display the login page of Casdoor
m_webview->page()->load(*m_signin_url);
m_webview->show();

الاستماع إلى حدث فتح التطبيق

// Initialize the TcpServer object and listen on port 8080
m_tcpserver = new QTcpServer(this);
if (!m_tcpserver->listen(QHostAddress::LocalHost, 8080)) {
qDebug() << m_tcpserver->errorString();
close();
}
connect(m_tcpserver, SIGNAL(newConnection()), this, SLOT(on_tcp_connected()));

استخدام رمز المصادقة للحصول على معلومات المستخدم

// Get the token and parse it with the JWT library
std::string token = m_casdoor->GetOAuthToken(code.toStdString());
auto decoded = m_casdoor->ParseJwtToken(token);