Commit 0d8224c1 by xiaoqing.gu

添加绑定界面

parent 13705999
...@@ -24,7 +24,8 @@ SOURCES +=\ ...@@ -24,7 +24,8 @@ SOURCES +=\
fmnumpad.cpp \ fmnumpad.cpp \
fmp_home_settings.cpp \ fmp_home_settings.cpp \
fmp_flicker.cpp \ fmp_flicker.cpp \
fmp_message.cpp fmp_message.cpp \
fmpbind.cpp
HEADERS += fmp_home.h \ HEADERS += fmp_home.h \
fmp_home_plugin_p.h \ fmp_home_plugin_p.h \
...@@ -41,13 +42,15 @@ HEADERS += fmp_home.h \ ...@@ -41,13 +42,15 @@ HEADERS += fmp_home.h \
fmp_flicker.h \ fmp_flicker.h \
algorithm.h \ algorithm.h \
fmp_message.h \ fmp_message.h \
fmp_home_def.h fmp_home_def.h \
fmpbind.h
FORMS += \ FORMS += \
fmp_home_navwindow.ui \ fmp_home_navwindow.ui \
fmp_login.ui \ fmp_login.ui \
fmnumpad.ui \ fmnumpad.ui \
fmp_message.ui fmp_message.ui \
fmpbind.ui
unix { unix {
target.path = /usr/lib target.path = /usr/lib
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <fmp_takeout_i.h> #include <fmp_takeout_i.h>
#include <QApplication> #include <QApplication>
#include "fmp_login.h" #include "fmp_login.h"
#include "fmpbind.h"
#include "fmp_he_handlers.h" #include "fmp_he_handlers.h"
#include "fmp_home_settings.h" #include "fmp_home_settings.h"
...@@ -26,7 +27,8 @@ FMPHomePrivate::FMPHomePrivate(FMPHome *q) ...@@ -26,7 +27,8 @@ FMPHomePrivate::FMPHomePrivate(FMPHome *q)
_errorMsg(""), _errorMsg(""),
_stationId(""), _stationId(""),
_operatorId(""), _operatorId(""),
_loginWnd(nullptr) _loginWnd(nullptr),
_bindWnd(nullptr)
{ {
FMPLoggerInterface::InitContext(q->_ctx); FMPLoggerInterface::InitContext(q->_ctx);
} }
...@@ -95,25 +97,65 @@ int FMPHomePrivate::login() ...@@ -95,25 +97,65 @@ int FMPHomePrivate::login()
_loginWnd->raise(); _loginWnd->raise();
return FMP_FAILURE; return FMP_FAILURE;
} }
// FMPLogin loginWnd; if(_bindWnd!=nullptr) {
_loginWnd = new FMPLogin(); _bindWnd->raise();
_loginWnd->exec(); return FMP_FAILURE;
if(_loginWnd->isLogined()) { }
_isLogined = true;
_userName = _loginWnd->userName(); QString partnerId = FMPHomeSettings::instance()->getPartnerId();
_partnerName = _loginWnd->partnerName(); qDebug() << partnerId;
_partnerId = _loginWnd->partnerId();
_storeName = _loginWnd->storeName(); if(partnerId == "")
_storeId = _loginWnd->storeId(); {
_deviceId = _loginWnd->deviceId();
_deviceName = _loginWnd->deviceName(); _bindWnd = new FMPBind;
_stationId = FMPHomeSettings::instance()->getStationId(); _bindWnd->exec();
_operatorId = FMPHomeSettings::instance()->getOperatorId(); if(_bindWnd->isLogined())
} else { {
_isLogined = false; _loginWnd = new FMPLogin();
_loginWnd->exec();
if(_loginWnd->isLogined()) {
_isLogined = true;
_userName = _loginWnd->userName();
_partnerName = _loginWnd->partnerName();
_partnerId = _loginWnd->partnerId();
_storeName = _loginWnd->storeName();
_storeId = _loginWnd->storeId();
_deviceId = _loginWnd->deviceId();
_deviceName = _loginWnd->deviceName();
_stationId = FMPHomeSettings::instance()->getStationId();
_operatorId = FMPHomeSettings::instance()->getOperatorId();
} else {
_isLogined = false;
}
delete _loginWnd;
_loginWnd = nullptr;
}
else
{
delete _bindWnd;
_bindWnd = nullptr;
}
}else {
_loginWnd = new FMPLogin();
_loginWnd->exec();
if(_loginWnd->isLogined()) {
_isLogined = true;
_userName = _loginWnd->userName();
_partnerName = _loginWnd->partnerName();
_partnerId = _loginWnd->partnerId();
_storeName = _loginWnd->storeName();
_storeId = _loginWnd->storeId();
_deviceId = _loginWnd->deviceId();
_deviceName = _loginWnd->deviceName();
_stationId = FMPHomeSettings::instance()->getStationId();
_operatorId = FMPHomeSettings::instance()->getOperatorId();
} else {
_isLogined = false;
}
delete _loginWnd;
_loginWnd = nullptr;
} }
delete _loginWnd;
_loginWnd = nullptr;
#else #else
_isLogining = false; _isLogining = false;
_isLogined = true; _isLogined = true;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <QSystemTrayIcon> #include <QSystemTrayIcon>
#include "fmp_home.h" #include "fmp_home.h"
#include "fmpbind.h"
class NavWindow; class NavWindow;
class FMPLogin; class FMPLogin;
...@@ -51,6 +52,7 @@ public: ...@@ -51,6 +52,7 @@ public:
private: private:
NavWindow *_navWindow; NavWindow *_navWindow;
FMPSettingsInterface *_settings; FMPSettingsInterface *_settings;
FMPBind *_bindWnd;
FMPLogin *_loginWnd; FMPLogin *_loginWnd;
}; };
......
...@@ -50,21 +50,51 @@ QString FMPHomeSettings::getServer() ...@@ -50,21 +50,51 @@ QString FMPHomeSettings::getServer()
return _GetValue(FMP_INIKEY_LOGINSERVER).toString(); return _GetValue(FMP_INIKEY_LOGINSERVER).toString();
} }
QString FMPHomeSettings::getBind()
{
return _GetValue("Home/Bind").toString();
}
QString FMPHomeSettings::getPartnerId() QString FMPHomeSettings::getPartnerId()
{ {
return _GetValue(FMP_INIKEY_LOGINPARTNERID).toString(); return _GetValue(FMP_INIKEY_LOGINPARTNERID).toString();
} }
bool FMPHomeSettings::setPartnerId(QString partnerId)
{
return _SetValue("Home/PartnerId",partnerId);
}
QString FMPHomeSettings::getStroeId() QString FMPHomeSettings::getStroeId()
{ {
return _GetValue(FMP_INIKEY_LOGINSTOREID).toString(); return _GetValue(FMP_INIKEY_LOGINSTOREID).toString();
} }
bool FMPHomeSettings::setStoreId(QString storeId)
{
return _SetValue("Home/StoreId",storeId);
}
QString FMPHomeSettings::getStoreName()
{
return _GetValue("Home/StoreName").toString();
}
bool FMPHomeSettings::setStoreName(QString storeName)
{
return _SetValue("Home/StoreName",storeName);
}
QString FMPHomeSettings::getDeviceId() QString FMPHomeSettings::getDeviceId()
{ {
return _GetValue(FMP_INIKEY_LOGINDEVICEID).toString(); return _GetValue(FMP_INIKEY_LOGINDEVICEID).toString();
} }
QString FMPHomeSettings::getDeviceName()
{
return _GetValue("Home/DeviceName").toString();
}
QString FMPHomeSettings::getStationId() QString FMPHomeSettings::getStationId()
{ {
return _GetValue(FMP_INIKEY_LOGINPOSID).toString(); return _GetValue(FMP_INIKEY_LOGINPOSID).toString();
......
...@@ -39,6 +39,8 @@ public: ...@@ -39,6 +39,8 @@ public:
*/ */
QString getServer(); QString getServer();
QString getBind();
/** /**
* @brief getPartnerId * @brief getPartnerId
* 获取登录认证商户号 * 获取登录认证商户号
...@@ -46,15 +48,23 @@ public: ...@@ -46,15 +48,23 @@ public:
*/ */
QString getPartnerId(); QString getPartnerId();
bool setPartnerId(QString partnerId);
/** /**
* @brief getStroeId * @brief getStroeId
* 获取登录认证门店号 * 获取登录认证门店号
* @return * @return
*/ */
QString getStroeId(); QString getStroeId();
bool setStoreId(QString storeId);
QString getStoreName();
bool setStoreName(QString storeName);
QString getDeviceId(); QString getDeviceId();
QString getDeviceName();
QString getStationId(); QString getStationId();
QString getOperatorId(); QString getOperatorId();
......
...@@ -40,6 +40,9 @@ FMPLogin::FMPLogin(QDialog *parent) : ...@@ -40,6 +40,9 @@ FMPLogin::FMPLogin(QDialog *parent) :
ui->pwd_label->setAlignment(Qt::AlignCenter); ui->pwd_label->setAlignment(Qt::AlignCenter);
ui->pwd_label->setPixmap(QPixmap(":pwd")); ui->pwd_label->setPixmap(QPixmap(":pwd"));
ui->store_label->setAlignment(Qt::AlignCenter);
ui->store_label->setPixmap(QPixmap(":shop"));
QString dateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd");; QString dateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd");;
ui->bd_label->setText(dateTime); ui->bd_label->setText(dateTime);
...@@ -47,6 +50,8 @@ FMPLogin::FMPLogin(QDialog *parent) : ...@@ -47,6 +50,8 @@ FMPLogin::FMPLogin(QDialog *parent) :
_storeId = FMPHomeSettings::instance()->getStroeId(); _storeId = FMPHomeSettings::instance()->getStroeId();
_partnerId = FMPHomeSettings::instance()->getPartnerId(); _partnerId = FMPHomeSettings::instance()->getPartnerId();
_deviceId = FMPHomeSettings::instance()->getDeviceId(); _deviceId = FMPHomeSettings::instance()->getDeviceId();
_store = FMPHomeSettings::instance()->getStoreName();
ui->store_edit->setText(_store);
if(FMPHomeSettings::instance()->getIsRememberPwd()) { if(FMPHomeSettings::instance()->getIsRememberPwd()) {
......
...@@ -43,6 +43,7 @@ private: ...@@ -43,6 +43,7 @@ private:
QString _userName; QString _userName;
QString _partnerName; QString _partnerName;
QString _storeName; QString _storeName;
QString _store;
QString _StoreId; QString _StoreId;
QString _DeviceId; QString _DeviceId;
QString _deviceName; QString _deviceName;
......
...@@ -83,7 +83,15 @@ ...@@ -83,7 +83,15 @@
min-width: 49; max-width: 49; min-width: 49; max-width: 49;
} }
#user_edit, #pwd_edit { #store_label {
color: rgb(169,169,169);
image: url(&quot;:/account.png&quot;);
background: white;
border: 1 solid silver;
border-right: 0;
min-width: 49; max-width: 49;
}
#user_edit, #pwd_edit, #store_edit {
min-height: 49px; min-height: 49px;
font: 100 19px &quot;Microsoft YaHei&quot;; font: 100 19px &quot;Microsoft YaHei&quot;;
color: rgb(50,50,50); color: rgb(50,50,50);
...@@ -212,6 +220,9 @@ ...@@ -212,6 +220,9 @@
<property name="cursor"> <property name="cursor">
<cursorShape>PointingHandCursor</cursorShape> <cursorShape>PointingHandCursor</cursorShape>
</property> </property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
...@@ -316,6 +327,9 @@ ...@@ -316,6 +327,9 @@
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </property>
<property name="bottomMargin">
<number>20</number>
</property>
<item> <item>
<widget class="QLabel" name="pwd_label"> <widget class="QLabel" name="pwd_label">
<property name="minimumSize"> <property name="minimumSize">
...@@ -372,6 +386,66 @@ ...@@ -372,6 +386,66 @@
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="store_label">
<property name="minimumSize">
<size>
<width>50</width>
<height>51</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>51</height>
</size>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="store_edit">
<property name="minimumSize">
<size>
<width>0</width>
<height>51</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="inputMask">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>20</number>
</property>
<property name="frame">
<bool>true</bool>
</property>
<property name="echoMode">
<enum>QLineEdit::Normal</enum>
</property>
<property name="placeholderText">
<string>门店</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="remember_check"> <widget class="QCheckBox" name="remember_check">
<property name="cursor"> <property name="cursor">
<cursorShape>PointingHandCursor</cursorShape> <cursorShape>PointingHandCursor</cursorShape>
...@@ -459,13 +533,6 @@ ...@@ -459,13 +533,6 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="store_label">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="pos_label"> <widget class="QLabel" name="pos_label">
<property name="text"> <property name="text">
<string>华润通小助手</string> <string>华润通小助手</string>
...@@ -528,8 +595,10 @@ ...@@ -528,8 +595,10 @@
<tabstops> <tabstops>
<tabstop>user_edit</tabstop> <tabstop>user_edit</tabstop>
<tabstop>pwd_edit</tabstop> <tabstop>pwd_edit</tabstop>
<tabstop>login_btn</tabstop> <tabstop>store_edit</tabstop>
<tabstop>remember_check</tabstop>
<tabstop>close_btn</tabstop> <tabstop>close_btn</tabstop>
<tabstop>login_btn</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>
......
...@@ -13,6 +13,7 @@ public: ...@@ -13,6 +13,7 @@ public:
int exec(); int exec();
public slots: public slots:
void on_close_btn_clicked(); void on_close_btn_clicked();
......
#include "fmpbind.h"
#include "ui_fmpbind.h"
#include <QDateTime>
#include <QJsonParseError>
#include <QJsonObject>
#include "fmp_message.h"
#include "fmp_home_settings.h"
#include "fmnetwork.h"
FMPBind::FMPBind(QDialog *parent) :
FMPWnd(parent),
ui(new Ui::FMPBind)
{
ui->setupUi(this);
setAttribute(Qt::WA_QuitOnClose, false);
setWindowFlags(Qt::FramelessWindowHint);
ui->icon_label->setPixmap(QPixmap(":fm-icon_02"));
ui->icon_label->setScaledContents(true);
ui->user_label->setAlignment(Qt::AlignCenter);
ui->user_label->setPixmap(QPixmap(":shop"));
ui->pwd_label->setAlignment(Qt::AlignCenter);
ui->pwd_label->setPixmap(QPixmap(":shop"));
QString dateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd");;
ui->bd_label->setText(dateTime);
_url = FMPHomeSettings::instance()->getBind();
_deviceId = FMPHomeSettings::instance()->getDeviceId();
_deviceName = FMPHomeSettings::instance()->getDeviceName();
}
FMPBind::~FMPBind()
{
delete ui;
}
void FMPBind::on_login_btn_clicked()
{
qDebug() <<"_____________1";
if(ui->user_edit->text().isEmpty()) {
FMPMessage::critical(this, QString::fromLocal8Bit("账号不能为空!"));
ui->user_edit->setFocus();
return;
} else if(ui->pwd_edit->text().isEmpty()) {
FMPMessage::critical(this, QString::fromLocal8Bit("密码不能为空!"));
ui->pwd_edit->setFocus();
return;
}
this->setEnabled(false);
if(login(ui->user_edit->text(), ui->pwd_edit->text())) {
FMPMessage::success(this,QString::fromLocal8Bit("绑定成功!"));
this->close();
} else {
this->setEnabled(true);
FMPMessage::critical(this, _errorMsg);
this->setEnabled(true);
ui->pwd_edit->clear();
ui->pwd_edit->setFocus();
}
}
bool FMPBind::login(QString userName, QString password)
{
_partnerName = "";
QByteArray reqData = tr("{\"ver\":\"%1\",\"partnerId\": \"%2\",\"storeId\": \"%3\",\"deviceId\": \"%4\",\"deviceName\": \"%5\",\"appVer\":\"%6\",\"systemVer\":\"%7\"}")
.arg("1")
.arg(userName)
.arg(password)
.arg(_deviceId)
.arg(_deviceName)
.arg("1.0")
.arg("1.0").toLatin1();
QByteArray rspData;
FMNetwork net;
if(net.post(_url, &reqData, &rspData)) {
// 解析返回的数据
QJsonParseError error;
QJsonDocument json = QJsonDocument::fromJson(rspData, &error);
if(error.error == QJsonParseError::NoError) {
QJsonObject job = json.object();
qDebug() << job;
if(job["errcode"] == 0) {
_partnerName = job["data"].toObject()["partnerName"].toString();
_partnerId = job["data"].toObject()["partnerId"].toString();
qDebug() <<_partnerId<<"______________________________";
FMPHomeSettings::instance()->setPartnerId(_partnerId);
_storeName = job["data"].toObject()["storeName"].toString();
FMPHomeSettings::instance()->setStoreName(_storeName);
_storeId = job["data"].toObject()["storeId"].toString();
FMPHomeSettings::instance()->setStoreId(_storeId);
_deviceId = job["data"].toObject()["deviceId"].toString();
_deviceName = job["data"].toObject()["deviceName"].toString();
return true;
} else{
_errorMsg = job["errmsg"].toString();
return false;
}
} else {
_errorMsg = error.errorString();
return false;
}
}
}
#ifndef FMPBIND_H
#define FMPBIND_H
#include "fmp_wnd.h"
namespace Ui {
class FMPBind;
}
class FMPBind : public FMPWnd
{
Q_OBJECT
public:
explicit FMPBind(QDialog *parent = 0);
~FMPBind();
bool login(QString userName, QString password);
bool isLogined() {return _partnerName != "";}
QString partnerName() {return _partnerName;}
QString partnerId() {return _partnerId;}
QString storeName() {return _storeName;}
QString storeId() {return _storeId;}
QString deviceId() {return _deviceId;}
QString deviceName() {return _deviceName;}
private slots:
void on_login_btn_clicked();
private:
Ui::FMPBind *ui;
QString _partnerName;
QString _storeName;
QString _deviceName;
QString _errorMsg;
QString _url;
QString _storeId;
QString _partnerId;
QString _deviceId;
};
#endif // FMPBIND_H
This diff is collapsed. Click to expand it.
...@@ -19,5 +19,6 @@ ...@@ -19,5 +19,6 @@
<file alias="user">img/user.png</file> <file alias="user">img/user.png</file>
<file alias="list">img/fm-icon_member01.png</file> <file alias="list">img/fm-icon_member01.png</file>
<file alias="list_onclick">img/fm-icon_member01_2.png</file> <file alias="list_onclick">img/fm-icon_member01_2.png</file>
<file alias="shop">img/shop.png</file>
</qresource> </qresource>
</RCC> </RCC>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define VER_MINOR 1 #define VER_MINOR 1
#define VER_REVISION 0 #define VER_REVISION 0
#define VER_BUILD 18 #define VER_BUILD 20
//! Convert version numbers to string //! Convert version numbers to string
#define _STR(S) #S #define _STR(S) #S
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment