mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-10-25 19:52:20 +08:00
fix: 修复一些bug
This commit is contained in:
parent
5cc34e7e3d
commit
67c0cbf27b
@ -12,7 +12,7 @@ void SparkAPI::get(QUrl url)
|
||||
{
|
||||
QNetworkRequest request;
|
||||
HttpRequest *httprequest=new HttpRequest;
|
||||
request.setUrl(url);
|
||||
request.setUrl(QUrl(url.toString().replace("+","%2B")));
|
||||
connect(httprequest,&HttpRequest::finished,[=](QString data){
|
||||
QByteArray arr = data.toUtf8();
|
||||
//解析Json
|
||||
@ -40,7 +40,7 @@ void SparkAPI::getSearchList(QString keyword)
|
||||
}
|
||||
void SparkAPI::getAppInfo(QUrl spk)
|
||||
{
|
||||
get(QUrl(getServerUrl()+"store"+spk.path() + "/app.json"));
|
||||
get(QUrl(getServerUrl()+"store"+spk.path().replace("+","%2B") + "/app.json"));
|
||||
}
|
||||
QString SparkAPI::getServerUrl()
|
||||
{
|
||||
|
||||
@ -5,6 +5,11 @@
|
||||
#include <DGuiApplicationHelper>
|
||||
#include <QSizePolicy>
|
||||
|
||||
#define AppPageApplist 0
|
||||
#define AppPageSearchlist 1
|
||||
#define AppPageAppdetail 2
|
||||
#define AppPageSettings 3
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: DBlurEffectWidget(parent)
|
||||
, ui(new Ui::MainWindow)
|
||||
@ -42,7 +47,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
menu->addAction(setting);
|
||||
|
||||
ui->titlebar->setMenu(menu);
|
||||
connect(setting, &QAction::triggered, this, [=]{switchPage(3);});
|
||||
connect(setting, &QAction::triggered, this, [=]{switchPage(AppPageSettings);});
|
||||
//主题切换
|
||||
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType) {
|
||||
if (themeType == DGuiApplicationHelper::DarkType) {
|
||||
@ -155,7 +160,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
searchEdit->clearEdit();
|
||||
} else {
|
||||
ui->applistpage_1->getSearchList(searchtext);
|
||||
switchPage(1);
|
||||
switchPage(AppPageSearchlist);
|
||||
searchEdit->clearEdit();
|
||||
}
|
||||
}
|
||||
@ -183,10 +188,10 @@ MainWindow::~MainWindow()
|
||||
void MainWindow::openUrl(QUrl url)
|
||||
{
|
||||
if (url.toString().startsWith("spk://")) {
|
||||
ui->appintopage->openUrl(url);
|
||||
switchPage(2);
|
||||
ui->appintopage->openUrl(QUrl(url.toString().replace("+","%2B")));
|
||||
switchPage(AppPageAppdetail);
|
||||
} else {
|
||||
QDesktopServices::openUrl(url);
|
||||
QDesktopServices::openUrl(QUrl(url.toString().replace("+","%2B")));
|
||||
}
|
||||
}
|
||||
|
||||
@ -229,5 +234,5 @@ void MainWindow::updateUi(int now)
|
||||
<< "others";
|
||||
ui->applistpage->getAppList(itemlist[now]);
|
||||
qDebug() << itemlist[now];
|
||||
switchPage(0);
|
||||
switchPage(AppPageApplist);
|
||||
}
|
||||
|
||||
@ -54,12 +54,13 @@ void AppIntoPage::openUrl(QUrl url)
|
||||
connect(api,&SparkAPI::finishedObject,[=](QJsonObject appinfo){
|
||||
|
||||
info = appinfo;
|
||||
qDebug()<<url;
|
||||
// qDebug()<<url;
|
||||
//获取图标
|
||||
QNetworkAccessManager *naManager;
|
||||
QNetworkRequest request;
|
||||
naManager=new QNetworkAccessManager(this);
|
||||
request.setUrl(QUrl(api->getImgServerUrl()+"store"+url.path() + "/icon.png"));
|
||||
qDebug()<<api->getImgServerUrl()+"store"+url.path().replace("+","%2B") + "/icon.png";
|
||||
request.setUrl(QUrl(api->getImgServerUrl()+"store"+url.path().replace("+","%2B") + "/icon.png"));
|
||||
request.setRawHeader("User-Agent", "Mozilla/5.0");
|
||||
request.setRawHeader("Content-Type", "charset='utf-8'");
|
||||
naManager->get(request);
|
||||
@ -84,8 +85,9 @@ void AppIntoPage::openUrl(QUrl url)
|
||||
bool isInstalled;
|
||||
bool isUpdated;
|
||||
QString packagename = info["Pkgname"].toString();
|
||||
isInstall.start("dpkg -s " + info["Pkgname"].toString());
|
||||
isInstall.waitForFinished();
|
||||
isInstall.start("dpkg -s " + info["Pkgname"].toString()); //todo
|
||||
isInstall.waitForStarted();
|
||||
isInstall.waitForFinished(-1);
|
||||
int error = QString::fromStdString(isInstall.readAllStandardError().toStdString()).length();
|
||||
if(error == 0)
|
||||
{
|
||||
@ -93,12 +95,12 @@ void AppIntoPage::openUrl(QUrl url)
|
||||
|
||||
QProcess isUpdate;
|
||||
isUpdate.start("dpkg-query --showformat='${Version}' --show " + info["Pkgname"].toString());
|
||||
isUpdate.waitForFinished();
|
||||
isUpdate.waitForFinished(10);
|
||||
QString localVersion = isUpdate.readAllStandardOutput();
|
||||
localVersion.replace("'", "");
|
||||
|
||||
isUpdate.start("dpkg --compare-versions " + localVersion + " ge " + info["Version"].toString());
|
||||
isUpdate.waitForFinished();
|
||||
isUpdate.waitForFinished(10);
|
||||
if(!isUpdate.exitCode())
|
||||
{
|
||||
isUpdated = true;
|
||||
@ -153,7 +155,7 @@ void AppIntoPage::openUrl(QUrl url)
|
||||
QNetworkAccessManager *naManager;
|
||||
QNetworkRequest request;
|
||||
naManager=new QNetworkAccessManager(this);
|
||||
request.setUrl(QUrl(imglist[i]));
|
||||
request.setUrl(QUrl(imglist[i].replace("+","%2B")));
|
||||
request.setRawHeader("User-Agent", "Mozilla/5.0");
|
||||
request.setRawHeader("Content-Type", "charset='utf-8'");
|
||||
naManager->get(request);
|
||||
@ -294,11 +296,11 @@ void AppIntoPage::on_pushButton_3_clicked()
|
||||
|
||||
QProcess uninstall;
|
||||
uninstall.start("pkexec", QStringList() << "apt" << "purge" << "-y" << info["Pkgname"].toString().toLower());
|
||||
uninstall.waitForFinished();
|
||||
uninstall.waitForFinished(-1);
|
||||
|
||||
QProcess check;
|
||||
check.start("dpkg", QStringList() << "-s" << info["Pkgname"].toString().toLower());
|
||||
check.waitForFinished();
|
||||
check.waitForFinished(10);
|
||||
|
||||
if (check.readAllStandardOutput().isEmpty())
|
||||
{
|
||||
|
||||
@ -27,7 +27,7 @@ QString HttpRequest::postRequest(QString url, QString jsondata)
|
||||
QByteArray array= jsondata.toLatin1();
|
||||
QNetworkRequest request;
|
||||
QNetworkAccessManager *naManager=new QNetworkAccessManager(this);
|
||||
QUrl strUrl = url;
|
||||
QUrl strUrl = url.replace("+","%2B");
|
||||
request.setUrl(strUrl);
|
||||
request.setRawHeader("Content-Type", "charset='utf-8'");
|
||||
request.setRawHeader("Content-Type", "application/json");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user