mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-09-06 03:12:21 +08:00
!103 feat: 下载量统计
* Merge remote-tracking branch 'upstream/master' into dev * feat: 下载量 * fix: spk 搜索问题 * fix: 修复依赖问题 * feat: 统计下载量 * Merge remote-tracking branch 'upstream/master' into dev * feat: sender-d * Merge remote-tracking branch 'upstream/master' into dev * Merge remote-tracking branch 'upstream/master' into dev * fix: enhance download speed * feat: 从所有镜像源中选取最快镜像源高速下载 * Merge remote-tracking branch 'upstream/master' into dev * fix: 不再使用http头请求文件大小 * Merge remote-tracking branch 'upstream/master' into dev * feature: metalink backhend * Merge remote-tracking branch 'upstream/master' into dev * Merge remote-tracking branch 'upstream/master' into dev * fix: 忽略系统原有aria2配置文件 * fix: waitforfinished
This commit is contained in:
parent
fcdcd84462
commit
2d2b431df7
1
debian/control
vendored
1
debian/control
vendored
@ -34,6 +34,7 @@ Depends:${shlibs:Depends}, ${misc:Depends},
|
|||||||
libdtkwidget5,
|
libdtkwidget5,
|
||||||
libnotify4,
|
libnotify4,
|
||||||
curl,
|
curl,
|
||||||
|
openssl,
|
||||||
dde-qt5integration,
|
dde-qt5integration,
|
||||||
bubblewrap,
|
bubblewrap,
|
||||||
aria2,
|
aria2,
|
||||||
|
@ -94,7 +94,7 @@ Widget::Widget(DBlurEffectWidget *parent) :
|
|||||||
connect(searchEdit, &DSearchEdit::returnPressed, this, [=]()
|
connect(searchEdit, &DSearchEdit::returnPressed, this, [=]()
|
||||||
{
|
{
|
||||||
qDebug() << "触发了搜索,呜啦啦啦!";
|
qDebug() << "触发了搜索,呜啦啦啦!";
|
||||||
QString searchtext = searchEdit->text();
|
QString searchtext = searchEdit->text().replace("\r","");
|
||||||
if(!searchtext.isEmpty())
|
if(!searchtext.isEmpty())
|
||||||
{
|
{
|
||||||
qDebug() << searchEdit->text();
|
qDebug() << searchEdit->text();
|
||||||
@ -1308,13 +1308,16 @@ void Widget::on_stackedWidget_currentChanged(int arg1)
|
|||||||
void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
|
void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
|
||||||
{
|
{
|
||||||
//分析出服务器中的分类名称
|
//分析出服务器中的分类名称
|
||||||
QStringList url_ = arg1.path().split("/");
|
QStringList url_ = arg1.path().replace("//", "/").split("/");
|
||||||
QString pname;
|
QString pname;
|
||||||
if(url_.size() > 3)
|
qDebug() << "URL size:" << url_.size();
|
||||||
|
if (url_.size() > 3)
|
||||||
{
|
{
|
||||||
type_name = url_[2];
|
type_name = url_[2];
|
||||||
pname = url_[3];
|
pname = url_[3];
|
||||||
}
|
}
|
||||||
|
qDebug() << "type_name:" << type_name << ";pname" << pname;
|
||||||
|
|
||||||
//如果是app.json就打开详情页
|
//如果是app.json就打开详情页
|
||||||
if(arg1.path().right(8) == "app.json")
|
if(arg1.path().right(8) == "app.json")
|
||||||
{
|
{
|
||||||
@ -1328,8 +1331,8 @@ void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
|
|||||||
ui->label_appname->clear();
|
ui->label_appname->clear();
|
||||||
ui->pushButton_download->setEnabled(false);
|
ui->pushButton_download->setEnabled(false);
|
||||||
ui->stackedWidget->setCurrentIndex(2);
|
ui->stackedWidget->setCurrentIndex(2);
|
||||||
qDebug() << "https://d.store.deepinos.org.cn/" + type_name + "/" + pname;
|
|
||||||
qDebug() << "链接地址:" << arg1;
|
qDebug() << "程序跳转链接地址:" << arg1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
load.cancel(); // 打开并发加载线程前关闭正在执行的线程
|
load.cancel(); // 打开并发加载线程前关闭正在执行的线程
|
||||||
|
@ -14,6 +14,25 @@ void SpkAppInfoLoaderThread::run()
|
|||||||
|
|
||||||
httpClient = new AeaQt::HttpClient;
|
httpClient = new AeaQt::HttpClient;
|
||||||
|
|
||||||
|
|
||||||
|
QString downloadTimesUrl = targetUrl.toString();
|
||||||
|
downloadTimesUrl = downloadTimesUrl.replace("app.json","download-times.txt");
|
||||||
|
httpClient->get(downloadTimesUrl)
|
||||||
|
.onResponse([this](QString downloadTimesFeedback)
|
||||||
|
{
|
||||||
|
qDebug() << "请求应用下载量信息 " << downloadTimesFeedback;
|
||||||
|
this->downdloadTimes = downloadTimesFeedback.replace("\n","");
|
||||||
|
})
|
||||||
|
.onError([this](QString errorStr)
|
||||||
|
{
|
||||||
|
qDebug() << "请求下载量失败:" << errorStr;
|
||||||
|
this->downdloadTimes = "0";
|
||||||
|
})
|
||||||
|
.block()
|
||||||
|
.timeout(3*1000)
|
||||||
|
.exec();
|
||||||
|
|
||||||
|
|
||||||
httpClient->get(targetUrl.toString())
|
httpClient->get(targetUrl.toString())
|
||||||
.header("content-type", "application/json")
|
.header("content-type", "application/json")
|
||||||
.onResponse([this](QByteArray json_array)
|
.onResponse([this](QByteArray json_array)
|
||||||
@ -47,6 +66,7 @@ void SpkAppInfoLoaderThread::run()
|
|||||||
QString details;
|
QString details;
|
||||||
details = tr("PkgName: ") + json["Pkgname"].toString() + "\n";
|
details = tr("PkgName: ") + json["Pkgname"].toString() + "\n";
|
||||||
details += tr("Version: ") + json["Version"].toString() + "\n";
|
details += tr("Version: ") + json["Version"].toString() + "\n";
|
||||||
|
details += tr("Download Times: ") + this->downdloadTimes + "\n";
|
||||||
if(!json["Author"].toString().trimmed().isEmpty())
|
if(!json["Author"].toString().trimmed().isEmpty())
|
||||||
{
|
{
|
||||||
details += tr("Author: ") + json["Author"].toString() + "\n";
|
details += tr("Author: ") + json["Author"].toString() + "\n";
|
||||||
|
@ -23,6 +23,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
QUrl targetUrl;
|
QUrl targetUrl;
|
||||||
QString serverUrl;
|
QString serverUrl;
|
||||||
|
QString downdloadTimes;
|
||||||
bool finishedDownload = false;
|
bool finishedDownload = false;
|
||||||
int downloaderRetval = 0;
|
int downloaderRetval = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user