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