Commit bc4c83aa by unknown

添加托盘菜单

parent 599b7612
......@@ -11,3 +11,6 @@
*.lai
*.la
*.a
/build*
/test
\ No newline at end of file
......@@ -9,17 +9,42 @@
#include <QJsonObject>
#include <QApplication>
#include <QMessageBox>
#include <QMenu>
FMVipDispatcher::FMVipDispatcher(QObject *parent)
: QObject(parent),
FMApiRelay(),
_vindow(0),
isLastOne(true),
_windowReturn(0)
_windowReturn(0),
_sysIcon(new QSystemTrayIcon)
{
connect(this, SIGNAL(requested(QJsonObject)), SLOT(onRequest(QJsonObject)));
connect(this, SIGNAL(responded(QByteArray)), SLOT(onResponse(QByteArray)));
connect(FMVipForward::instance(), SIGNAL(serverResponsed(QJsonObject)), SLOT(onServerResponsed(QJsonObject)));
QIcon icon = QIcon(":/img_logo.png");
_sysIcon->setIcon(icon);
_sysIcon->setToolTip("FMVIP");
QMenu *menu = new QMenu();
menu->addAction("退出", [=](){
qDebug() << "quit";
});
_sysIcon->setContextMenu(menu);
connect(_sysIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), SLOT(onActiveSysTrayIcon(QSystemTrayIcon::ActivationReason)));
_sysIcon->show();
}
void FMVipDispatcher::onActiveSysTrayIcon(QSystemTrayIcon::ActivationReason reason)
{
switch (reason) {
case QSystemTrayIcon::Trigger:
break;
default:
break;
}
}
INT FMVipDispatcher::_ParseRequest(LPSTR data)
......@@ -27,13 +52,10 @@ INT FMVipDispatcher::_ParseRequest(LPSTR data)
qDebug() << __FUNCTION__;
QJsonParseError err;
QJsonDocument json = QJsonDocument::fromJson(data, &err);
if (err.error != QJsonParseError::NoError) {
return FM_API_BADJSON;
}
_posReqObj = json.object();
FMVipForward::instance()->resetSessionData(_posReqObj);
isLastOne = true;
......@@ -72,11 +94,12 @@ void FMVipDispatcher::onRequest(const QJsonObject &jsonObj)
coupon();
}
#ifdef _DEBUG
else if (type == "") {
// qDebug() << "Quit";
// _serverRspData.clear();
// canBeContinue = true;
// _serverRspData = "{\"reqType\":-1}";
else if (type == "-1") {
qDebug() << "Quit";
canBeContinue = true;
jsonObj["reqType"] = -1;
QJsonDocument d = QJsonDocument(jsonObj);
_serverRspData = d.toJson();
qApp->quit();
}
#endif
......
......@@ -3,6 +3,7 @@
#include <QObject>
#include <QJsonObject>
#include <QSystemTrayIcon>
#include "fmapirelay.h"
//#include <QNetworkAccessManager>
//#include <QNetworkReply>
......@@ -54,6 +55,8 @@ private slots:
void onServerResponsed(const QJsonObject &rspObj);
void onDoPost();
void onActiveSysTrayIcon(QSystemTrayIcon::ActivationReason);
private:
FMVipWnd *_vindow;
QJsonObject _posReqObj;
......@@ -62,6 +65,8 @@ private:
QByteArray _serverRspData;
BOOL isLastOne;
int _windowReturn;
QSystemTrayIcon *_sysIcon;
};
#endif // FMVIPDISPATCHER_H
......@@ -3,10 +3,12 @@
#include <QJsonParseError>
#include <QJsonObject>
#include <QJsonArray>
#include <QCryptographicHash>
#include <QDateTime>
#include <QDebug>
FMVipForward* FMVipForward::_instance = nullptr;
FMVipForward* FMVipForward::_instance = NULL;
FMVipForward* FMVipForward::instance()
{
......@@ -186,7 +188,7 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
QJsonArray couponArray;
int codeAmount=0, scoreAmount=0, cashAmount=0, thirdAmount=0;
for (QJsonValue pay_v : pay_ids)
foreach (QJsonValue pay_v , pay_ids)
{
QJsonObject pay_ob = pay_v.toObject();
if(pay_ob["pay_id"] == "001") {
......@@ -211,7 +213,7 @@ void FMVipForward::final(const QJsonObject &job, QJsonObject &fmjob)
QJsonArray posProdArray = posTransObj["products"].toArray();
QJsonArray prodArray;
for(QJsonValue v : posProdArray)
foreach (QJsonValue v , posProdArray)
{
QJsonObject po = v.toObject();
QJsonObject o;
......@@ -306,7 +308,7 @@ QString FMVipForward::sign(const QJsonObject &reqJob) const
// 使用URL键值对的格式拼接
QString sb = "";
for(QString key : mapData.keys())
foreach(QString key , mapData.keys())
{
sb += (key + "=" + mapData.value(key) + "&");
}
......@@ -324,8 +326,9 @@ QString FMVipForward::sign(const QJsonObject &reqJob) const
void FMVipForward::resetSessionData(const QJsonObject &jsonObj)
{
// _sessionDataMap.clear();
for (QString sessionData : _sessionDataList)
foreach (QString sessionData, _sessionDataList)
{
qDebug() << sessionData;
addSessionData(sessionData, jsonObj[sessionData].toString());
}
}
......
......@@ -29,6 +29,7 @@ protected:
protected:
QJsonObject _profile_obj;
bool _isBusy;
#endif
};
......
......@@ -3,6 +3,7 @@
#include "fmsockserver.h"
#include "fmvipdispatcher.h"
#include <QApplication>
#include <QSystemTrayIcon>
int main(int argc, char *argv[])
{
......@@ -13,5 +14,12 @@ int main(int argc, char *argv[])
server.Listen(23770);
// QSystemTrayIcon *_sysIcon = new QSystemTrayIcon();
// _sysIcon->setToolTip("FMVIP");
// _sysIcon->show();
// relay._ParseRequest();
return a.exec();
}
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