|
@@ -3,6 +3,7 @@
|
|
|
#include "DBServiceSet.h"
|
|
|
|
|
|
#include <QCryptographicHash>
|
|
|
+#include <QSettings>
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
@@ -111,37 +112,49 @@ ClassSet::ClassSet()
|
|
|
datas.append(testData11);
|
|
|
}
|
|
|
|
|
|
-static QFUser m_currentUser;
|
|
|
+static QFUser *m_currentUser = nullptr;
|
|
|
|
|
|
QFUser::QFUser() { }
|
|
|
|
|
|
-QFUser::QFUser(const QString userId, const QString password) : userNo(userId), password(password) { }
|
|
|
+QFUser::QFUser(const QString userId, const QString password) : userNo(userId), rawPassword(password) { }
|
|
|
|
|
|
-QFUser QFUser::currentUser()
|
|
|
+QFUser *QFUser::currentUser()
|
|
|
{
|
|
|
return m_currentUser;
|
|
|
}
|
|
|
|
|
|
+int QFUser::logout()
|
|
|
+{
|
|
|
+ if (m_currentUser == nullptr) {
|
|
|
+ return QF_CODE_NOT_LOGIN;
|
|
|
+ }
|
|
|
+
|
|
|
+ delete m_currentUser;
|
|
|
+ m_currentUser = nullptr;
|
|
|
+ return QF_CODE_COMPLETED;
|
|
|
+}
|
|
|
+
|
|
|
int QFUser::login()
|
|
|
{
|
|
|
+ if (m_currentUser != nullptr) {
|
|
|
+ return QF_CODE_ALREADY_LOGIN;
|
|
|
+ }
|
|
|
+
|
|
|
if (!DBServiceSet().QueryUserByNo(this, userNo)) {
|
|
|
return QF_CODE_USER_NOT_EXISTS;
|
|
|
}
|
|
|
|
|
|
QCryptographicHash ch(QCryptographicHash::Md5);
|
|
|
QString md5str;
|
|
|
- QByteArray md5bytes = QCryptographicHash::hash(password.toLatin1(), QCryptographicHash::Md5);
|
|
|
+ QByteArray md5bytes = QCryptographicHash::hash(rawPassword.toLatin1(), QCryptographicHash::Md5);
|
|
|
md5str.prepend(md5bytes.toHex());
|
|
|
|
|
|
- if (!DBServiceSet().QueryUserByNoAndPassword(this, userNo, md5str)) {
|
|
|
+ m_currentUser = new QFUser(userNo, rawPassword);
|
|
|
+ if (!DBServiceSet().QueryUserByNoAndPassword(m_currentUser, userNo, md5str)) {
|
|
|
+ delete m_currentUser;
|
|
|
+ m_currentUser = nullptr;
|
|
|
return QF_CODE_WRONG_PASSWORD;
|
|
|
}
|
|
|
|
|
|
- m_currentUser = *this;
|
|
|
- return QF_CODE_COMPLETED;
|
|
|
-}
|
|
|
-
|
|
|
-int QFUser::logout()
|
|
|
-{
|
|
|
return QF_CODE_COMPLETED;
|
|
|
}
|