Compare commits

..

9 Commits

Author SHA1 Message Date
9ac0c67a25 !216 4262
Merge pull request !216 from shenmo/dev
2023-04-25 14:07:41 +00:00
cb66f5e903 arm架构applist支持 2023-04-25 19:29:11 +08:00
842f0893b3 支持arm搜索 2023-04-25 18:41:38 +08:00
f5a35a332a update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-22 09:18:46 +00:00
0ba0587e17 fix I6XTK0
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-22 09:17:14 +00:00
fd4b52e384 !214 426
Merge pull request !214 from shenmo/dev
2023-04-22 05:58:34 +00:00
c65eea12a6 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-22 05:43:27 +00:00
d6e01a5803 fix: 快读切换应用页面可能出现ux重叠 2023-04-21 12:37:48 +08:00
04aeac62f8 fix: 截图加载失败 2023-04-21 12:37:26 +08:00
5 changed files with 61 additions and 50 deletions

18
debian/changelog vendored
View File

@@ -1,3 +1,21 @@
spark-store (4.2.6.2) stable; urgency=medium
* 新增支持arm架构搜索
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.6.1) stable; urgency=medium
* 修复mint下更新检测不正常
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.6) stable; urgency=medium
* 修复:截图加载失败时点击闪退
-- shenmo <shenmo@spark-app.store>
spark-store (4.2.5.1) stable; urgency=medium
* 调整重写了spark-dstore-patch速度提升尤其对机械硬盘下
* 调整优化了aptss源文件同步策略

View File

@@ -7,6 +7,7 @@
QString SparkAPI::serverUrl = "";
#ifdef __x86_64__
QString SparkAPI::serverUrlDir = "store";
#elif __aarch64__
QString SparkAPI::serverUrlDir = "aarch64-store";
#endif

View File

@@ -58,8 +58,9 @@ void AppIntoPage::openUrl(const QUrl &url)
// 获取图标
QNetworkRequest request;
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
qDebug() << api->getImgServerUrl() + SparkAPI::getArchDir() + url.path() + "/icon.png";
request.setUrl(QUrl(api->getImgServerUrl() + SparkAPI::getArchDir() + url.path() + "/icon.png"));
QString pkgUrlBase = api->getImgServerUrl() + SparkAPI::getArchDir() + url.path();
qDebug() << "Icon URL: " << pkgUrlBase + "/icon.png";
request.setUrl(QUrl(pkgUrlBase + "/icon.png"));
request.setRawHeader("User-Agent", "Mozilla/5.0");
request.setRawHeader("Content-Type", "charset='utf-8'");
manager->get(request);
@@ -74,20 +75,13 @@ void AppIntoPage::openUrl(const QUrl &url)
manager->deleteLater(); });
// 获取截图
QJsonParseError error;
QJsonArray array = QJsonDocument::fromJson(info.value("img_urls").toString().toUtf8(), &error).array();
QStringList imglist;
foreach (const QJsonValue &value, array) {
QString imgUrl = value.toString();
imglist.append(imgUrl);
}
qDebug() << imglist;
for (int i = 0; i < imglist.size(); i++)
for (int i = 0; i < 5 /* 魔法数字,最多五个截图 */; i++)
{
QString imgUrl = pkgUrlBase + "/screen_" + QString::number(i + 1) + ".png";
QNetworkRequest request;
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
request.setUrl(QUrl(imglist.value(i)));
request.setUrl(QUrl(imgUrl));
request.setRawHeader("User-Agent", "Mozilla/5.0");
request.setRawHeader("Content-Type", "charset='utf-8'");
manager->get(request);
@@ -95,17 +89,21 @@ void AppIntoPage::openUrl(const QUrl &url)
{
QByteArray jpegData = reply->readAll();
QPixmap pixmap;
pixmap.loadFromData(jpegData);
pixmap.scaled(100, 100, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
image_show *img=new image_show(this);
img->setImage(pixmap);
//img->setScaledContents(true);
QListWidgetItem* pItem = new QListWidgetItem();
pItem->setSizeHint(QSize(280, 200));
ui->listWidget->addItem(pItem);
ui->listWidget->setItemWidget(pItem, img);
if (pixmap.loadFromData(jpegData))
{
pixmap.scaled(100, 100, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
image_show *img = new image_show(this);
img->setImage(pixmap);
// img->setScaledContents(true);
QListWidgetItem *pItem = new QListWidgetItem();
pItem->setSizeHint(QSize(280, 200));
ui->listWidget->addItem(pItem);
ui->listWidget->setItemWidget(pItem, img);
qDebug() << imgUrl;
}
manager->deleteLater(); });
manager->deleteLater();
});
}
// Check UOS
@@ -201,24 +199,20 @@ void AppIntoPage::clear()
ui->tag_community->hide();
ui->icon->clear();
ui->title->clear();
ui->version->clear();
ui->author->clear();
ui->d_author->clear();
ui->d_size->clear();
ui->d_update->clear();
ui->d_pkgname->clear();
ui->d_website->clear();
ui->d_contributor->clear();
ui->label_2->clear();
ui->downloadButton->hide();
ui->downloadButton->setEnabled(false);
ui->pushButton_3->hide();
// QListWidgetItem *item = nullptr;
// while ((item = ui->listWidget->takeItem(0)) != nullptr)
// {
// QWidget *card = ui->listWidget->itemWidget(item);
// if (card)
// {
// card->deleteLater();
// card = nullptr;
// }
// delete item;
// item = nullptr;
// }
ui->listWidget->clear(); // NOTE: QListWidget::clear() 会析构所有 items
}

