Merge pull request !280 from shenmo/dev
This commit is contained in:
shenmo 2024-08-17 06:16:49 +00:00 committed by Gitee
commit 506ead11f9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
11 changed files with 89 additions and 55 deletions

View File

@ -1,11 +1,7 @@
# 星火应用商店
[![star](https://gitee.com/spark-store-project/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/stargazers) [![fork](https://gitee.com/spark-store-project/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/spark-store-project/spark-store/members)
https://gitee.com/spark-store-project/spark-store/
https://gitcode.com/spark-store-project/spark-store/
https://github.com/spark-store-project/spark-store/
## 简介
@ -36,7 +32,7 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
您可以通过以下链接实时跟踪我们的Issue处理状态[Gitee Issue看板](https://gitee.com/spark-store-project/spark-store/board)。
若您有软件包想要提交,敬请 [点击此处进行投稿](https://spark-store-project.gitee.io/spark-wiki/#/Submit/Submit)。
若您有软件包想要提交,敬请 [点击此处进行投稿](https://wiki.spark-app.store/#/Submit/Submit)。
@ -88,7 +84,7 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
> appstore://deepin-home-appstore-client?app_detail_info/spark-store
若要使用最新版本,请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[从Gitcode下载](https://gitcode.com/spark-store-project/spark-store/releases)并下载适用于Deepin的最新版本。安装后即可使用。
若要使用最新版本,请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)并下载适用于Deepin的最新版本。安装后即可使用。
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
@ -109,7 +105,7 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[从Gitcode下载](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
@ -124,7 +120,7 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[从Gitcode下载](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
@ -144,7 +140,7 @@ Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[从Gitcode下载](https://gitcode.com/spark-store-project/spark-store/releases)并下载,安装后即可使用。
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)并下载,安装后即可使用。
#### 对于 Debian 12+ 用户

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
spark-store (4.3) stable; urgency=medium
* 修复客户端不支持301跳转的问题
* 修复UOS下错误地提示开发者模式未启动
* 现在会记住上次的窗口大小
* 删除无用依赖修复Debian 13依赖问题
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.13) stable; urgency=medium
* 未经测试文案修改

34
debian/control vendored
View File

@ -7,44 +7,26 @@ Build-Depends:
pkg-config,
qtchooser (>= 55-gc9562a1-1~) | qt5-default,
qtbase5-dev,
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
libdtkcore-dev(>=5.0),
libdtkgui-dev(>=5.0),
libdtkwidget-dev(>=5.0),
libqt5svg5-dev,
qttools5-private-dev,
qttools5-dev-tools,
qtwebengine5-dev,
qtwayland5,
qtwayland5-dev-tools,
gcc,
g++
Standards-Version: 4.0.0
libdtkcore-dev (>= 5.0),
libdtkgui-dev (>= 5.0),
libdtkwidget-dev (>= 5.0)
Standards-Version: 4.1.7
Homepage: https://www.spark-app.store/
Package: spark-store
Architecture: any
Provides: spark-store-console-in-container
Depends:${shlibs:Depends}, ${misc:Depends},
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
qtwayland5,
libdtkcore5,
libdtkgui5,
libdtkwidget5,
Depends: ${shlibs:Depends}, ${misc:Depends},
dde-qt5integration,
curl,
openssl,
dde-qt5integration,
aria2,
gnupg,
zenity,
policykit-1,
policykit-1 | pkexec,
libnotify-bin,
desktop-file-utils,
dpkg-dev

View File

@ -1 +0,0 @@
deb [by-hash=force] https://d.store.deepinos.org.cn /

View File

@ -7,8 +7,7 @@
TARGET = spark-store
TEMPLATE = subdirs
#CONFIG += ordered
CONFIG += wayland-compositor
CONFIG += ordered
SUBDIRS += \
src/spark-store.pro

View File

@ -28,6 +28,7 @@ void SparkAPI::get(QUrl url)
QNetworkRequest request;
HttpRequest *httprequest = new HttpRequest;
request.setUrl(QUrl(url.toString().replace("+", "%2B")));
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
connect(httprequest, &HttpRequest::finished, [=](QString data)
{
QByteArray arr = data.toUtf8();
@ -53,6 +54,7 @@ void SparkAPI::getRAW(QUrl url)
QNetworkRequest request;
HttpRequest *httprequest = new HttpRequest;
request.setUrl(QUrl(url.toString().replace("+", "%2B")));
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
connect(httprequest, &HttpRequest::finished, [=](QString data)
{
emit finishedRAW(data);

View File

@ -13,7 +13,6 @@
#include <DSysInfo>
#include <DApplicationSettings>
#include <DWidgetUtil>
#include <QDate>
#include <QProcessEnvironment>
@ -196,8 +195,6 @@ int main(int argc, char *argv[])
MainWindow w;
a.setMainWindow(&w); // 设置应用程序主窗口,用于初始化关于对话框
// 让打开时界面显示在正中
Dtk::Widget::moveToCenter(&w);
if (argc > 1)
{

View File

@ -48,6 +48,11 @@ MainWindow::~MainWindow()
delete ui;
downloadlistwidget->deleteLater();
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
config.setValue("window/width", width());
config.setValue("window/height", height());
config.sync();
}
void MainWindow::initDbus()
@ -123,6 +128,17 @@ void MainWindow::closeEvent(QCloseEvent *event)
void MainWindow::initUI()
{
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
QSize size;
size.rwidth() = config.value("window/width").toInt();
size.rheight() = config.value("window/height").toInt();
if (!size.isEmpty()) {
resize(size);
}
// 让打开时界面显示在正中
moveToCenter(this);
setWindowTitle(QObject::tr("Spark Store"));
setMaskAlpha(250);
@ -495,9 +511,13 @@ void MainWindow::notify(QObject *receiver, QEvent *event)
void MainWindow::on_pushButton_14_clicked()
{
/**
* NOTE: No need to judget developmode status
*/
// Check UOS
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool())
// QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
// if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool())
if (false)
{
qDebug() << "UOS Developer Mode has not been enabled!";
QtConcurrent::run([=]

View File

@ -73,6 +73,7 @@ void AppIntoPage::openUrl(const QUrl &url)
iconRequest.setUrl(QUrl(pkgUrlBase + "/icon.png"));
iconRequest.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
iconRequest.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
iconRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
iconManager->get(iconRequest);
QObject::connect(iconManager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
@ -96,6 +97,7 @@ void AppIntoPage::openUrl(const QUrl &url)
request.setUrl(QUrl(imgUrl));
request.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
request.setHeader(QNetworkRequest::ContentTypeHeader, "charset='utf-8'");
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
manager->get(request);
QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply)
{
@ -114,14 +116,18 @@ void AppIntoPage::openUrl(const QUrl &url)
qDebug() << imgUrl;
}
manager->deleteLater();
manager->deleteLater();
});
}
/**
* NOTE: No need to judget developmode status
*/
// Check UOS
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool()){
// QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
// if (config.contains("UOS/EnableDeveloperMode") && !config.value("UOS/EnableDeveloperMode").toBool()){
if (false) {
qDebug() << "UOS Developer Mode has not been enabled!";
ui->downloadButton->setText(tr("Developer Mode Disabled"));
ui->downloadButton->setEnabled(false);

View File

@ -121,8 +121,8 @@ if [ ! -e /usr/bin/deepin-app-store-tool ];then
exec_uos_package_link
fi
exec_v23_icon_link
exec_link_clean
#exec_v23_icon_link
#exec_link_clean
wait
exec_uos_package_update
echo "----------------Finished----------------"

View File

@ -83,7 +83,13 @@ function hash_check() {
IS_SHA512SUM_CHECKED=$(cat "$PACKAGES_DATA_PATH" | grep "$DEB_SHA512SUM")
}
function lock_file(){
chattr +i "$1"
}
function unlock_file(){
chattr -i "$1"
}
####################################
@ -94,11 +100,7 @@ if [ $# -eq 0 ]; then
exit
fi
if [ ! -f "$1" ]; then
echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST}"
echo "OMG-IT-GOES-WRONG"
exit 1
fi
if [ "$(id -u)" != "0" ]; then
echo "${TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT}"
@ -106,7 +108,26 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
DEBPATH=$(realpath "$1")
if [ ! -f "$1" ]; then
echo "${TRANSHELL_CONTENT_FILE_NOT_EXIST},Trying to redownload"
FILEPATH=$(dirname "$1")
FILENAME=$(basename "$1")
PACKAGE_NAME=$(echo "$FILENAME" | sed -r 's/^([^_]+)_.*$/\1/')
VERSION=$(echo "$FILENAME" | sed -r 's/^[^_]+_([^_]+)_.*$/\1/')
pushd ${FILEPATH}
aptss download ${PACKAGE_NAME}=${VERSION}
popd
if [ ! -f "$1" ]; then
echo "OMG-IT-GOES-WRONG"
exit 1
else
DEBPATH=$(realpath "$1")
fi
else
DEBPATH=$(realpath "$1")
fi
lock_file "$DEBPATH"
hash_check "$DEBPATH"
@ -144,6 +165,8 @@ if [ ! -z "$IS_SHA512SUM_CHECKED" ]; then
dpkg -i "$DEBPATH" || aptss install -yf
unlock_file "$DEBPATH"
if [ "$?" = "0" ] && [ "$2" = "--delete-after-install" ]; then
if dpkg -s "$package_name" >/dev/null 2>&1; then
echo "软件包已安装:$package_name"