Commit fea1896a by NitefullWind

1. 所有接口弹窗显示错误信息。 2. 网络错误时如果服务端返回了Json信息则显示服务端的信息。

parent 3193ea90
...@@ -11,7 +11,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets ...@@ -11,7 +11,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11 CONFIG += c++11
DEFINES += TEST #DEFINES += TEST
SOURCES += \ SOURCES += \
fmp_vip.cpp \ fmp_vip.cpp \
......
...@@ -23,7 +23,8 @@ FMTask::FMTask(QJsonObject &jsonObj, FM_TYPE fmType, Session *session, QObject * ...@@ -23,7 +23,8 @@ FMTask::FMTask(QJsonObject &jsonObj, FM_TYPE fmType, Session *session, QObject *
_FM_Type(fmType), _FM_Type(fmType),
preTask(nullptr), preTask(nullptr),
_error(FM_API_SUCCESS), _error(FM_API_SUCCESS),
_errorMsg("") _errorMsg(""),
_isShowErrorMsgWnd(true)
{ {
if(session == 0) { if(session == 0) {
_session = new Session(); _session = new Session();
...@@ -50,6 +51,10 @@ QByteArray FMTask::doTask() ...@@ -50,6 +51,10 @@ QByteArray FMTask::doTask()
RunFunction(showWindow); RunFunction(showWindow);
RunFunction(packagePOSRsp); RunFunction(packagePOSRsp);
if(_isShowErrorMsgWnd && getServerJsonValue(PosProps.StatusCode).toInt((int)FM_API_SUCCESS) != FM_API_SUCCESS) {
FMMsgWnd::FailureWnd(getServerJsonValue(PosProps.Msg).toString(), _window);
}
QJsonDocument json(posRspJsonObj); QJsonDocument json(posRspJsonObj);
return json.toJson(QJsonDocument::Compact); return json.toJson(QJsonDocument::Compact);
} }
...@@ -125,13 +130,13 @@ bool FMTask::sendToServer(bool isShowMsg) ...@@ -125,13 +130,13 @@ bool FMTask::sendToServer(bool isShowMsg)
FMP_INFO() << "Server rsponse: " << rspData; FMP_INFO() << "Server rsponse: " << rspData;
// 网络错误
if(net.error != FM_API_SUCCESS) {
setError(net.error, net.errorMsg);
} else {
QJsonParseError jsonErr; QJsonParseError jsonErr;
QJsonDocument rspJson = QJsonDocument::fromJson(rspData, &jsonErr); QJsonDocument rspJson = QJsonDocument::fromJson(rspData, &jsonErr);
// 网络错误,且服务端返回数据不为Json
if(net.error != FM_API_SUCCESS && jsonErr.error!=QJsonParseError::NoError) {
setError(net.error, net.errorMsg);
} else {
// Json错误 // Json错误
if(jsonErr.error != QJsonParseError::NoError) { if(jsonErr.error != QJsonParseError::NoError) {
setError(FM_API_BADJSON); setError(FM_API_BADJSON);
...@@ -150,7 +155,7 @@ bool FMTask::sendToServer(bool isShowMsg) ...@@ -150,7 +155,7 @@ bool FMTask::sendToServer(bool isShowMsg)
} }
bool isOk = (error() == FM_API_SUCCESS); bool isOk = (error() == FM_API_SUCCESS);
if(!isOk && isShowMsg) if(!isOk && isShowMsg && _isShowErrorMsgWnd)
{ {
FMMsgWnd::FailureWnd(errorString(), _window); FMMsgWnd::FailureWnd(errorString(), _window);
} }
...@@ -223,3 +228,13 @@ QString FMTask::sign() const ...@@ -223,3 +228,13 @@ QString FMTask::sign() const
QByteArray md5Bt = QCryptographicHash::hash(bt, QCryptographicHash::Md5); QByteArray md5Bt = QCryptographicHash::hash(bt, QCryptographicHash::Md5);
return md5Bt.toHex(); return md5Bt.toHex();
} }
bool FMTask::getIsShowErrorMsgWnd() const
{
return _isShowErrorMsgWnd;
}
void FMTask::setIsShowErrorMsgWnd(bool isShowErrorMsgWnd)
{
_isShowErrorMsgWnd = isShowErrorMsgWnd;
}
...@@ -27,6 +27,8 @@ public: ...@@ -27,6 +27,8 @@ public:
QJsonValue getServerJsonValue(const QString prop); QJsonValue getServerJsonValue(const QString prop);
QJsonValue getPosJsonValue(const QString prop); QJsonValue getPosJsonValue(const QString prop);
bool getIsShowErrorMsgWnd() const;
void setIsShowErrorMsgWnd(bool isShowErrorMsgWnd);
protected: protected:
// 从配置文件中拷贝数据信息 // 从配置文件中拷贝数据信息
void copyPros(); void copyPros();
...@@ -50,6 +52,8 @@ protected: ...@@ -50,6 +52,8 @@ protected:
FMTask *preTask; FMTask *preTask;
bool _isShowErrorMsgWnd;
private: private:
QString sign() const; QString sign() const;
...@@ -75,6 +79,7 @@ public: ...@@ -75,6 +79,7 @@ public:
return fm_error.at(_error); return fm_error.at(_error);
} }
} }
private: private:
FMError _error; FMError _error;
QString _errorMsg; QString _errorMsg;
......
...@@ -18,6 +18,10 @@ QByteArray FMTaskNoWnd::doTask() ...@@ -18,6 +18,10 @@ QByteArray FMTaskNoWnd::doTask()
} }
packagePOSRsp(); packagePOSRsp();
if(_isShowErrorMsgWnd && getServerJsonValue(PosProps.StatusCode).toInt((int)FM_API_SUCCESS) != FM_API_SUCCESS) {
FMMsgWnd::FailureWnd(getServerJsonValue(PosProps.Msg).toString(), _window);
}
QJsonDocument json(posRspJsonObj); QJsonDocument json(posRspJsonObj);
return json.toJson(QJsonDocument::Compact); return json.toJson(QJsonDocument::Compact);
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
TaskCoupon::TaskCoupon(QJsonObject &jsonObj, Session *session, QObject *parent) TaskCoupon::TaskCoupon(QJsonObject &jsonObj, Session *session, QObject *parent)
:FMTaskNoWnd(jsonObj, FM_Coupon, session, parent) :FMTaskNoWnd(jsonObj, FM_Coupon, session, parent)
{ {
_isShowErrorMsgWnd = false;
} }
void TaskCoupon::packageServerReq() void TaskCoupon::packageServerReq()
......
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