!44 多线程下载前验证源的有效性

* readme: 修正 ubuntu 的编译说明
* download: 检查软件源的有效性/异步
* download: 检查软件源的有效性
This commit is contained in:
Pluto 2022-06-26 12:09:16 +00:00 committed by shenmo
parent af7990e069
commit ac0a38e670
3 changed files with 22 additions and 4 deletions

View File

@ -23,12 +23,19 @@
#### 编译安装 #### 编译安装
Deepin V20/UOS 21/ Ubuntu 22.04 系统下, 安装依赖 Deepin V20/UOS 21 系统下, 安装依赖
```shell ```shell
sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev
``` ```
Ubuntu 22.04 系统下, 安装依赖
```shell
sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev
```
然后 然后
```shell ```shell
git clone https://gitee.com/deepin-community-store/spark-store.git git clone https://gitee.com/deepin-community-store/spark-store.git

View File

@ -106,13 +106,19 @@ DownloadController::DownloadController(QObject *parent)
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
if (list.at(i).contains("镜像源 Download only") && i + 1 < list.size()) { if (list.at(i).contains("镜像源 Download only") && i + 1 < list.size()) {
for (int j = i + 1; j < list.size(); j++) { for (int j = i + 1; j < list.size(); j++) {
domains.append(list.at(j)); system("curl -I -s --connect-timeout 5 " + list.at(j).toUtf8()
+ "/dcs-repo.gpg-key.asc -w %{http_code} |tail -n1 > /tmp/spark-store/cdnStatus.txt");
QFile cdnStatus("/tmp/spark-store/cdnStatus.txt");
if(cdnStatus.open(QFile::ReadOnly) && QString(cdnStatus.readAll()).toUtf8()=="200"){
qDebug() << list.at(j);
domains.append(list.at(j));
}
} }
break; break;
} }
} }
} }
qDebug() << domains.size(); qDebug() << domains << domains.size();
/* /*
domains = { domains = {

View File

@ -46,7 +46,12 @@ Widget::Widget(DBlurEffectWidget *parent) :
manager = new QNetworkAccessManager(this); // 下载管理 manager = new QNetworkAccessManager(this); // 下载管理
httpClient = new AeaQt::HttpClient; httpClient = new AeaQt::HttpClient;
downloadController = new DownloadController(this); // 并发下载
QtConcurrent::run([=]()
{
downloadController = new DownloadController(this); // 并发下载
});
connect(ui->menu_main, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(0);}); connect(ui->menu_main, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(0);});
connect(ui->menu_network, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(1);}); connect(ui->menu_network, &QPushButton::clicked, this, [=](){Widget::chooseLeftMenu(1);});