This commit is contained in:
zhuzichu 2023-07-21 11:19:33 +08:00
commit 2b88634c2f
4 changed files with 8 additions and 4 deletions

View File

@ -61,8 +61,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

View File

@ -23,6 +23,7 @@ FluApp *FluApp::getInstance()
FluApp::FluApp(QObject *parent)
: QObject{parent}
{
httpInterceptor(nullptr);
}
FluApp::~FluApp(){

View File

@ -110,7 +110,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()<<request["headers"].toMap();
QThreadPool::globalInstance()->start([=](){
HttpClient client;
Q_EMIT start();
@ -122,7 +121,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);
@ -143,6 +142,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;

View File

@ -22,7 +22,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 = {});