View File

@@ -40,30 +40,24 @@ void AppListPage::getAppList(QString type)
if (isDark)
{
theme = "theme=dark";
#ifdef __aarch64__
theme = "dark";
#endif
}
else
{
theme = "theme=light";
#ifdef __aarch64__
theme = "";
#endif
}
if (type == "")
{
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/?" + theme;
#ifdef __aarch64__
url = api->getServerUrl() + "aarch64-store/#/"+ theme;
#endif
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/?" + theme + "&" + "arch=x86";
#ifdef __aarch64__
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/?" + theme + "&" + "arch=aarch64";
#endif
}
else
{
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/applist?type=" + type + "&" + theme;
#ifdef __aarch64__
url = api->getServerUrl() + "aarch64-store/#/"+ theme + type;
#endif
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/applist?type=" + type + "&" + theme + "&" + "arch=x86";
#ifdef __aarch64__
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/applist?type=" + type + "&" + theme + "&" + "arch=aarch64";
#endif
}
ui->webEngineView->setUrl(url);
@@ -85,7 +79,11 @@ void AppListPage::getSearchList(const QString &keyword)
{
theme = "theme=light";
}
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme;
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=x86";
#ifdef __aarch64__
url = api->getServerUrl() + SparkAPI::getArchDir() + "/#/flamescion/search?keywords=" + QUrl::toPercentEncoding(keyword) + "&" + theme + "&" + "arch=aarch64";
#endif
ui->webEngineView->setUrl(url);
delete api;
}

View File

@@ -12,7 +12,7 @@ case $1 in
;;
upgradable-list)
output=$(env LANGUAGE=en_US apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" | awk NR\>1)
output=$(env LANGUAGE=en_US /usr/bin/apt -c /opt/durapps/spark-store/bin/apt-fast-conf/aptss-apt.conf list --upgradable -o Dir::Etc::sourcelist="/opt/durapps/spark-store/bin/apt-fast-conf/sources.list.d/sparkstore.list" -o Dir::Etc::sourceparts="/dev/null" -o APT::Get::List-Cleanup="0" | awk NR\>1)
IFS_OLD="$IFS"
IFS=$'\n'