From 33742f96deff5191690f8c451d3e4b53fb0053be Mon Sep 17 00:00:00 2001 From: RigoLigo Date: Sun, 26 Jun 2022 12:10:10 +0000 Subject: [PATCH] =?UTF-8?q?!45=20=E6=B7=BB=E5=8A=A0=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E9=87=8F=E6=98=BE=E7=A4=BA=20*=20=E6=B7=BB=E5=8A=A0=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E9=87=8F=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/widget.cpp | 4 +- src/widget.h | 2 +- src/widget.ui | 273 +++++++++++++++--------------- src/workerthreads.cpp | 11 +- src/workerthreads.h | 2 +- translations/spark-store_en.ts | 150 ++++++++-------- translations/spark-store_fr.ts | 150 ++++++++-------- translations/spark-store_zh_CN.ts | 158 +++++++++-------- 8 files changed, 398 insertions(+), 352 deletions(-) diff --git a/src/widget.cpp b/src/widget.cpp index 02d866e..f3d1d3d 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -837,6 +837,7 @@ void Widget::sltAppinfoResetUi() ui->pushButton_update->setEnabled(false); ui->label_show->setText("Loading..."); ui->label_show->show(); + ui->label_downloadCount->clear(); } void Widget::sltAppinfoTags(QStringList *tagList) @@ -880,7 +881,7 @@ void Widget::sltAppinfoTags(QStringList *tagList) void Widget::sltAppinfoDetails(QString *name, QString *details, QString *info, QString *website, QString *packageName, QUrl *fileUrl, - bool isInstalled, bool isUpdated) + int downloadCount, bool isInstalled, bool isUpdated) { ui->label_appname->setText(appName = *name); ui->label_appname->show(); @@ -888,6 +889,7 @@ void Widget::sltAppinfoDetails(QString *name, QString *details, QString *info, ui->label_info->show(); ui->label_more->setText(*info); ui->label_more->show(); + ui->label_downloadCount->setText(tr("Total downloads: %1").arg(downloadCount)); pkgName = *packageName; url = *fileUrl; diff --git a/src/widget.h b/src/widget.h index e016efb..38e6e8b 100644 --- a/src/widget.h +++ b/src/widget.h @@ -76,7 +76,7 @@ private slots: void sltAppinfoTags(QStringList *tagList); void sltAppinfoDetails(QString *name, QString *details, QString *info, QString *website, QString *packageName, - QUrl *fileUrl, bool isInstalled, + QUrl *fileUrl, int downloadCount, bool isInstalled, bool isUpdated); void sltAppinfoIcon(QPixmap *icon); void sltAppinfoScreenshot(QPixmap *picture, int index); diff --git a/src/widget.ui b/src/widget.ui index a31e9c5..7593545 100644 --- a/src/widget.ui +++ b/src/widget.ui @@ -489,8 +489,8 @@ 0 0 - 903 - 849 + 889 + 846 @@ -509,23 +509,7 @@ true - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 70 - 20 - - - - - + Qt::Horizontal @@ -541,30 +525,7 @@ - - - - Install - - - - - - - - Bitstream Charter - 22 - - - - Name - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - + @@ -585,7 +546,76 @@ - + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 70 + 20 + + + + + + + + + 70 + 16777215 + + + + + + + Site + + + + + + + Install + + + + + + + Uninstall + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + Share + + + + @@ -613,6 +643,19 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -626,94 +669,19 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Uninstall - - - - - - - - 70 - 16777215 - - - - + + + + + Bitstream Charter + 22 + - Site + Name - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 20 - - - - - - - - Share + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse @@ -913,6 +881,45 @@ + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + Total downloads + + + @@ -993,8 +1000,8 @@ 0 0 - 869 - 325 + 851 + 327 @@ -1123,8 +1130,8 @@ 0 0 - 738 - 886 + 697 + 805 diff --git a/src/workerthreads.cpp b/src/workerthreads.cpp index c6841bf..e6a9047 100644 --- a/src/workerthreads.cpp +++ b/src/workerthreads.cpp @@ -11,12 +11,19 @@ void SpkAppInfoLoaderThread::run() { emit requestResetUi(); + int downloadCount = 0; httpClient = new AeaQt::HttpClient; + httpClient->get(targetUrl.toString().replace("app.json", "download-times.txt")) + .onResponse([&downloadCount](QByteArray text) + { + downloadCount = QString(text).toInt(); + }); + httpClient->get(targetUrl.toString()) .header("content-type", "application/json") - .onResponse([this](QByteArray json_array) + .onResponse([&](QByteArray json_array) { qDebug() << "请求应用信息 " << json_array; QString urladdress, deatils, more, packagename, appweb; @@ -95,7 +102,7 @@ void SpkAppInfoLoaderThread::run() isUpdated = false; } - emit requestSetAppInformation(&appName, &details, &more, &appweb, &packagename, &fileUrl, isInstalled, isUpdated); + emit requestSetAppInformation(&appName, &details, &more, &appweb, &packagename, &fileUrl, downloadCount, isInstalled, isUpdated); // tag 加载 QString tags = json["Tags"].toString(); diff --git a/src/workerthreads.h b/src/workerthreads.h index afe4be3..c593d87 100644 --- a/src/workerthreads.h +++ b/src/workerthreads.h @@ -40,7 +40,7 @@ signals: void requestSetTags(QStringList *tagList); void requestSetAppInformation(QString *name, QString *details, QString *info, QString *website, QString *packageName, - QUrl *fileUrl, bool isInstalled, + QUrl *fileUrl, int downloadCount, bool isInstalled, bool isUpdated); void finishedIconLoad(QPixmap *icon); void finishedScreenshotLoad(QPixmap *icon, int index); // 该信号必须以 BlockingQueued 方式连接 diff --git a/translations/spark-store_en.ts b/translations/spark-store_en.ts index 00f5347..01b8608 100644 --- a/translations/spark-store_en.ts +++ b/translations/spark-store_en.ts @@ -45,47 +45,47 @@ SpkAppInfoLoaderThread - + Failed to download app info. Please check internet connection. - + PkgName: - + Version: - + Author: - + Official Site: - + Contributor: - + Update Time: - + Installed Size: - + Failed to load application icon. @@ -133,56 +133,56 @@ - + Name - + ICON - - - + + + Install - + Uninstall - + Site - - + + <html><head/><body><p>This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology</p></body></html> - + <html><head/><body><p><img src=":/tags/community-small.png"/></p></body></html> - + <html><head/><body><p><img src=":/tags/ubuntu-small.png"/></p></body></html> - + <html><head/><body><p><img src=":/tags/uos-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to deepin 20</p></body></html> @@ -227,46 +227,46 @@ - + <html><head/><body><p><img src=":/tags/deepin-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to UOS home 20</p></body></html> - - + + <html><head/><body><p>This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment</p></body></html> - + <html><head/><body><p><img src=":/tags/dtk-small.png"/></p></body></html> - - + + <html><head/><body><p>A deepin-wine5 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine5 by your self.</p></body></html> - - + + <html><head/><body><p>An Appimage to deb app.</p></body></html> - + <html><head/><body><p><img src=":/tags/a2d-small.png"/></p></body></html> - + Share Spk share link @@ -291,109 +291,114 @@ - - + + <html><head/><body><p>Capable to Ubuntu 22.04</p></body></html> - - + + <html><head/><body><p>A deepin-wine2 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine2 by your self.</p></body></html> - + <html><head/><body><p><img src=":/tags/dwine2-small.png"/></p></body></html> - + <html><head/><body><p><img src=":/tags/dwine5-small.png"/></p></body></html> - - Info + + Total downloads + Info + + + + <html><head/><body><p>An app store developed by community enthusiasts</p></body></html> - + Screenshots - + Line Settings - + Choose Line: - + Refresh - + <html><head/><body><p>The role of the source server is to ensure that the software is updated, and supports the use of the apt tool to get the software. We usually prefer that you use the first line as the update source, which is generally the most stable. </p></body></html> - + Update - + Source Server - + Server - + Temp - + Clean - + Since the dictionary is at /tmp,It would be cleaned automatically when system reboot. - + Size: - + Location:/tmp/spark-store - + About us - + <html><head/><body><p>We are <span style=" font-weight:600;">NOT</span> the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &quot;Spark Store&quot;! &quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. </p><p>We don't make a profit from this, all developers and maintainers don't get paid, and we rely on the community's donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. </p><p>Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. </p><p>If any part of the store infringes your rights, please tell us &lt;jifengshenmo@outlook.com&gt; we will remove the infringing content as soon as possible. </p><p>If you'd like to get involved with us too, whether you're involved in development, design, pitching or submitting work, we welcome you to join us. </p><p>QQ group:872690351<br/></p></body></html> @@ -408,22 +413,22 @@ - + <html><head/><body><p><br/></p></body></html> - + Request Update - + Take effect when restart - + 0B 0B @@ -468,7 +473,7 @@ - + Reinstall @@ -478,27 +483,32 @@ - + + Total downloads: %1 + + + + Upgrade - + Updating, please wait... - + Apt has reported an error. Please use apt update in terminal to locate the problem. - + Unknown error! - + Uninstall succeeded @@ -513,12 +523,12 @@ - + Temporary cache was cleaned - + The URL has been copied to the clipboard diff --git a/translations/spark-store_fr.ts b/translations/spark-store_fr.ts index a57f8e4..e369bab 100644 --- a/translations/spark-store_fr.ts +++ b/translations/spark-store_fr.ts @@ -56,47 +56,47 @@ Nous sommes nés pour le changement. SpkAppInfoLoaderThread - + Failed to download app info. Please check internet connection. - + PkgName: - + Version: - + Author: - + Official Site: - + Contributor: - + Update Time: - + Installed Size: - + Failed to load application icon. @@ -204,217 +204,222 @@ Nous sommes nés pour le changement. - - - + + + Install - + Name - + ICON - + Uninstall - + Site - + Share - - + + <html><head/><body><p>This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology</p></body></html> - + <html><head/><body><p><img src=":/tags/community-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to Ubuntu 22.04</p></body></html> - + <html><head/><body><p><img src=":/tags/ubuntu-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to deepin 20</p></body></html> - + <html><head/><body><p><img src=":/tags/deepin-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to UOS home 20</p></body></html> - + <html><head/><body><p><img src=":/tags/uos-small.png"/></p></body></html> - - + + <html><head/><body><p>This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment</p></body></html> - + <html><head/><body><p><img src=":/tags/dtk-small.png"/></p></body></html> - - + + <html><head/><body><p>A deepin-wine2 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine2 by your self.</p></body></html> - + <html><head/><body><p><img src=":/tags/dwine2-small.png"/></p></body></html> - - + + <html><head/><body><p>A deepin-wine5 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine5 by your self.</p></body></html> - + <html><head/><body><p><img src=":/tags/dwine5-small.png"/></p></body></html> - - + + <html><head/><body><p>An Appimage to deb app.</p></body></html> - + <html><head/><body><p><img src=":/tags/a2d-small.png"/></p></body></html> - + Request Update - - Info + + Total downloads + Info + + + + <html><head/><body><p>An app store developed by community enthusiasts</p></body></html> - + Screenshots - + Line Settings - + Choose Line: - + Refresh - + Take effect when restart - + <html><head/><body><p>The role of the source server is to ensure that the software is updated, and supports the use of the apt tool to get the software. We usually prefer that you use the first line as the update source, which is generally the most stable. </p></body></html> - + Update - + Source Server - + Server - + Temp - + Clean - + Since the dictionary is at /tmp,It would be cleaned automatically when system reboot. - + Size: - + Location:/tmp/spark-store - + About us - + <html><head/><body><p>We are <span style=" font-weight:600;">NOT</span> the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &quot;Spark Store&quot;! &quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. </p><p>We don't make a profit from this, all developers and maintainers don't get paid, and we rely on the community's donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. </p><p>Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. </p><p>If any part of the store infringes your rights, please tell us &lt;jifengshenmo@outlook.com&gt; we will remove the infringing content as soon as possible. </p><p>If you'd like to get involved with us too, whether you're involved in development, design, pitching or submitting work, we welcome you to join us. </p><p>QQ group:872690351<br/></p></body></html> @@ -511,7 +516,7 @@ Nous sommes nés pour le changement. Nom - + <html><head/><body><p><br/></p></body></html> @@ -584,7 +589,7 @@ Nous sommes nés pour le changement. Taille: - + 0B 0B @@ -641,7 +646,7 @@ Nous sommes nés pour le changement. - + Reinstall @@ -661,37 +666,42 @@ Nous sommes nés pour le changement. - + + Total downloads: %1 + + + + Upgrade - + Updating, please wait... - + Apt has reported an error. Please use apt update in terminal to locate the problem. - + Unknown error! - + Uninstall succeeded - + Temporary cache was cleaned - + The URL has been copied to the clipboard diff --git a/translations/spark-store_zh_CN.ts b/translations/spark-store_zh_CN.ts index 2094575..c8e0337 100644 --- a/translations/spark-store_zh_CN.ts +++ b/translations/spark-store_zh_CN.ts @@ -29,7 +29,7 @@ <span style=' font-size:10pt;font-weight:60;'>An appstore powered by community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span> - <span style=' font-size:10pt;font-weight:60;'>一款社区维护的应用商店</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>星火计划开发者</span> + <span style=' font-size:10pt;font-weight:60;'>一款社区维护的应用商店</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>星火计划开发者</span> Version 2.0+2 @@ -42,7 +42,7 @@ The Spark Project - 星火计划 The Spark Project + 星火计划 The Spark Project <span style=' font-size:10pt;font-weight:60;'>An appstore powered by deepin community</span><br/><a href='https://www.spark-app.store/'>https://www.spark-app.store</a><br/><span style=' font-size:12pt;'>Spark developers</span><br/>We publish this program under GPL V3 @@ -57,47 +57,47 @@ SpkAppInfoLoaderThread - + Failed to download app info. Please check internet connection. 下载应用程序详细信息失败,请检查网络连接。 - + PkgName: 包名: - + Version: 版本: - + Author: 作者: - + Official Site: 官网: - + Contributor: 投稿者: - + Update Time: 更新时间: - + Installed Size: 大小: - + Failed to load application icon. 加载应用程序图标失败。 @@ -188,19 +188,19 @@ 打开下载文件夹 - + Name 软件名 - + ICON - - - + + + Install 安装 @@ -225,79 +225,79 @@ 社交沟通 - + Uninstall 卸载 - + Site 官网 - - + + <html><head/><body><p>This app is developed by community user,we give this tag to honor those who contribute to the Linux Ecology</p></body></html> <html><head/><body><p>这款应用是社区开发者开发的,我们为社区开发者颁发这款勋章以表彰他们对Linux生态的贡献</p></body></html> - + <html><head/><body><p><img src=":/tags/community-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to Ubuntu 22.04</p></body></html> <html><head/><body><p>支持Ubuntu 22.04</p></body></html> - - + + <html><head/><body><p>Capable to deepin 20</p></body></html> <html><head/><body><p>支持deepin 20</p></body></html> - + <html><head/><body><p><img src=":/tags/deepin-small.png"/></p></body></html> - - + + <html><head/><body><p>Capable to UOS home 20</p></body></html> <html><head/><body><p>支持UOS家庭版 20</p></body></html> - - + + <html><head/><body><p>This is a DTK5 app,which means it would have better effect on Deepin Desktop Environment</p></body></html> <html><head/><body><p>这是一款DTK5应用,请使用深度桌面环境来获得最完美的体验</p></body></html> - + <html><head/><body><p><img src=":/tags/dtk-small.png"/></p></body></html> - - + + <html><head/><body><p>A deepin-wine5 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine5 by your self.</p></body></html> <html><head/><body><p>这是一款deepin-wine5应用,如果你并没有在使用深度系列发行版(比如您在使用ubuntu),你需要自行配置deepin-wine5环境</p></body></html> - - + + <html><head/><body><p>An Appimage to deb app.</p></body></html> <html><head/><body><p>这是一款Appimage转制应用.</p></body></html> - + <html><head/><body><p><img src=":/tags/a2d-small.png"/></p></body></html> - + Share Spk分享链接 @@ -320,18 +320,18 @@ 社交沟通 - - + + <html><head/><body><p>A deepin-wine2 app.If you are using ubuntu or other non-deepin distro,you should deploy deepin-wine2 by your self.</p></body></html> <html><head/><body><p>这是一款 deepin-wine2 应用,如果你并没有在使用深度系列发行版(比如您在使用ubuntu),你需要自行配置 deepin-wine2 环境</p></body></html> - + <html><head/><body><p><img src=":/tags/dwine2-small.png"/></p></body></html> - + <html><head/><body><p><img src=":/tags/dwine5-small.png"/></p></body></html> @@ -340,32 +340,32 @@ 贡献翻译/应用反馈 - + Info 详细 - + <html><head/><body><p>An app store developed by community enthusiasts</p></body></html> <html><head/><body><p>由社区爱好者开发的一款应用商店</p></body></html> - + Screenshots 屏幕截图 - + Line Settings 线路设置 - + Choose Line: 线路选择: - + Refresh 刷新 @@ -374,57 +374,57 @@ 重启商店后生效 - + <html><head/><body><p>The role of the source server is to ensure that the software is updated, and supports the use of the apt tool to get the software. We usually prefer that you use the first line as the update source, which is generally the most stable. </p></body></html> <html><head/><body><p>源服务器的作用是保证软件更新,并且支持使用apt工具获取软件。通常我们更建议你使用第一个线路作为更新源,一般是最稳定的。</p></body></html> - + Update 更新源 - + Source Server 更新源服务器 - + Server - + Temp 缓存目录 - + Clean 清空 - + Since the dictionary is at /tmp,It would be cleaned automatically when system reboot. 因为这个目录位于/tmp下,所以即使你不手动清空的话,其也将在系统重启时自动清空。 - + Size: 目录大小: - + Location:/tmp/spark-store 目录位置:/tmp/spark-store - + About us 关于我们 - + <html><head/><body><p>We are <span style=" font-weight:600;">NOT</span> the official team, just like you, we are just one of the many Linux/deepin system enthusiasts and users, we develop and run the &quot;Spark Store&quot;! &quot;, is to bring the community together to share useful software, or to participate in development together, so that we all use the latest and greatest software. </p><p>We don't make a profit from this, all developers and maintainers don't get paid, and we rely on the community's donations to us for most of our expenses, which we are grateful for and which allow us not to spend too much energy worrying about funding. </p><p>Our service and software are free for everyone to use, communicate, and learn, but you must comply with local laws and regulations in the process of your use, otherwise any problems have nothing to do with us. </p><p>If any part of the store infringes your rights, please tell us &lt;jifengshenmo@outlook.com&gt; we will remove the infringing content as soon as possible. </p><p>If you'd like to get involved with us too, whether you're involved in development, design, pitching or submitting work, we welcome you to join us. </p><p>QQ group:872690351<br/></p></body></html> <html><head/><body><p>我们并<span style=" font-weight:600;">不是</span>官方团队,和你一样,我们也只是众多Linux/deepin系统爱好者和用户之中的一员,我们开发并且运营这个“Spark应用商店”,是为了让社区的朋友们一起分享好用的软件,或者一起参与开发,让大家都用到最新的,最优秀的软件。</p><p>我们并没有因此盈利,所有开发和维护人员都不会获得报酬,我们的主要支出大部分依赖于社区对我们的捐助,很感谢大家,这部分捐助让我们并不需要耗费太多精力去担心资金问题。</p><p>我们的服务和开发的软件都是免费供给大家使用,交流,学习的,但是在您的使用过程中一定要遵守当地的法律法规,否则出现任何问题和我们无关。</p><p>如果商店中任何一部分有侵犯您权益的行为,请告知我们 &lt;jifengshenmo@outlook.com&gt;,我们会第一时间删除侵权内容。</p><p>如果你也想参与我们,不管是参与开发,设计,投递还是投稿作品,我们都欢迎你的加入。</p><p>QQ 群:872690351<br/></p></body></html> @@ -454,32 +454,37 @@ - + <html><head/><body><p><br/></p></body></html> - + <html><head/><body><p><img src=":/tags/ubuntu-small.png"/></p></body></html> - + <html><head/><body><p><img src=":/tags/uos-small.png"/></p></body></html> - + Request Update - 软件催更/应用反馈 + 软件催更/应用反馈 - + + Total downloads + 总下载量 + + + Take effect when restart 重启商店后生效 - + 0B @@ -513,6 +518,11 @@ Not Exist 不存在 + + + Total downloads: %1 + 总下载量:%1 + @@ -556,7 +566,7 @@ - + Reinstall 重新安装 @@ -584,22 +594,22 @@ 目前仅支持商店专用链接的打开,搜索功能正在开发,请期待以后的版本! - + Upgrade 升级 - + Updating, please wait... 正在更新,请稍候…… - + Apt has reported an error. Please use apt update in terminal to locate the problem. 更新中发生错误,请在终端使用apt update来查看错误原因。 - + Unknown error! 未知错误! @@ -651,17 +661,17 @@ Click yes to continue. 服务器未知错误 - + Uninstall succeeded 卸载成功 - + Temporary cache was cleaned 缓存目录已清空 - + The URL has been copied to the clipboard 链接已复制到剪贴板 @@ -758,7 +768,7 @@ Click yes to continue. Downloaded. Open APP Upgrade and Install Settings to enable password-free installation - 下载完成 可进入应用更新和安装设置来启动免密码安装 + 下载完成 可进入应用更新和安装设置来启动免密码安装