123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #include "Login.h"
- #include "OriginalWnd/OriginalWnd.h"
- #include "ui_Login.h"
- #include <QStackedWidget>
- #include <qDebug>
- #include <QSettings>
- #include "Src/common/JMessageTip.h"
- #include "Src/common/UserManagementShared.h"
- Login* Login::m_instance = nullptr;
- Login::Login(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::Login)
- {
- ui->setupUi(this);
- initForm();
- }
- Login::~Login()
- {
- delete ui;
- }
- void Login::initForm()
- {
- QPixmap pixmap(":/images/logo.png");
- QPixmap scaledPixmap = pixmap.scaled(283, 40, Qt::KeepAspectRatio);
- ui->label_logo->setPixmap(scaledPixmap);
-
- ui->userNameLineEdit->setPlaceholderText(tr("Please enter the account number"));
- ui->passLineEdit->setPlaceholderText(tr("Please enter your password"));
- connect(ui->userNameLineEdit, &QLineEdit::textChanged, this, &Login::onUserNameChanged);
- }
- void Login::onUserNameChanged(const QString &userName)
- {
- QSettings settings("YourCompany_2", "YourAppName_2");
- settings.setValue("userName", userName);
- }
- void Login::on_SinginButton_clicked()
- {
- //emit SendSwitchOriginalWndSignals();
- //return;
- QString strTip;
- QString strUser = ui->userNameLineEdit->text().trimmed();
- if (!strUser.isEmpty())
- {
- QString strPass = ui->passLineEdit->text().trimmed();
- if (!strPass.isEmpty())
- {
- //JEncryption::Encryption();
- int privilege = queryUserPrivilege(strUser, strPass);
- if (privilege != -1) {
- setPrivilege(privilege);
- emit SendSwitchOriginalWndSignals();
- }
- /*if (QStackedWidget* parent = qobject_cast<QStackedWidget*>(this->parentWidget()))
- {
- OriginalWnd* originalWnd = new OriginalWnd(this);
- parent->addWidget(originalWnd);
- parent->setCurrentIndex(parent->indexOf(originalWnd));
- }*/
- return;
- }
- else
- {
- strTip = tr("Please enter your password", "请输入密码");
- }
- }
- else
- {
- strTip = tr("Please enter your username", "请输入用户名称");
- }
-
- JMessageTip::Message_warning(strTip);
- }
- void Login::on_ExitButton_clicked()
- {
- emit CloseMainWndSig();
- }
- Login* Login::instance(QWidget* parent)
- {
- if (!m_instance) {
- m_instance = new Login(parent);
- }
- return m_instance;
- }
- int Login::getPrivilege() const
- {
- return m_privilege;
- }
- void Login::setPrivilege(int privilege)
- {
- m_privilege = privilege;
- }
- int Login::queryUserPrivilege(const QString& strUser, const QString& strPass)
- {
- QSqlDatabase db = QSqlDatabase::database();
- if (!db.isOpen()) {
- qDebug() << "Database is not open.";
- return -1;
- }
- QSqlQuery query(db);
- query.prepare("SELECT Privilege FROM User WHERE UserName = :username AND PassWord = :password");
- query.bindValue(":username", strUser);
- query.bindValue(":password", strPass);
- if (!query.exec()) {
- qDebug() << "Query execution failed:" << query.lastError().text();
- return -1;
- }
- if (query.next()) {
- return query.value(0).toInt();
- }
- return -1; // 未找到用户
- }
|