diff --git a/example/qml/page/T_Http.qml b/example/qml/page/T_Http.qml index 3f50e676..c2a9cd03 100644 --- a/example/qml/page/T_Http.qml +++ b/example/qml/page/T_Http.qml @@ -60,8 +60,9 @@ FluScrollablePage{ } onFinish: { btn_download.disabled = false + btn_download.text = "下载文件" } - onDownloadFileProgress: + onDownloadProgress: (recv,total)=>{ var precent = (recv/total * 100).toFixed(0) + "%" btn_download.text = "下载中..."+precent diff --git a/src/FluApp.cpp b/src/FluApp.cpp index ba688e83..f5b2aaa8 100644 --- a/src/FluApp.cpp +++ b/src/FluApp.cpp @@ -23,6 +23,7 @@ FluApp *FluApp::getInstance() FluApp::FluApp(QObject *parent) : QObject{parent} { + httpInterceptor(nullptr); } FluApp::~FluApp(){ diff --git a/src/FluHttp.cpp b/src/FluHttp.cpp index c2a773ee..fe39434e 100644 --- a/src/FluHttp.cpp +++ b/src/FluHttp.cpp @@ -100,7 +100,6 @@ void FluHttp::get(QVariantMap params,QVariantMap headers){ Q_INVOKABLE void FluHttp::download(QString path,QVariantMap params,QVariantMap headers){ QVariantMap request = invokeIntercept(params,headers,"download").toMap(); - qDebug()<start([=](){ HttpClient client; Q_EMIT start(); @@ -110,7 +109,7 @@ Q_INVOKABLE void FluHttp::download(QString path,QVariantMap params,QVariantMap h .queryParams(request["params"].toMap()) .headers(request["headers"].toMap()) .onDownloadProgress([=](qint64 recv, qint64 total) { - Q_EMIT downloadFileProgress(recv,total); + Q_EMIT downloadProgress(recv,total); }) .onDownloadFileSuccess([=](QString result) { Q_EMIT success(result); @@ -131,6 +130,9 @@ QVariant FluHttp::invokeIntercept(const QVariant& params,const QVariant& headers {"headers",headers}, {"method",method} }; + if(!FluApp::getInstance()->httpInterceptor()){ + return requet; + } QVariant target; QMetaObject::invokeMethod(FluApp::getInstance()->httpInterceptor(), "onIntercept",Q_RETURN_ARG(QVariant,target),Q_ARG(QVariant, requet)); return target; diff --git a/src/FluHttp.h b/src/FluHttp.h index e28e63ab..c28a80f1 100644 --- a/src/FluHttp.h +++ b/src/FluHttp.h @@ -20,7 +20,7 @@ public: Q_SIGNAL void finish(); Q_SIGNAL void error(int status,QString errorString); Q_SIGNAL void success(QString result); - Q_SIGNAL void downloadFileProgress(qint64 recv, qint64 total); + Q_SIGNAL void downloadProgress(qint64 recv, qint64 total); Q_INVOKABLE void get(QVariantMap params = {},QVariantMap headers = {}); Q_INVOKABLE void post(QVariantMap params = {},QVariantMap headers = {}); Q_INVOKABLE void postJson(QVariantMap params = {},QVariantMap headers = {});