Commit bc4c83aa by unknown

添加托盘菜单

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