Compare commits

...

537 Commits

Author SHA1 Message Date
90ad08a6f9 4.7.0 2025-04-13 19:55:27 +08:00
819e680222 aptss 4.7.0 2025-04-13 19:13:08 +08:00
6697bd04f1 unlock before rm
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-04-12 18:12:26 +00:00
2a6e9046e7 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-04-10 07:29:44 +00:00
460d965ac1 fix: Some apps can't launch
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-04-10 07:27:45 +00:00
2b929f8a06 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-28 17:32:41 +00:00
f2cafe0567 Sync:674f871cec
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-28 17:29:29 +00:00
564966daef update tool/apt-fast/ss-apt-fast.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-17 15:59:29 +00:00
668e5dc28d * Perf: merge patches from Rongronggg9
https://github.com/ilikenwf/apt-fast/pull/253

Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-17 14:17:14 +00:00
7ae592776d 给出教程
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-16 05:03:00 +00:00
6f3980e6cb update tool/ssaudit.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-15 15:40:33 +00:00
e2a0079c6e update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-15 15:38:20 +00:00
73f84a2861 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-15 04:35:19 +00:00
8218080f40 提示 安装 ACE 后重试 2025-03-14 21:57:03 +08:00
264b0ba8da fix: QString List
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-03-13 06:01:11 +00:00
b114db583b unsintaller support 2025-03-13 13:27:41 +08:00
832b53dfc9 update: check is installed 2025-03-13 13:14:43 +08:00
244f58ecce AUTO_USE_ACE 2025-03-13 12:59:26 +08:00
470666cf41 !329 应用反馈跳转至浏览器
Merge pull request !329 from C炳/dev
2025-03-08 11:58:12 +00:00
4abfc19399 fix: svg tags in AppInfoPage display error
Qt6 cannot render svg correctly, fallback to png

Log: delete duplicated icon resources; use png instead of svg for tags
2025-03-08 10:59:31 +08:00
e3e8684f18 !330 docs: 更新交流平台地址和过时组织名
Merge pull request !330 from C炳/docs
2025-03-07 11:35:31 +00:00
C炳
c60399df0b docs: 更新过时组织名 deepin-community-store 2025-03-07 16:07:41 +08:00
C炳
9036140ceb docs: 继续更新交流平台地址 2025-03-07 15:55:54 +08:00
C炳
da7e8ea9fc 应用反馈跳转至浏览器 2025-03-07 15:26:53 +08:00
a158966e2d docs:更新交流平台地址 2025-03-07 09:49:54 +08:00
105c7f3751 update debian/changelog. 2025-03-02 11:51:32 +00:00
MeowVing
aa3f2fbce4 !326 MeowVing 为星火应用商店制作全新 Tags 图标
* 删除文件 src/assets/tags/.keep
* 优化 Tags 图标显示
* 优化 Tags 图标显示
* 新建 tags
* 删除文件 src/assets/tags
* !1 update src/pages/appintopage.ui.
* update src/pages/appintopage.ui.
* 删除文件 src/assets/tags/.keep
* 修复 Tags 大小以解决缩放问题
* 新建 tags
* 删除文件 src/assets/tags
* 删除文件 src/assets/tags/.keep
* 为星火应用商店制作全新 Tags 图标
* 新建 tags
* 删除文件 src/assets/tags
2025-03-02 11:49:50 +00:00
1ab8da0e1a add: * no root
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-28 17:20:26 +00:00
072be29804 update tool/apt-fast/ss-apt-fast.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-25 16:46:31 +00:00
8e7aa445cf fix: fish completions failed to install 2025-02-25 17:24:35 +08:00
f5faebe91e update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-25 05:03:33 +00:00
5bcf2ce4f5 Remove Gitee
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-25 04:20:59 +00:00
992d1e7023 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-24 13:15:36 +00:00
86f8a3b501 translate 2025-02-24 21:12:54 +08:00
46a1daeafc 支持 Debian / GXDE 系统识别 2025-02-24 21:11:51 +08:00
0566d546df update: 新增更新进度条 2025-02-24 12:10:05 +00:00
b3eb13ada5 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-24 12:09:21 +00:00
19bfd4031c update: Translate 2025-02-24 19:51:48 +08:00
d2844b8b8a update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-24 11:48:50 +00:00
f02c279c8a Sync aptss 4.5.0
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-24 11:47:44 +00:00
zty199
6fa0e11927 fix: wrong app name displayed when checking app upgrade
grep Name[$locale] from .desktop directly might return
from other sections like [Desktop Action xxx] instead of
[Desktop entry] section only

Log: modify awk params in ss-do-upgrade.sh and format the script
2025-02-17 14:18:49 +08:00
f0830822c7 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-16 17:49:57 +00:00
7c9b503b0e !321 fix: ssinstall hash check failed in container
Merge pull request !321 from C炳/dev
2025-02-16 17:47:36 +00:00
C炳
5a248859ec fix: ssinstall hash check failed in container 2025-02-16 19:38:53 +08:00
f03e032a1b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-13 07:20:36 +00:00
9657c13106 !320 添加了对于fish的支持喵
Merge pull request !320 from 新毛宝贝/dev
2025-02-13 07:16:54 +00:00
a3355516cf add: "autopurge"
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-09 13:35:32 +00:00
新毛宝贝
eb88fc85c5 update pkg/usr/share/fish/completions/aptss.fish.
添加了获取软件包信息(虽然卡卡的,问了shenmo也没有开销比较小的获取软件包简介的方式喵

Signed-off-by: 新毛宝贝 <530060699@qq.com>
2025-02-09 12:26:36 +00:00
新毛宝贝
5dc0d52530 添加了fish的补全脚本 2025-02-09 19:21:16 +08:00
c8cbaa9c8b Upload: Spark Store Logo XCF
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-08 14:47:30 +00:00
11d7073905 下载时不再指定版本以避免转义
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-02-07 13:32:47 +00:00
5e55607dbf update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-26 05:16:09 +00:00
汐光
761f67f02c !316 将重新安装改为启动软件
* 将可启动应用的重新安装改为启动应用
* 将重新安装改为启动软件
2025-01-26 04:49:16 +00:00
97755980bc fix: Can't launch some apps with space in Exec
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-26 04:48:51 +00:00
beaa19e9e5 fix: Can't recognize UOS spec debs
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-26 04:44:54 +00:00
8cfd219d67 !317 fix: Can not trigger aptss download when firstly installed
Merge pull request !317 from shenmo/N/A
2025-01-26 04:36:25 +00:00
b153edf8dc fix: Can not trigger aptss download when firstly installed
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-26 02:48:46 +00:00
90ed903197 修复: 无限等待
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-15 06:33:13 +00:00
4c59762086 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-09 07:25:35 +00:00
a49c35dbcb update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2025-01-08 08:23:03 +00:00
b6f57c727b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-16 15:45:41 +00:00
d0dec1b3b0 update debian/spark-store.prerm.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-11 04:52:01 +00:00
b125993336 update tool/update-upgrade/ss-update-notifier.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-12-02 14:38:44 +00:00
5a37f24145 try fix always retry 2024-12-01 23:22:14 +08:00
a7b32db9b5 update tool/bashimport/log.amber.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-30 11:02:58 +00:00
b7d9ea9358 add: binary to git 2024-11-29 00:00:34 +08:00
e2118a471f feat: aptss logger
feat: Now we only popup window for once
2024-11-28 23:47:03 +08:00
8d06c37e96 feat: aptss log enhance && upgrade-experience-enhance 2024-11-28 21:43:29 +08:00
0d3431b616 chore: adjust user experience of upgrading 2024-11-28 20:55:42 +08:00
b2fc02d145 fix: crash when upgrade
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-28 10:32:01 +00:00
102c0831af update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-19 13:43:31 +00:00
8dc1854f2e update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:54:33 +00:00
b778e351b3 update tool/update-upgrade/ss-do-upgrade.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 11:47:32 +00:00
85a7790932 !313 try fix: Can not show window on pkexec
Merge pull request !313 from shenmo/N/A
2024-11-14 10:04:54 +00:00
09bc7f2867 try fix: Can not show window on pkexec
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-14 10:02:45 +00:00
81aa00ff01 update dtk-build-release-tag-20220425.yml 2024-11-12 11:40:17 +00:00
4b72d091e5 update .workflow/dtk-build-release-tag-20220425.yml.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:33:36 +00:00
a159a11807 spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
  * 修复安装速度下降的问题
  * 修复闪退问题
  * 修复错误地展示已安装

 -- shenmo <shenmo@spark-app.store>  Tue, 24 Sep 2024 11:27:08 +0800

Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-12 11:25:41 +00:00
d86efc642a update dtk-build-release-tag-20220425.yml 2024-11-12 10:38:54 +00:00
4c05c18198 update dtk-build-release-tag-20220425.yml 2024-11-12 10:32:37 +00:00
09c1d50bd2 update dtk-build-release-tag-20220425.yml 2024-11-12 10:25:47 +00:00
ef36a92c7c update dtk-build-release-tag-20220425.yml 2024-11-12 10:16:22 +00:00
8a93d4dd06 update dtk-build-release-tag-20220425.yml 2024-11-12 10:04:42 +00:00
zty199
29ddef300f fix: crash when installation complete if MainWindow is closed
Installation finished signal is triggered in child thread, which may cause crash when handling in AppInfoPage slot

Log: use Qt::ConnectionType::QueuedConnection when connecting with installation finished signal
2024-11-12 17:43:54 +08:00
5bd6ad9399 fix: 包名部分匹配仍然展示为已安装
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-11-10 03:43:10 +00:00
32c74bc5a0 fix: can not install depends 2024-11-05 18:26:21 +08:00
ce34fc763f fix: 安装速度降低 2024-11-05 15:24:53 +08:00
85823fdc23 update tool/apt-fast/ss-apt-fast.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-29 12:08:59 +00:00
5f12494b95 update debian/source/format.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-29 09:15:26 +00:00
8be23ff5f4 bumpversion 2024-10-29 17:10:04 +08:00
b060000028 fix: Update require password 2024-10-29 17:09:05 +08:00
ed3db29806 add: GXDE Builder 2024-10-28 22:04:40 +08:00
81ab122d6b fix: now we don't need root to policy/search 2024-10-28 21:59:25 +08:00
bab1b1cb0a fix: In ACE you can't use updater 2024-10-25 13:10:25 +08:00
15e826898b Merge branch 'Reason' of gitee.com:spark-store-project/spark-store into dev
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:46:44 +00:00
7c1e44010c export DEBIAN_FRONTEND=noninteractive
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:43:59 +00:00
4bb389e378 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 11:43:15 +00:00
22ea57c263 update tool/update-upgrade/ss-do-upgrade-worker.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-22 09:58:18 +00:00
zty199
019f20dcba fix: wrong back button position
mistakenly use setSpacing in layout

Log: delete setSpacing operation; adjust layout margin
2024-10-21 22:35:33 +08:00
zty199
f4fa07d589 fix: incorrect download water drop animation start position
use rect().center() instead of event->rect().center() in WaterDrop::paintEvent;
all coordinate calculation should use float instead of int

Log: fix incorrect download water drop animation start position
2024-10-21 21:41:18 +08:00
44d04c5bcb !298 fix: abandon dpkg
Merge pull request !298 from shenmo/auto-4915358-Reason-22474d88-1
2024-10-20 18:45:27 +00:00
e7d15f903d fix: abandon dpkg 2024-10-21 02:45:13 +08:00
fb01686527 fix: Now only use apt but not dpkg
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-20 18:41:27 +00:00
7ad606bbd4 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-10-20 18:29:42 +00:00
723475ca9c !296 432
Merge pull request !296 from shenmo/dev
2024-10-20 18:29:38 +00:00
6fee032bd1 fix:quotes 2024-10-21 02:06:34 +08:00
f3a690d9ae try fix install won't fix dependencies 2024-10-21 01:57:34 +08:00
120793dbcc bump version to 4.3.2 2024-10-21 01:47:53 +08:00
39a2f74f2e update aptss 4.3.2 2024-10-21 01:47:00 +08:00
zty199
b49ea2c71f fix: compatible with deepin V23 compact mode
modify titlebar layout, widget size and animation;
modify whole window layout, allow titlebar to resize automatically

Log: compatible with deepin V23 compact mode
2024-10-21 00:12:10 +08:00
3647d80037 !294 431
Merge pull request !294 from shenmo/dev
2024-10-14 06:24:32 +00:00
b292c6cbf2 feat: 提升aptss稳定性 2024-10-13 22:37:52 +08:00
267eae076e Revert "Merge branch 'Thunder' of gitee.com:spark-store-project/spark-store into dev"
This reverts commit 5b018a4696.
2024-10-07 15:17:47 +00:00
adbb2f2b11 update tool/update-upgrade/ss-update-notifier.sh.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-25 07:31:07 +00:00
568bfe3417 add pkg/lib/systemd/system/spark-update-notifier.timer.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-25 07:01:55 +00:00
e67c4b435b fix: English notify
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-25 06:44:55 +00:00
5b018a4696 Merge branch 'Thunder' of gitee.com:spark-store-project/spark-store into dev
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-24 03:40:30 +00:00
8113eaf1e7 add-policy-file-install
忘了*
2024-09-24 11:35:39 +08:00
9e7e957f4f 修复自提权更新问题 2024-09-24 11:27:53 +08:00
94f555bfa6 !291 43f5
Merge pull request !291 from shenmo/dev
2024-09-23 05:04:29 +00:00
0380bc4a05 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:59:01 +00:00
0ac6c90629 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:58:48 +00:00
84d8ac7c9f update src/pages/appintopage.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:57:31 +00:00
7b228cf100 update src/pages/appintopage.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:56:39 +00:00
b8c1914406 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:51:49 +00:00
abb8f4ee54 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:51:31 +00:00
61455a67be update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-23 04:50:47 +00:00
5a8e57a56f 重命名 LICENSE-GPL3 为 LICENSE 2024-09-11 12:24:25 +00:00
da32087a72 重命名 LICENSE 为 EULA 2024-09-11 12:24:16 +00:00
1087ad6dd3 changelog 2024-09-08 11:31:13 +08:00
c2a9bb8207 fix:exit unlock not trapped 2024-09-08 11:30:35 +08:00
a3c4066d61 !289 新增GXDE支持
Merge pull request !289 from gfdgd xi/dev
2024-09-07 13:45:48 +00:00
87b206ffc0 新增GXDE支持 2024-09-07 21:43:53 +08:00
0b0bbefd88 update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-09-02 13:00:59 +00:00
5e051794dd !288 fix: add qtwayland5 for wayland dependency
Merge pull request !288 from AAA Elysia 猫猫侠 ⁧~喵/N/A
2024-09-02 13:00:29 +00:00
AAA Elysia 猫猫侠 ⁧~喵
e2c55a0861 fix: add qtwayland5 for wayland dependency
Signed-off-by: AAA Elysia 猫猫侠 ⁧~喵 <c.elysia@foxmail.com>
2024-09-02 12:59:33 +00:00
63b39a9fe3 update tool/store-helper/ss-launcher.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-29 00:52:40 +00:00
798fd4ba27 update tool/store-helper/ss-launcher.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-29 00:52:23 +00:00
e01510e92c fix: On some system always pop info
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-28 08:37:06 +00:00
358df6d852 fix: On some system always pop info
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-28 08:36:51 +00:00
28f3931436 修改: tool/store-helper/ss-launcher 2024-08-26 01:57:44 +08:00
64cd2a074f update 2024-08-26 01:57:04 +08:00
76e969714d 修改: tool/open-in-terminal/open-in-terminal
修改:     tool/ssinstall
	新文件:   tool/store-helper/ss-launcher
2024-08-26 00:06:56 +08:00
58cd3d6b96 新文件: tool/store-helper/ss-launcher 2024-08-26 00:05:47 +08:00
031ef20d8c update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-24 17:08:58 +00:00
466ad7f782 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-24 17:08:43 +00:00
75f69703ef update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-24 16:57:34 +00:00
4f8e91b971 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-24 16:56:50 +00:00
d8e7883137 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-24 16:54:41 +00:00
43528f4533 we strip again
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-23 18:24:53 +00:00
a6da148d3a fix: no args pass 2024-08-24 01:51:25 +08:00
f956aaaf2d fix: no args pass 2024-08-24 01:51:00 +08:00
1176978dbe remove-dh-strip 2024-08-24 01:28:45 +08:00
14e87c9141 remove trigger 2024-08-24 01:24:31 +08:00
768222f6b7 update 2024-08-24 01:23:48 +08:00
5f3ca00671 修改: debian/changelog
修改:     debian/spark-store.triggers
2024-08-24 01:23:15 +08:00
d0f32387b5 修改: tool/apt-fast/ss-apt-fast 2024-08-24 00:56:45 +08:00
dee1850337 修改: tool/apt-fast/ss-apt-fast 2024-08-24 00:56:21 +08:00
5d63f7a3b7 feat: rewrite feedback, add encrypt and uuid auth 2024-08-23 00:17:40 +08:00
65f9c8be9b adjust:rewrite feedback, add encrypt and uuid auth 2024-08-23 00:16:35 +08:00
3843d6c5b6 aptss 支持dist-upgrade
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-21 08:04:01 +00:00
1238d0d5b7 aptss 支持dist-upgrade
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-21 08:03:48 +00:00
8bc93fda5d 修改: debian/changelog 2024-08-20 08:57:47 +08:00
33d0d71feb Merge remote-tracking branch 'refs/remotes/origin/Thunder' into Thunder 2024-08-20 08:56:22 +08:00
962d20e7bf adjust: change upstream url 2024-08-20 08:55:34 +08:00
f6885e9792 update 2024-08-20 08:54:19 +08:00
c8759e8284 !285 430
Merge pull request !285 from shenmo/dev
2024-08-19 08:33:42 +00:00
85ce641fef !284 全平台软件渲染Webkit
Merge pull request !284 from Pluto/qt6
2024-08-19 08:30:19 +00:00
d56300fc51 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-19 08:29:59 +00:00
d85f93b923 !283 全平台软件渲染Webkit
Merge pull request !283 from Pluto/dev
2024-08-19 08:29:16 +00:00
863bb61c6f update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-19 06:18:41 +00:00
Zhiyuan Li
2688b8b418 FIX: 渲染不上屏 2024-08-19 14:12:34 +10:00
Zhiyuan Li
b2883e4fec FIX: 渲染不上屏 2024-08-19 14:10:43 +10:00
8f3fb38485 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-17 14:56:50 +00:00
07fa8d3a83 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-17 14:33:21 +00:00
28bd302506 remove aptss cmake config
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-17 07:20:35 +00:00
8aa1a40b41 !282 回退 'Pull Request !278 : enhance: Internal requests follow 301 redirects'
Merge pull request !282 from shenmo/revert-merge-278-Thunder
2024-08-17 07:03:45 +00:00
6f4fe1a823 回退 'Pull Request !278 : enhance: Internal requests follow 301 redirects' 2024-08-17 07:03:21 +00:00
506ead11f9 !280 4.3
Merge pull request !280 from shenmo/dev
2024-08-17 06:16:49 +00:00
21a5636a07 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-17 06:14:48 +00:00
4fd1458471 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-08-17 06:14:20 +00:00
5592f90cf8 !278 enhance: Internal requests follow 301 redirects
Merge pull request !278 from Pluto/qt6
2024-08-17 04:39:40 +00:00
92c351494c !277 enhance: Internal requests follow 301 redirects
Merge pull request !277 from Pluto/dev
2024-08-17 04:38:44 +00:00
Zhiyuan Li
8125cc627e enhance: Internal requests follow 301 redirects 2024-08-17 14:21:53 +10:00
Zhiyuan Li
a26d1d8ffd enhance: Internal requests follow 301 redirects 2024-08-17 14:20:58 +10:00
zty199
5c11af9ce6 Merge branch 'dev' into Thunder 2024-08-15 21:37:29 +08:00
zty199
b7bc8008f3 fix: #IAEC2O developmode status judgment error in part of UOS 1060 iso
after entering developmode, /var/lib/deepin/developer-mode/enabled is not created or its content is not '1'

Log: remove developmode judgment temporarily
2024-08-15 21:32:28 +08:00
zty199
874ffd5822 feat: #IAJDMD restore window size when last closed on startup
record window size in ~MainWindow() to config.ini; in MainWindow::initUI restore window size

Log: restore window size when last closed on startup
2024-08-15 21:32:16 +08:00
AAA Elysia 猫猫侠 ⁧~喵
8d8783502c !276 修复:Debian 13上的依赖问题
Merge pull request !276 from AAA Elysia 猫猫侠 ⁧~喵/dev
2024-08-15 21:31:23 +08:00
zty199
bc410f33d7 fix: #IAEC2O developmode status judgment error in part of UOS 1060 iso
after entering developmode, /var/lib/deepin/developer-mode/enabled is not created or its content is not '1'

Log: remove developmode judgment temporarily
2024-08-13 23:39:05 +08:00
zty199
92fa8e552d feat: #IAJDMD restore window size when last closed on startup
record window size in ~MainWindow() to config.ini; in MainWindow::initUI restore window size

Log: restore window size when last closed on startup
2024-08-13 15:33:58 +08:00
zty199
fa488c0a9d chore: delete unused dependencies in debian/control
delete unused dependencies in debian/control

Log: delete unused dependencies in debian/control
2024-08-13 14:16:37 +08:00
AAA Elysia 猫猫侠 ⁧~喵
d03b047492 !276 修复:Debian 13上的依赖问题
Merge pull request !276 from AAA Elysia 猫猫侠 ⁧~喵/dev
2024-07-16 09:36:15 +00:00
c5e2ea040d Adjust: Lock the deb file before the install begin to secure
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-07-16 06:34:20 +00:00
38d592d7e3 Adjust: Lock the deb file before the install begin to secure 2024-07-16 14:32:46 +08:00
a92c22f205 fix: broken link fix
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-07-05 11:10:26 +00:00
249b0c7a02 adjust:remove link 2024-06-26 15:28:39 +08:00
2ffd360df7 adjust:remove link 2024-06-26 15:27:58 +08:00
883476827b adjust:v23 does not this patch anymore
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-25 07:43:14 +00:00
ddcac0cf18 adjust:v23 does not this patch anymore
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-25 07:42:52 +00:00
1fe6980a80 删除文件 pkg/etc/aptss/sources.list.d/sparkstore.list 2024-06-24 09:51:23 +00:00
8777d9d3c4 删除文件 pkg/etc/apt/sources.list.d/sparkstore.list 2024-06-24 09:51:15 +00:00
0387b6f20f update-ssinstall 2024-06-24 12:23:22 +08:00
e701f5e18c adjust: Now we do not want weak source to enforce service. 2024-06-21 12:58:14 +08:00
5d29af4dc8 adjust: Now we do not want to enforce weak source to serve. 2024-06-21 12:57:24 +08:00
1d8cca19c0 !273 loong qt6
Merge pull request !273 from shenmo/develop/qt6
2024-06-21 02:45:22 +00:00
zty199
bf8eaf5680 fix: 修复安装失败判断条件错误问题
原始判断条件将 QString 和 bool 类型函数返回值进行比较,可能存在问题
Qt5 中比较结果始终为 false,不会认为安装失败

Log: 判断输出包含 "OMG-IT-GOES-WRONG" 关键词则认为安装失败
2024-06-21 09:07:16 +08:00
zty199
2d1ca2463e feat: adapt to Qt6
adapt to Qt6; fix a few bugs

Log: adapt to Qt6; bump version to 4.2.14
2024-06-21 01:55:09 +08:00
d6bc2a96a7 update readme
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-20 04:05:50 +00:00
ff0e893726 !271 loong
Merge pull request !271 from shenmo/dev
2024-06-20 04:04:13 +00:00
facbaa0f40 update changelog
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-20 04:02:48 +00:00
30cd9c0181 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-20 03:59:51 +00:00
b4386d35bd update-readme
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-20 03:58:05 +00:00
94c0ca9f6d adjust: increase timeout limit to adjust worse network environment
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-13 04:18:00 +00:00
fcba7d93c9 update bbs link
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-12 15:20:11 +00:00
486d9912b8 fix: Can not activate update when interrupted 2024-06-02 12:41:02 +08:00
ecc6da2533 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-06-01 04:54:03 +00:00
e04f770aa6 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-05-31 15:53:10 +00:00
1b97df0071 add depends dpkg-dev
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-05-20 08:35:17 +00:00
91977c8892 * 修改:文案修改--不兼容提示 2024-05-16 22:19:31 +08:00
c160dc6300 borderless svg
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-05-06 04:02:03 +00:00
a62f180da6 !267 loongpush
Merge pull request !267 from shenmo/dev
2024-04-29 09:34:57 +00:00
a05c01b382 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-29 09:34:07 +00:00
d103225d92 adjust: loong64 auto no sandbox 2024-04-29 17:27:21 +08:00
35b4cdabd0 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:25:18 +00:00
b38c040029 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:24:57 +00:00
dceb796ce9 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:24:27 +00:00
07cdeb1e40 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:24:03 +00:00
96f22384e2 update LICENSE.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:09:01 +00:00
1447e9eb16 update LICENSE.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 15:06:06 +00:00
1c6302d01c update src/application.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-28 14:29:44 +00:00
91d64dc9ed !264 adjust: remove easter egg
Merge pull request !264 from shenmo/N/A
2024-04-28 03:41:57 +00:00
bc11d6a514 adjust: remove easter egg 2024-04-28 03:40:55 +00:00
zty199
463b8a7c0d fix: missing semicolon after setting --max-tries
add missing semicolon after setting --max-tries in downloadworker.cpp

Log: add missing semicolon after setting --max-tries in downloadworker.cpp
2024-04-28 10:42:26 +08:00
61b56346b8 update src/backend/downloadworker.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 16:19:21 +00:00
a20454b92c !262 4212
Merge pull request !262 from shenmo/dev
2024-04-27 11:12:55 +00:00
6426a3c12a update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 10:37:11 +00:00
42fa1b5340 !258 修复 aria2c 下载永不超时
Merge pull request !258 from 麻本法/fix-aria2c-download-never-timeout
2024-04-27 10:34:59 +00:00
10320e99eb !2 update src/backend/downloadworker.cpp.
Merge pull request !2 from shenmo/N/A

"--connect-timeout=5" 实际应该是 25s 切线
2024-04-27 10:34:22 +00:00
b2120411e5 update src/backend/downloadworker.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 10:30:57 +00:00
9c219e5e89 !259 fix: hide error
Merge pull request !259 from shenmo/N/A
2024-04-27 05:57:08 +00:00
021283e240 fix: hide error
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-27 05:56:57 +00:00
74513723e9 aria2c: Fixed aria2c download never timed out 2024-04-26 13:53:59 +08:00
3664a80c55 De-Magic Operation: Delete arm64 magic
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:45:57 +00:00
0bd8bab7eb sync: retryfix: Phytium can not use gles makes white screen
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:35:03 +00:00
4c565cda6c update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:26:28 +00:00
7484ee8438 sync: fix: Phytium can not use gles makes white screen
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-25 17:23:22 +00:00
c22f13a271 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-18 07:29:40 +00:00
e0a62a88d9 adjust: modify dstore patch 2024-04-17 16:47:30 +08:00
804db2e623 fix: icon break on v23 2024-04-17 16:36:48 +08:00
zty199
89f7696704 build: 获取编译打包实际时间
https://www.debian.org/doc/manuals/debmake-doc/ch05.en.html#reproducible
修改 debian/rules,覆盖环境变量 SOURCE_DATE_EPOCH 为 $(date +%s),使关于窗口中版本号显示编译时间为实际编译时间,而不是 changelog 最新时间(将导致相同版本代码每次编译结果不同,不推荐)

Log: 修改 debian/rules:覆盖环境变量 SOURCE_DATE_EPOCH 为 $(date +%s);修改 qmake 参数为 CONFIG+=force_debug_info 以生成 dbgsym 包;编译生成临时文件夹名称添加架构后缀
2024-04-10 23:31:43 +08:00
zty199
18e13e4525 fix: 修复应用信息页面安装再卸载应用后,重新进入页面,应用仍然为已安装状态问题
下载管理中存在已卸载应用的下载记录,判断应用状态时认为应用安装完成

Log: 根据下载记录判断应用状态时,若下载管理显示安装完成,额外判断应用是否已安装
2024-04-10 21:58:48 +08:00
230b208fcb update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 08:22:49 +00:00
c9354e6d27 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 03:33:39 +00:00
bad522e40a 哦我的上帝啊这东西是什么时候加的我都不记得了这个坑啊
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-10 03:01:40 +00:00
ffac75eab7 update src/mainwindow-dtk.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 15:03:27 +00:00
e2497116bf update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:14:38 +00:00
99fae1bb3f update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:09:53 +00:00
59e4da7b40 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-09 04:04:11 +00:00
609a301ecc update 2024-04-09 11:39:22 +08:00
f0a8b141b4 fix: no usr bin 2024-04-09 11:33:27 +08:00
4d35438bf0 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-04-07 11:57:34 +00:00
4863850195 !255 更新readme文件。
Merge pull request !255 from 花雨落逝/dev
2024-04-01 10:35:24 +00:00
花雨落逝
d379f2ad63 update README.zh.md.
Signed-off-by: 花雨落逝 <12135927+hylshi@user.noreply.gitee.com>
2024-03-31 07:14:01 +00:00
0ac0f97688 修改: debian/changelog 2024-03-29 23:07:01 +08:00
zty199
6c606806a1 fix: 修复软件包安装状态判断异常问题
check-is-installed 脚本判断软件包是否安装,仅根据执行结果返回;原始逻辑根据返回错误输出进行判断,错误输出为空会造成误判

Log: 修改 QProcess 执行结果判断逻辑,根据 QProcess::exitCode 和 QProcess::exitStatus 判断
2024-03-29 22:13:35 +08:00
363c38cb8f update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-26 09:16:02 +00:00
c039fd52a7 fix:卸载后仍显示可重新安装 2024-03-25 11:29:13 +08:00
83540e1c55 update src/pages/appintopage.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-25 03:27:13 +00:00
b54c797ce5 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-24 05:30:25 +00:00
f60d125920 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-24 05:29:25 +00:00
fa00f9aaf7 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-22 03:55:22 +00:00
76808cc2f5 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-22 03:53:24 +00:00
eaa335cc04 修改: src/pages/applistpage.cpp
修改:     tool/ss-feedback/sender-d
2024-03-22 02:11:32 +08:00
6768058358 fix: loongarch bad applist 2024-03-22 00:34:42 +08:00
09c2d41118 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2024-03-21 17:34:33 +08:00
c9e7ef20ec 修改: src/backend/sparkapi.cpp 2024-03-21 17:34:22 +08:00
6e55244776 update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2024-03-21 08:40:09 +00:00
b7e2571789 准备修改aptss以支持loongarch 2024-03-21 15:56:55 +08:00
zty199
e9a52da098 fix: 修改 treeland 环境判断条件
修改读取的环境变量名称为 DDE_CURRENT_COMPOSITOR,避免后续修改造成的不兼容问题

Log: 修改 treeland 环境判断条件;去除 dwayland 平台插件调用
2024-02-03 20:25:51 +08:00
37057306bb !254 cmake-patch: 更新补丁用于处理 v4.2.10 时期的变动构建与全量更新
Merge pull request !254 from 麻本法/auto-2067698-dev-59460c87
2024-02-03 01:51:54 +00:00
fe3a2b2e3b * 修复:ACE下无法安装,支持ACE下软件更新 2024-01-11 23:28:55 +08:00
zty199
0c4f5dacca fix: 修复退出时崩溃问题
AppIntoPage 析构函数中使用 free 释放 rawHeaders 指针存在问题

Log: 使用 QByteArray 全局变量存储 User-Agent 字符串,无需使用指针,避免析构问题
2023-12-30 00:41:06 +08:00
zty199
62e23facfb fix: 修复使用 TreeLand 混合器时启动崩溃问题
适配麒麟 CPU Wayland 环境时,强制设置环境变量 QT_WAYLAND_SHELL_INTEGRATION 为 kwayland-shell,在 TreeLand 混合器下崩溃

Log: 添加环境变量判断,DDE_CURRENT_COMPOSITER=TreeLand 或 DESKTOP_SESSION=treeland 时不执行上述设置环境变量操作
2023-12-30 00:17:01 +08:00
a9264b8cb9 d. 允许
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-12 11:20:44 +00:00
78f81e0498 若安装失败,尝试一次aptss update 2023-12-12 12:21:20 +08:00
c055e9bbb4 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-11 15:28:02 +00:00
080cd44229 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-11 15:15:23 +00:00
52f42447b4 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-11 14:32:04 +00:00
5947d7124e provides 2023-12-11 17:07:57 +08:00
f8d4f2f51a update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-11 08:41:10 +00:00
3c923f33b3 changelog 2023-12-11 16:35:57 +08:00
6b27c5d7b1 Fix: Unable to install when installed in ACE 2023-12-11 16:34:28 +08:00
78810b1a22 fix: New issue link
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-11 08:28:58 +00:00
0bc0d13036 !251 修复ARM64的渲染问题
* fixup! update debian/changelog.
* fix: ARM64设备渲染
2023-12-09 14:22:11 +00:00
406e4d5400 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-06 14:57:30 +00:00
60daeae2f5 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-06 14:56:35 +00:00
08d9c12793 now chmod +x
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-06 14:55:47 +00:00
7d81ba5be7 now chmod +x
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-12-06 14:55:27 +00:00
6df9804f02 fixup! enhance: 微小的改进 2023-12-03 11:10:16 +08:00
a93dd6ec6f enhance: 更改介绍条款 2023-11-29 16:51:24 +08:00
6b83cc48a9 enhance: 微小的改进 2023-11-29 16:16:23 +08:00
9ebc6eb3d3 fix: bad link CN
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-28 09:44:51 +00:00
d47fdea23f fix: bad link
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-28 09:44:25 +00:00
8b4ae51459 enhance: 更新文档 2023-11-28 12:18:10 +08:00
6563221947 enahnce: 更新 LICENSE 2023-11-28 12:10:18 +08:00
7ac6cb4072 fix: 修复数据回传接口 2023-11-26 12:55:55 +08:00
6b154c3aad update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-25 03:10:00 +00:00
fa3270e401 修复:无法正确获取更新名 2023-11-15 21:25:07 +08:00
63e6b0e6f6 更新过程中提示更改 2023-11-15 17:53:55 +08:00
c2daaad86c 新增:更新界面支持显示软件名称 2023-11-15 17:47:26 +08:00
c5d3dadbbb !248 对应用信息下的截图预览优化 - 高分屏版
* feat: 应用信息截图预览优化高分屏显示(#I8FLJ1)
2023-11-13 13:16:48 +00:00
397d941f2f Feat: support ACE 2023-11-12 22:12:35 +08:00
0f7b79f49e update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-09 10:07:44 +00:00
1d7fb7b0d0 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-09 10:07:23 +00:00
73e4bb1685 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-11-07 08:54:54 +00:00
7f23300b9e !247 fix: 软件详情图片排序调整为服务器排序,而不是按加载顺序排序
Merge pull request !247 from Cloud/fix/image-order
2023-11-07 08:54:04 +00:00
Cloud
99bdb1f958 fix: 软件详情图片排序调整为服务器排序,而不是按加载顺序排序 2023-11-07 16:01:48 +08:00
3ffaaee174 !246 fix: build error on Deepin V23
Merge pull request !246 from Cloud/fix/v23-build
2023-11-07 06:14:03 +00:00
Cloud
9c977dfc5d fix: build error on Deepin V23
fix build error on Deepin V23
check search edit width
2023-11-06 14:52:45 +08:00
2efd9dc170 修复:A2D应用释放无效的Desktop到桌面上 2023-11-02 22:39:45 +08:00
321e6b3dfe update tool/ssaudit.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-31 15:08:58 +00:00
9f1f21c2b6 update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-31 15:08:36 +00:00
5136984343 我真蠢,真的 2023-10-31 22:31:30 +08:00
a8d82480e7 我真蠢 2023-10-31 22:30:40 +08:00
efac507fed 修复校验失败 2023-10-31 22:29:10 +08:00
22532e0436 修复安装失效 2023-10-31 22:25:46 +08:00
4de6b167da feat: ssaudit功能同步
feat: 修复翻译问题和缺fi
2023-10-31 22:17:52 +08:00
7bde95a65c feat: aptss支持等待解锁而不是直接退出
feat: 支持自动创建desktop文件
2023-10-31 22:07:21 +08:00
9a47b5515c update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-29 08:00:19 +00:00
0db7fad640 !241 chore: 优化 KDE 深色模式支持实现方式
* chore: 优化 KDE 深色模式支持实现方式
2023-10-28 12:15:45 +00:00
1a98dae4f8 Merge branch 'darkmodeenhanced' into dev 2023-10-26 12:21:22 +08:00
5cb1cff0ca feat: 使用dbus支持kde的暗色模式 2023-10-26 12:15:51 +08:00
8d4874d553 feat: 使用dbus支持kde的暗色模式 2023-10-24 23:40:09 +08:00
c00d62c010 feat: 匿名数据搜集 2023-10-24 15:36:26 +08:00
831bef8233 enhance: 同步文档更改到英文 2023-10-22 17:19:35 +08:00
20e1763929 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-22 07:11:52 +00:00
35218a917b update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-22 07:11:23 +00:00
e5a2fd2d94 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-22 07:10:54 +00:00
6946f20d64 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-22 07:09:59 +00:00
3f9200bf01 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-22 07:03:39 +00:00
b2fc80215d enhance: 文档改进 2023-10-22 10:56:33 +08:00
74d4cc05d9 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-10-10 08:40:55 +00:00
zty199
a7d86d9120 i18n: 更新部分文案及翻译文件
修改详情页“下载”按钮为“下载并安装”;修正部分文案中错误使用全角标点符号导致翻译文件中无法正常显示;修正部分文案翻译错误;尝试补充 QWebEngineView 右键菜单项翻译

Log: 修改详情页“下载”按钮为“下载并安装”;修正部分文案及翻译;补充 QWebEngineView 部分右键菜单项翻译
2023-10-10 16:30:00 +08:00
fb21620880 !240 enhace: 加强崩溃日志信息
Merge pull request !240 from Pluto/dev
2023-09-22 10:09:51 +00:00
985e7d829e enhance: 更新文档 2023-09-21 20:14:16 +08:00
5ceb8d78cb fixup! enhance: 更详细的日志 2023-09-21 19:59:47 +08:00
dfce427891 enhance: 更详细的日志 2023-09-21 19:55:28 +08:00
c72885ff55 update dtk-build-release-tag-20220425.yml 2023-09-17 00:47:45 +00:00
beba54925c update pipeline-dtk-build-aarch64.yml 2023-09-17 00:43:22 +00:00
aba67f19b4 update pipeline-dtk-build-aarch64.yml 2023-09-17 00:41:12 +00:00
9708db56d6 fix ci
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:37:26 +00:00
1ee5b412b8 try fix ci
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:36:54 +00:00
a14613018b update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:33:27 +00:00
086c490bb7 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:32:44 +00:00
3db4cd8a62 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:29:11 +00:00
104f8b798f !237 优化下载错误和规范程序代码
Merge pull request !237 from Pluto/dev
2023-09-17 00:25:47 +00:00
5ede18a8d3 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-17 00:24:53 +00:00
375a520a14 enhance: 完善日志内容 2023-09-16 21:11:53 +08:00
d41364c063 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 20:27:58 +08:00
a6cd981a51 enhance: 打印崩溃堆栈 2023-09-16 20:26:58 +08:00
9660eaafd3 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 12:17:05 +00:00
1cc9d3bdd6 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 12:16:08 +00:00
6790283ace changelog fix v23 2023-09-16 19:55:20 +08:00
735e99d891 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 19:49:19 +08:00
9b4dae382d fixup: 修复编译错误 2023-09-16 19:49:07 +08:00
c1ccf51258 fixup! Enhance: 规范性提升 2023-09-16 19:47:54 +08:00
61a28b1d73 changelog 2023-09-16 19:13:43 +08:00
2a5e1280f9 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 10:39:59 +00:00
72d1374503 Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-09-16 18:33:36 +08:00
c791ad4afb fixup! bugfix: 修复CPU占用高、修复下载失败等问题 2023-09-16 18:33:19 +08:00
1037330324 update src/backend/downloadworker.cpp.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-16 10:31:25 +00:00
7acd2edbcc fix: 修正错误消息 2023-09-16 18:28:30 +08:00
8392fbb64e bugfix: 修复CPU占用高、修复下载失败等问题 2023-09-16 18:22:15 +08:00
24dbed8864 Enhance: 规范性提升 2023-09-16 18:21:45 +08:00
4330abdf0b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-14 06:22:25 +00:00
72d8bf883b update tool/aptss.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-14 06:21:20 +00:00
d33c85b5e6 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-13 10:23:10 +00:00
f557a0d341 * 新增:内置在终端打开功能
* 调整:散列验证更改为使用sha256
2023-09-11 09:08:21 +08:00
56692bbdc3 add DOCS/json-api-doc.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-09 05:56:59 +00:00
def03de995 update DOCS/spk-doc.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-09-09 05:52:02 +00:00
ebef968a65 !234 合并翻译
Merge pull request !234 from depend/dev
2023-09-08 14:08:39 +00:00
d832df6efd update 西班牙语翻译 2023-09-04 11:32:59 +08:00
cc3561777e update 法语翻译 2023-09-04 11:26:07 +08:00
d085f3de73 fix: now wont inform aptss everytime 2023-09-01 22:56:44 +08:00
407ec6b573 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-08-31 11:30:17 +00:00
2803d4b8da update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-08-31 09:26:59 +00:00
48028076a8 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-08-31 09:14:16 +00:00
e435cf66dc 降低提示等级为 信息 2023-08-28 23:48:58 +08:00
766b7cd178 调整:因为apt-fast返回值都是1,只好暂时全部提示 2023-08-28 23:45:23 +08:00
5d4ac6f523 * 修复:aptss加锁失败现在会正常报错
* 新增:在aptss的特定操作时添加了提示

  * 新增:在aptss提示加粗
2023-08-28 23:42:25 +08:00
29869dbb9d fix: Do not report error when aptss stuck
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-08-27 01:48:13 +00:00
d07f2a5fa4 fix-变量 2023-08-14 12:11:06 +08:00
708d8866ac feat:new-download-backend 2023-08-14 11:52:33 +08:00
2115b1fb11 fix-path-error 2023-08-13 21:55:24 +08:00
0e810cea87 modify: 加入了配置系统,不再用瞳孔地震的方式处理升级 2023-08-13 21:44:53 +08:00
zty199
9f32a02f35 feat: #I6OTLZ 设置中可开关平台不兼容提示
设置界面增加选项,控制进入详情页时是否发送“应用不兼容系统”通知

Log: 设置界面添加“其他设置”部分,新增单选框控制是否开启应用不兼容系统提示;SettingsPage 添加静态属性 needUncompatibleNotification,启动时从配置文件中同步开关状态,单选框点击修改时写入配置文件;详情页加载标签时,判断 needUncompatibleNotification 为 false 则不发送通知;更新翻译文件
2023-08-12 01:35:37 +08:00
zty199
9f23c2b381 feat: #I7R2L5 更新星火商店时不再自动打开更新提示服务
prerm 脚本中添加判断,upgrade 时将更新提示 service 文件改名添加 bak,以此作为升级判断依据;postinst 脚本中判断 bak 文件存在时,优先判断更新提示服务是否为 enable 状态,若被 disable 则不再自启(若为 inactive 状态则同理不再重启服务)

Log: 修改 prerm 和 postinst 实现更新时判断更新提示服务是否需要重新设置自启;修改 debian/changelog,消除编译打包警告
2023-08-11 23:29:05 +08:00
1f98c8df7c bump-4266 2023-08-02 11:40:56 +08:00
da9f84d78a 调整:文案修改:安装失败后引导查看详情而不是重新安装 2023-08-02 11:35:59 +08:00
88cc3eb921 如果dpkg阻塞会出现漏掉的安装失败,在安装后检测 2023-08-02 11:30:12 +08:00
f04130f902 修复:UOS专业版上安装成功仍然显示失败的问题:方式:忽略E:等消息,仅检查脚本报错
调整:卸载应用时采用autopurge以一并卸载依赖
2023-08-02 11:16:06 +08:00
e7e810ea2b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-24 08:02:03 +00:00
1de46a8296 update tool/ssaudit.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-24 04:27:05 +00:00
5ece2b2034 调整:4264版本发布
修复:过于老旧的联系方式入口
2023-07-13 10:58:07 +08:00
460dcfebed 修复:依赖 desktop-file-utils 添加
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-08 07:28:56 +00:00
fb257212b6 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-05 04:10:10 +00:00
1436e35a49 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-05 04:09:55 +00:00
a16248f8a4 修复:部分下载量线路失效 2023-07-05 11:58:38 +08:00
7b49732405 fix mail 8
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-05 03:57:14 +00:00
1b6e02c5bf mail 10 fix
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-05 03:53:41 +00:00
4d228fd331 mail 2 fix
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-07-05 03:51:16 +00:00
f6ac9752d1 重命名 LICENCE 为 LICENSE 2023-06-30 10:52:44 +00:00
716344cf68 重命名 LICENCE-Additional 为 LICENCE 2023-06-30 10:50:42 +00:00
79e0ef2b7b 重命名 LICENSE 为 LICENSE-GPL3 2023-06-30 10:50:34 +00:00
779b62a12f update LICENCE-Additional.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-30 10:47:47 +00:00
6427a32c31 add LICENCE-Additional.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-30 10:46:37 +00:00
1f8d237d40 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-14 06:39:55 +00:00
04732f61c0 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-14 06:39:17 +00:00
63147b2ca3 update tool/update-upgrade/transhell/ss-do-upgrade.sh_en_US.transhell.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-14 06:37:27 +00:00
d1d1e54022 文案同步
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-14 06:34:51 +00:00
d175fc497e 文案同步
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-06-14 06:34:13 +00:00
e073764a80 !219 回退 'Pull Request !218 : 添加对LingmoOS的支持'
Merge pull request !219 from shenmo/revert-merge-218-dev
2023-06-08 12:01:00 +00:00
5cf8b587ee 回退 'Pull Request !218 : 添加对LingmoOS的支持' 2023-06-08 12:00:47 +00:00
b715f1c54b !218 添加对LingmoOS的支持
Merge pull request !218 from Floating dream/beta
2023-06-08 11:59:15 +00:00
Floating dream
7513667c6e 添加LingmoOS适配 2023-06-08 11:22:21 +08:00
Floating dream
0edf87c95c Add detection for LingmoOS 2023-06-08 01:30:17 +08:00
22a54cd0ed 幸亏一直没用到这个函数
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-05-24 05:09:00 +00:00
d4fbd1b386 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-05-07 02:15:15 +00:00
87a71fe3b3 update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-05-07 02:14:43 +00:00
c7e48ae01d 支持zunyun01
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-26 10:20:51 +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
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
9b1b432e7c update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 10:46:36 +00:00
cfafc04628 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:43:26 +00:00
8450e6afa6 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:35:36 +00:00
2a4d33e73f update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:23:53 +00:00
8c2a10ebbc update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:13:01 +00:00
2bec2de456 update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:09:48 +00:00
90dea4ed2e update tool/spark-dstore-patch.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-20 08:06:48 +00:00
06ca1b7a97 update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-14 09:21:30 +00:00
f9e2cea98e * 调整:重写了spark-dstore-patch,速度提升,尤其对机械硬盘下
* 调整:优化了aptss源文件同步策略
2023-04-14 16:34:26 +08:00
1bbf7027d3 用更优雅的方式同步source
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-14 07:51:44 +00:00
90ec030f8b update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-12 05:17:32 +00:00
347c8ed093 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-09 14:03:31 +00:00
d987c840c7 update debian/spark-store.postinst.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-09 14:03:19 +00:00
88a28c5658 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-09 02:31:28 +00:00
484a82b00b update tool/ssinstall.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-09 02:30:26 +00:00
1506b74b01 调整:删除libc6-dev依赖
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-04-09 02:06:05 +00:00
09b880fff8 update README.zh.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-31 09:04:39 +00:00
c6d3742daa update README.md.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-31 09:04:18 +00:00
917527cbe6 fix: 更改文案描述 2023-03-31 14:32:55 +08:00
faad17470a feat: 统一到同一个url配置 2023-03-27 15:20:26 +08:00
9f53c2eaa6 424 changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-23 06:20:49 +00:00
6d1d4e9f23 ts 2023-03-22 14:40:38 +08:00
753945228e fixup! feat: 进入应用前检测平台并提示 2023-03-14 14:33:35 +08:00
2f409c7082 * 修复:ssinstall校验失败的时候仍然提示安装成功
* 新增:ssinstall可以自动刷新ssupdate以防止仓库更新中导致的安装校验失败
2023-03-14 13:43:42 +08:00
728fc5866c failed 2023-03-13 09:36:54 +00:00
ace24914f4 update pipeline-dtk-build-aarch64.yml 2023-03-13 09:33:46 +00:00
8b9bf53e4e update pipeline-dtk-build-aarch64.yml 2023-03-13 09:29:42 +00:00
453d3963dd update pipeline-dtk-build-aarch64.yml 2023-03-13 09:24:04 +00:00
dff869cec8 update pipeline-dtk-build-aarch64.yml 2023-03-13 09:11:59 +00:00
17a6b22e55 update pipeline-dtk-build-aarch64.yml 2023-03-13 09:00:30 +00:00
cb66e8a0bd update pipeline-dtk-build-aarch64.yml 2023-03-13 08:56:17 +00:00
001ce7e4e8 update pipeline-dtk-build-aarch64.yml 2023-03-13 08:51:55 +00:00
351bbc0fc1 update pipeline-dtk-build-aarch64.yml 2023-03-13 08:50:33 +00:00
824ffbca2b update pipeline-dtk-build-aarch64.yml 2023-03-13 06:37:03 +00:00
d6082be71f update pipeline-dtk-build-aarch64.yml 2023-03-13 06:14:53 +00:00
6b807b24e2 create pipeline-dtk-build-aarch64.yml 2023-03-13 06:10:48 +00:00
3679e8d6eb Merge: merge reason to dev 2023-03-13 14:03:08 +08:00
335996b7d0 OMG-IT-GOES-WRONG 2023-03-13 11:32:10 +08:00
aa3b102fdd Merge branch 'dev' into Reason 2023-03-13 00:41:57 +08:00
5394e5cc57 fix: 跟进 dryrun 的错误信息 2023-03-13 00:41:33 +08:00
d2544795f5 Merge branch 'dev' into Reason 2023-03-13 00:39:22 +08:00
06c7664a37 --squash=2e807c36e76437798f48519cd5e7eb2cc2dbff86 2023-03-13 00:38:16 +08:00
2d09b549af Merge branch 'dev' into Reason 2023-03-13 00:35:43 +08:00
2e807c36e7 fix: 跟进 dryrun 的错误信息 2023-03-13 00:33:01 +08:00
0a1a6e73f0 Merge branch 'dev' into Reason 2023-03-13 00:17:59 +08:00
fea69319de --fixup=e8f13693be24559110b709a1778f58a71fabc37e 2023-03-13 00:14:46 +08:00
6519053648 update: update translate 2023-03-12 22:34:15 +08:00
ef41110632 fixup! I6JSL5 2023-03-12 22:26:22 +08:00
30cdeb89b1 https://gitee.com/deepin-community-store/spark-store/issues/I6JSL5 2023-03-12 22:25:38 +08:00
512df973f9 fixup! https://gitee.com/deepin-community-store/spark-store/issues/I6JSL5 2023-03-12 22:24:10 +08:00
d3b71fbacc Merge branch 'dev' into Reason 2023-03-12 22:05:44 +08:00
e8f13693be feat: 进入应用前检测平台并提示 2023-03-12 22:00:49 +08:00
6bd05655d6 feat: 检查 /tmp/spark-store 目录权限 2023-03-12 21:20:47 +08:00
ebe78f0937 update debian/changelog.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-12 02:02:04 +00:00
abae11a30e update debian/control.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-11 03:55:38 +00:00
f8ea89a069 Merge branch 'dev' into Reason 2023-03-11 00:41:31 +08:00
496d20d536 fix: Readme 文件描述中缺少依赖 2023-03-11 00:41:04 +08:00
369a7801ab fix: 使用cpu核心数目构建,防止小内存机器OOM 2023-03-11 00:38:55 +08:00
0478df3b49 安装失败时输出 2023-03-10 20:17:33 +08:00
d8909b1424 ssinstall解析绝对路径 2023-03-09 23:21:43 +08:00
ab707c8c2b 参数传错了 2023-03-09 22:58:05 +08:00
13d6965558 Merge remote-tracking branch 'refs/remotes/origin/Reason' into Reason 2023-03-09 17:54:41 +08:00
22cb1f6058 检验是否安装转到worker 2023-03-09 17:54:31 +08:00
8e560805b2 Merge branch 'dev' into Reason 2023-03-09 14:46:04 +08:00
8475623135 feat: 改进HIDPI支持 2023-03-09 14:45:24 +08:00
e865431411 9 2023-03-09 10:51:51 +08:00
ab8faa487e Merge remote-tracking branch 'refs/remotes/origin/Reason' into Reason 2023-03-09 10:32:06 +08:00
f0e3b6b687 放弃sender-d 2023-03-09 10:31:54 +08:00
5de20aa19d Merge branch 'dev' into Reason 2023-03-09 00:38:16 +08:00
b5ae73fbeb fix: 先使图像居中再显示图像界面 2023-03-09 00:37:07 +08:00
28326b37c7 !208 fix: 多显示器大图显示居中 2023-03-08 16:18:59 +00:00
12a114450c Merge branch 'dev' into Reason 2023-03-09 00:17:39 +08:00
768ed38ace fix: add vscode files to .gitignore 2023-03-09 00:17:23 +08:00
19f7e3fa0e Merge branch 'dev' into Reason 2023-03-09 00:15:56 +08:00
6d65b445dd fix: 多显示器大图显示居中 2023-03-09 00:15:28 +08:00
2867cf0500 绕过dh_strip 2023-03-08 18:55:02 +08:00
07eaebf483 sender-d用cpp 2023-03-08 18:43:31 +08:00
2d116ae6c1 sender-d用cpp 2023-03-08 18:42:39 +08:00
ceb43da10b regenerate sender-d_aarch64.sh.c,not sure it work everywhere 2023-03-08 14:00:19 +08:00
710cd9fa5c logo更新 2023-03-08 09:21:30 +08:00
c6688e47fb ssaudit也加上aptssupdate 2023-03-08 08:14:36 +08:00
e04b2545a9 修复一些去除bwrap带来的问题,真是的,跑的好好的就不要动啊kora 2023-03-08 01:04:43 +08:00
9b4c3aa2ce 不再使用cp-r同步系统lists,防止把未更新的也带过来 2023-03-08 00:44:21 +08:00
e6561e0a07 reason6 2023-03-08 00:35:57 +08:00
9616deb4b6 * ssinstall发现无法验证时尝试update而不是ssupdate
* 启动每日aptss update
2023-03-08 00:26:14 +08:00
96d2ea6669 红豆泥私密马赛,现在好了 2023-03-07 19:09:56 +08:00
d57c43a2b7 私密马赛,忘记空格了 2023-03-07 19:04:56 +08:00
40eadaca35 https://gitee.com/deepin-community-store/spark-store/issues/I6JSL5 2023-03-07 19:00:51 +08:00
21bcb67a73 update src/assets/json/features.json.
Signed-off-by: shenmo <jifengshenmo@outlook.com>
2023-03-07 09:21:53 +00:00
890718fdbb changelog 2023-03-07 17:14:53 +08:00
1613825b7c 自动读取分支名 2023-03-07 17:12:22 +08:00
bcb399dc30 aptss支持非root模式启动,添加transhell支持 2023-03-07 16:53:30 +08:00
cd581d4de9 若sources.list.d为空则终止清理 2023-03-06 23:19:58 +08:00
41ef63ec4a 修复:apt-fast仍然会在旧的archieve复制,指定到旧的archieve 2023-03-06 22:47:37 +08:00
02419bfdcb 修复:无法访问系统源 2023-03-06 22:29:51 +08:00
b67fd11fd5 修复:aptss无法找到新标准的list 2023-03-06 21:51:14 +08:00
9a7a80223a feat: 彻底抛弃bwrap,提升aptss响应速度。现已可将aptss当apt用 2023-03-06 21:45:12 +08:00
4bdcb2cf3c Merge branch 'dev' of gitee.com:uniartisan2018/spark-store into dev 2023-03-05 22:52:16 +08:00
d9ee17c9b1 Merge branch 'Reason' into dev 2023-03-04 18:21:01 +08:00
159 changed files with 10289 additions and 5380 deletions

View File

@@ -7,7 +7,7 @@ import json
sha = os.getenv("GIT_COMMIT")
# sha = '48fed26c51a8c42554e45f72f43e49703e04c97f'
#get sha from environment
url = "https://gitee.com/api/v5/repos/deepin-community-store/spark-store/commits/{}/comments".format(sha)
url = "https://gitee.com/api/v5/repos/spark-store-project/spark-store/commits/{}/comments".format(sha)
token = os.getenv("gitee_token")

13
.github/workflows/program-builder.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Building Program
run-name: Building ${{ GITHUB.REPOSITORY }}
on:
workflow_dispatch:
push:
tags:
- "*"
jobs:
call:
uses: GXDE-OS/GXDE/.github/workflows/building-deb.yml@master
secrets: inherit

2
.gitignore vendored
View File

@@ -52,3 +52,5 @@ debian/files
debian/*.substvars
debian/spark-store
.vscode/*
src/spark-store

View File

@@ -2,7 +2,7 @@ version: '1.0'
name: dtk-build-release-tag-20220425
displayName: dtk-build-release-tag
triggers:
trigger: auto
trigger: manual
push:
tags:
prefix:
@@ -18,22 +18,28 @@ stages:
name: execute_by_docker
displayName: 基于镜像的DTK构建
certificate: ''
image: docker.io/debian:buster
image: docker.jianmuhub.com/library/debian:buster
command:
- sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- '# 换源'
- apt update
- export DEBIAN_FRONTEND=noninteractive
- echo "安装git devscripts equivs curl..."
- 'apt install git devscripts equivs curl -y '
- echo "安装依赖..."
- 'apt install libgsettings-qt-dev -y '
- 'apt install debhelper git curl fakeroot qtbase5-dev zlib1g-dev qt5-default -y '
- git clone https://gitlink.org.cn/shenmo7192/dtk-old-bundle.git
- cd dtk-old-bundle
- apt install ./*.deb -y
- cd ..
- rm -rf dtk-old-bundle
- ''
- 'mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- dpkg-buildpackage -j2 -b -us -uc
- '#mk-build-deps --install --tool "apt-get -o Debug::pkgProblemResolver=yes -y" '
- apt build-dep . -y
- strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
- uname -a
- sed -i 's/dh \$@ --parallel/dh \$@/' debian/rules
- '# Gitee的配置太低了'
- dpkg-buildpackage -b -us -uc
- cd ..
- ls -all
- pwd

View File

@@ -0,0 +1,48 @@
version: '1.0'
name: pipeline-dtk-build-aarch64
displayName: dtk-build-aarch64
triggers:
trigger: manual
push:
tags:
prefix:
- ''
stages:
- name: stage-2c12cce1
displayName: 编译
strategy: naturally
trigger: auto
executor: []
steps:
- step: execute@docker
name: execute_by_docker
displayName: 基于镜像的脚本执行
certificate: ''
image: docker.io/debian:buster
command:
- '# 请在此输入您想执行的脚本'
- sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
- apt update
- export DEBIAN_FRONTEND=noninteractive
- echo "安装wget qemu-user-static"
- apt install git wget qemu-user-static xz-utils binfmt-support -y
- mkdir ../spark-store-git
- mv * ../spark-store-git
- git clone https://gitlink.org.cn/shenmo7192/debian-container-aarch64.git
- mv debian-container-aarch64/DEBIANARM.tar.xz .
- rm -rf debian-container-aarch64
- tar -xf DEBIANARM.tar.xz
- mkdir -p DEBIAN/root/build-spark
- mv ../spark-store-git DEBIAN/root/build-spark/spark-store
- wget https://gitee.com/spark-store-project/repo_auto_update_script/raw/master/spark-build-aarch64.sh && mv spark-build-aarch64.sh DEBIAN/root
- mv /usr/bin/qemu-aarch64-static DEBIAN/
- chroot DEBIAN /qemu-aarch64-static /bin/bash /root/spark-build-aarch64.sh
- ''
- ''
artifacts:
- name: BUILD_ARTIFACT
path:
- ./DEBIAN/root/build-spark/target
notify: []
strategy:
retry: '0'

View File

@@ -1,328 +0,0 @@
#### 说明
当前服务器线路列表(项目中包含):
```
https://d.store.deepinos.org.cn/
https://store.deepinos.org.cn/
```
# 星火应用商店文档
# 目录结构
几个目录结构
```
/
/icons 图标文件夹
/tags 首页图标
/tras 多语言翻译
```
主要的文件分析
```js
spark-store.pro Qt工程配置文件
ssinstall 调用包安装器的脚本
icons.qrc 图标资源文件
main.cpp 入口文件
widget.h widget.cpp widget.ui 主要窗口控件
downloadlist.h downloadlist.cpp downloadlist.ui 单个软件的下载安装展示控件
progressload.h progressload.cpp 网页加载显示 得在deepin上编译运行才能搞清楚
workerthreads.h workerthreads.cpp 应用信息加载线程
image_show.h image_show.cpp 应用页面截图预览控件
big_image.h big_image.cpp 大图查看控件
```
# 使用的开源库及第三方工具
* GDebi 一个 Ubuntu 软件中心的轻量级替代品 https://linux.cn/article-4982-1.html
* libnotify 系统通知 https://developer.gnome.org/libnotify/unstable/
# 源码分析
## 应用的组成部分
左侧应用分类菜单
主窗口的下拉菜单
应用列表页面
应用详情页面
应用首页,有几个链接跳转
商店设置页面
下载列表页面
## 应用初始化,及主控件加载
初始化 `DApplication` 进入事件循环。
设置关于我们弹窗 `DAboutDialog`
主控件 Widget 根据不同屏幕大小自适应。
首页打开webview页面如果传入了`spk://`参数,会打开应用详情页。
```cpp
// main.cpp
QString arg1=argv[1];
if(arg1.left(6)=="spk://"){
w.openUrl(QUrl(argv[1]));
}
// widget.cpp
void Widget::openUrl(QUrl u)
{
QString app=serverUrl + "store"+u.path()+"/app.json";
ui->webEngineView->setUrl(app); // 会触发 webEngineView 的
}
```
## Tags处理方式
**Tags处理方式**
```cpp
// widget.cpp
QString tags=json["Tags"].toString(); //Read the Tags
QStringList tagList=tags.split(";");
for (int i=0;i<tagList.size();i++) {
if(tagList[i]=="community")
ui->tag_community->show();//Tags icon shows like this
if(tagList[i]=="ubuntu")
ui->tag_ubuntu->show();
if(tagList[i]=="deepin")
ui->tag_deepin->show();
if(tagList[i]=="uos")
ui->tag_uos->show();
if(tagList[i]=="dtk5")
ui->tag_dtk5->show();
if(tagList[i]=="dwine2")
ui->tag_dwine2->show();
if(tagList[i]=="dwine5")
ui->tag_dwine5->show();
if(tagList[i]=="a2d")
ui->tag_a2d->show();
}
```
**Widget 初始化**
```cpp
void Widget::initConfig()
{
...
// 读取服务器URL并初始化菜单项的链接
QSettings readConfig(QDir::homePath()+"/.config/spark-store/config.ini",QSettings::IniFormat);
if(readConfig.value("server/choose").toString()!=""){
ui->comboBox_server->setCurrentText(readConfig.value("server/choose").toString());
appinfoLoadThread.setServer(serverUrl=readConfig.value("server/choose").toString());
}else {
appinfoLoadThread.setServer(serverUrl="http://sucdn.jerrywang.top/"); // 默认URL
}
configCanSave=true; // 防止触发保存配置信号
menuUrl[0]=serverUrl + "store/#/"; // 首页
// 下面是各个应用分类页面直接加载的webview的
// 每个连接对应一个左侧的菜单项,在构造函数用连接到 chooseLeftMenu 槽函数
menuUrl[1]=serverUrl + "store/#/network";
...
menuUrl[12]=serverUrl + "store/#/others";
...
ui->webfoot->hide();
//初始化首页
ui->webEngineView->setUrl(menuUrl[0]);
}
/**
* 菜单切换逻辑
*
*/
void Widget::chooseLeftMenu(int index)
{
nowMenu=index;
updateUI();
left_list[index]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px");
// index <=12 加载某个分类的应用列表的webviejw
// index == 13 加载下载列表页面
if(index<=12){
if(themeIsDark){
darkurl = URL
ui->webEngineView->setUrl(darkurl);
}else {
ui->webEngineView->setUrl(menuUrl[index]);
}
ui->stackedWidget->setCurrentIndex(0);
}else if (index==13) {
ui->stackedWidget->setCurrentIndex(1);
}
}
```
## 应用下载安装卸载分析
**应用详情页面加载**
```cpp
/**
* 加载单个应用的信息
*/
void Widget::on_webEngineView_urlChanged(const QUrl &arg1)
{
//分析出服务器中的分类名称
...
//如果是app.json就打开详情页
if(arg1.path().right(8)=="app.json"){
...
// 读取相应的应用信息
appinfoLoadThread.requestInterruption();
appinfoLoadThread.wait(100);
appinfoLoadThread.setUrl(arg1);
appinfoLoadThread.start();
}
}
// 设置详情页的APP信息
SpkAppInfoLoaderThread::requestSetAppInformation() -> Widget::sltAppinfoDetails()
// 设置详情页的APP图标
SpkAppInfoLoaderThread::finishedIconLoad() -> Widget::sltAppinfoIcon()
// 设置详情页的APP截图
SpkAppInfoLoaderThread::finishedScreenshotLoad() -> Widget::sltAppinfoScreenshot()
// 下载APP详情信息线程
void SpkAppInfoLoaderThread::run()
{
QProcess get_json;
get_json.start("curl -o app.json " + targetUrl.toString());
QFile app_json("app.json");
app.json
}
```
**应用下载**
Widget::on_pushButton_download_clicked() 是点击下载的安装方法。
最终使用的是 `QNetwrokAccessManager` 进行GET请求获取数据写入文件。
```cpp
void Widget::on_pushButton_download_clicked()
{
if(!isBusy){
file = new QFile(fileName);
...
nowDownload+=1;
startRequest(urList.at(nowDownload-1)); // 进行链接请求
}
}
void Widget::startRequest(QUrl url)
{
reply = manager->get(QNetworkRequest(url));
// 请求响应完成,关闭文件,清理下载队列
connect(reply,SIGNAL(finished()),this,SLOT(httpFinished()));
// 接收应用下载数据
connect(reply,SIGNAL(readyRead()),this,SLOT(httpReadyRead()));
// 更新应用下载进度
connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(updateDataReadProgress(qint64,qint64)));
}
```
使用 QSettings 来读取配置,更换服务源
```cpp
void Widget::on_comboBox_server_currentIndexChanged(const QString &arg1)
{
appinfoLoadThread.setServer(arg1); // 服务器信息更新
if(configCanSave){
ui->label_setting1->show();
QSettings *setConfig=new QSettings(QDir::homePath()+"/.config/spark-store/config.ini",QSettings::IniFormat);
setConfig->setValue("server/choose",arg1);
}
}
```
使用 `QProcess` 来调用各种小文件下载、包安装卸载的命令。
**应用安装**
```cpp
void Widget::httpFinished() // 完成下载
{
...
download_list[nowDownload-1].readyInstall();
download_list[nowDownload-1].free=true;
if(nowDownload<allDownload){ // 如果有排队则下载下一个
...
}
}
void downloadlist::readyInstall()
{
...
ui->pushButton_install->setEnabled(true);
ui->pushButton_install->show();
ui->pushButton_2->hide();
Widget::sendNotification(tr("Finished downloading %1, awaiting to install").arg(ui->label->text()), 5000,
"/tmp/spark-store/icon_"+QString::number(num).toUtf8()+".png");
}
void downloadlist::on_pushButton_install_clicked()
{
//弹出菜单
menu_install->exec(cursor().pos());
}
downloadlist menu_install
downloadlist::install()
gdebi, dpkg, deepin-deb-installer
void downloadlist::install(int t)
{
QtConcurrent::run([=](){
QProcess installer;
installer.start("pkexec gdebi -n /tmp/spark-store/"+ui->label_filename->text().toUtf8());
installer.start("pkexec ssinstall /tmp/spark-store/"+ui->label_filename->text().toUtf8());
installer.start("deepin-deb-installer /tmp/spark-store/"+ui->label_filename->text().toUtf8());
});
}
```
**应用卸载**
```cpp
void Widget::on_pushButton_uninstall_clicked()
{
QtConcurrent::run([=](){
uninstall.start("pkexec apt purge -y "+pkgName);
});
}
```
**仓库源更新**
```cpp
// 更新源列表
void Widget::on_pushButton_updateServer_clicked()
{
QtConcurrent::run([=](){
...
QFile::remove(QDir::homePath().toUtf8()+"/.config/spark-store/server.list");
system("curl -o "+QDir::homePath().toUtf8()+"/.config/spark-store/server.list http://dcstore.shenmo.tech/store/server.list");
server.open(QDir::homePath().toUtf8()+"/.config/spark-store/server.list",std::ios::in);
...
while (getline(server,lineTmp)) {
ui->comboBox_server->addItem(QString::fromStdString(lineTmp));
}
});
}
// 更新星火商店apt源
void Widget::on_pushButton_updateApt_clicked()
{
QtConcurrent::run([=](){
comboBox_server /tmp/spark-store/sparkstore.list
bash脚本 sparkstore.list /etc/apt/sources.list.d/
使QProcess pkexec update.sh
}):
}
```
## 发送系统通知
```cpp
#include <libnotify/notify.h>
static NotifyNotification *_notify = nullptr; // 初始化
notify_init(tr("Spark\\ Store").toLocal8Bit()); // 构造函数初始化
notify_uninit(); // 析构函数调用
void Widget::sendNotification(const QString &message, const int msTimeout, const QString &icon)
{
if(_notify == nullptr)
{
_notify = notify_notification_new(tr("Spark\\ Store").toLocal8Bit(), message.toLocal8Bit(), icon.toLocal8Bit());
notify_notification_set_timeout(_notify, msTimeout);
}
else
notify_notification_update(_notify, tr("Spark\\ Store").toLocal8Bit(), message.toLocal8Bit(), icon.toLocal8Bit());
notify_notification_show(_notify, nullptr);
}
```

48
DOCS/json-api-doc.md Normal file
View File

@@ -0,0 +1,48 @@
# 基本格式
0. 应用信息
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
```json
{
"Name": "星火应用商店",
"Version": "4.2.7.1",
"Filename": "spark-store_4.2.7.1_amd64.deb",
"Torrent_address": "spark-store_4.2.7.1_amd64.deb.torrent",
"Pkgname": "spark-store",
"Author": "shenmo <shenmo@spark-app.store>",
"Contributor": "shenmo <jifengshenmo@outlook.com>",
"Website": "https://www.spark-app.store/",
"Update": "2023-09-01 23:22:23",
"Size": "590.5 KB",
"More": "* 修复aptss加锁失败现在会正常报错\n * 新增在aptss的特定操作时添加了提示\n * 新增在aptss提示加粗\n * 调整ssinstall验证支持使用cdn.d.获取",
"Tags": "community;ubuntu;deepin;uos;dtk5",
"img_urls": "[\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/411c32fd691544bb985ecba87d151ea0.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/f44b3c2242c045e28f1161980d805e0d.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/00263ba857894667bd99240558bec69c.png\",\"https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2023/09/01/6fd248ad9eea4ef18c9c4acc2a9d372d.png\"]",
"icons": "https://examine-spark.oss-cn-shanghai.aliyuncs.com/icons/2023/09/01/a88dd18cc1734396a02e7e3c6be59718.png"
}
```
*注意img_urls和icons的信息不保证有效大部分是有效的少部分app.json可能缺失此项目*
**对于icon和截图的获取需求请参考第三点**
1. 对于某分类下的所有应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/applist.json`
说明SOURCE_URL线路链接目前推荐 https://cdn.d.store.deepinos.org.cn你也可以使用其他的星火线路
ARCH架构文件夹 x86是store或amd64-storearm是aarch64-store。特别的如果你使用非https://cdn.d.store.deepinos.org.cn的线路你可能会发现amd64-store会返回404因为不是所有的服务器都支持软连接
CATOGARY分类目录。参考 https://gitee.com/spark-store-project/spark-store/blob/dev/DOCS/spk-doc.md 中 store 直达的对应关系
例子https://cdn.d.store.deepinos.org.cn/aarch64-store/tools/applist.json
2. 对于单个应用的应用信息
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/app.json`
Package Name是包名。可从上级的applist.json读取
例子https://cdn.d.store.deepinos.org.cn/store/tools/spark-store/app.json
3. 对应用截图和icon的获取
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/icon.png`
`{SOURCE_URL}/{ARCH}/{CATOGARY}/{Package Name}/screen_n.png`(n=1-5)(至少为1不是所有的都有到5. 404是正常的

View File

@@ -1,12 +1,14 @@
#### 调用参数(spk规则)
参数只有一个Url该url应当遵循这种格式`spk://<任意合法字符>/web分类/包名`
* store直达
该url应当遵循这种格式`spk://store/web分类/包名`
目前第一字段不进行处理,以后可能会对此识别。在目前阶段,这个字段可以填写任意合法字符
例如:
[spk://abcdefg/games/store.spark-app.hmcl](spk://abcdefg/games/store.spark-app.hmcl)
[spk://store/games/store.spark-app.hmcl](spk://store/games/store.spark-app.hmcl)
可选的web分类
@@ -25,3 +27,8 @@
| 工具 | tools |
| 主题 | themes |
| 其他 | others |
* search搜索
spk://search/pkgname

View File

@@ -4,4 +4,4 @@
为方便使用(其实是早期屎山使然),请将仓库放置于 `/home/ftp/spark-store`
仓库管理相关代码请移步 [这里](https://gitee.com/deepin-community-store/repo_auto_update_script)update.sh请联系 @shenmo 获取
仓库管理相关代码请移步 [这里](https://gitee.com/spark-store-project/repo_auto_update_script)update.sh请联系 @shenmo 获取

41
EULA Normal file
View File

@@ -0,0 +1,41 @@
星火开源软件协议Spark Opensource LICENSE
版权所有 (C) 2023 星火社区
根据 GNU 通用公共许可证第三版GPL v3本软件是自由软件您可以修改和再发布它。但是为了维护原作者的权益并保护社区用户的权益请遵守以下条款
1. 对本仓库下的所有文件生效:本许可证适用于本仓库(或项目)下的所有文件。任何使用、修改或再发布本软件的个人或组织都必须遵守本许可证。
2. 版权声明和许可证文件:您不得移除、隐藏或更改本软件中包含的原作者的版权声明和许可证文件。保留原作者的权益信息对于维护开源软件生态系统至关重要。
3. 版本标注: 如果您对本软件做出修改并再发布,您必须在醒目位置标注此版本并非星火社区官方提供。这样可以避免误导使用者认为该软件为星火社区官方提供的版本。此软件仅授权用于个人非盈利用途,任何将其用于商业目的或在盈利性组织中使用的行为均需事先获得星火社区的书面许可。
4. 商标使用您不得在再发布版本中使用“星火应用商店”、“Spark Store”或星火应用商店的Logo等可能误导使用者此软件由星火社区官方提供的信息。
5. 服务条款:您使用星火商店软件的行为将被视为您同意星火在不侵犯您隐私的前提下搜集版本、日志等信息,以便于星火社区更好地为您提供服务。
6. 仓库版权条款:为了更好的提供持续性服务,星火仅对个人用户免费开放服务仓库,如您或您的组织需要提供商业服务或者您的组织为盈利性组织,请联系星火社区获取商业授权。
7. 禁止恶意行为和批量爬取: 用户或组织在使用本软件时,严禁进行任何形式的恶意行为,包括但不限于恶意攻击、滥用、破坏、批量爬取软件仓库等。恶意行为的定义由星火社区自行判断,违反者将被追究法律责任。
8. 分发与再分发权利: 星火社区保留对其制作的软件包的分发权利。未经明确授权,禁止任何个人或组织将星火社区软件包用于商业目的或在未获得星火社区许可的情况下进行再分发。此条款旨在确保开源精神的同时,维护星火社区的知识产权。
9. 商业应用限制:您不得使用本软件的代码开发商业应用,也不得在商业应用中使用本软件的代码,除非获得星火社区和火穗(沈阳)计算机软件开发有限公司的书面许可。
10. 其他条款:除上述约定外,若您使用了星火商店的主程序或其部分代码,您应遵守 GPL v3 的所有其他条款和要求。若本协议条款的内容与GPL V3中的内容不同的以本协议条款为准
11. 其他约定:本许可以简体中文版本为最准确释义
GPLV3许可证的完整文本可以在以下链接找到https://www.gnu.org/licenses/gpl-3.0.html
---------------------------------------------------------------------------------------------------------------------------------
Spark Opensource LICENSE
Copyright (C) 2023 The Spark Community
This software is free software; you can modify and redistribute it under the terms of the GNU General Public License version 3 (GPL v3). However, to protect the rights of the original authors and the interests of the community users, please adhere to the following terms:
1. Applicability to all files in this repository: This license applies to all files in this repository (or project). Any individuals or organizations that use, modify, or redistribute this software must comply with this license.
2. Copyright notice and license files: You must not remove, hide, or modify the copyright notice and license files of the original authors included in this software. Preserving the rights information of the original authors is essential for maintaining the open-source software ecosystem.
3. Version annotation: If you modify and redistribute this software, you must mark in a prominent position that this version is not officially provided by the Spark community. This avoids misleading users into thinking that the software is an official version provided by the Spark community. This software is licensed for personal, non-profit use only, and any use of it for commercial purposes or in for-profit organizations requires the prior written permission of the Spark Community.
4. Trademark usage: You are not allowed to use terms such as "Spark App Store," "Spark Store," or the logo of Spark App Store in redistributed versions, as they may mislead users into believing that the software is provided by the official Spark community.
5. Terms of Service: Your use of the software of Spark Store will be deemed as your consent to collect version, log and other information on the premise of not violating your privacy, so as to facilitate the Spark community to provide you with better services.
6. Warehouse copyright terms: In order to better provide continuous services, Spark is only free for individual users to open the service warehouse, if you or your organization needs to provide commercial services or your organization is a for-profit organization, please contact Spark community to obtain commercial authorization.
7. Prohibited malicious behavior and mass crawling: Users or organizations are strictly prohibited to engage in any form of malicious behavior when using the software, including but not limited to malicious attacks, abuse, destruction, and mass crawling of software warehouses. The definition of malicious behavior is judged by the Spark community, and violators will be held legally responsible.
8. Distribution and redistribution rights: Spark Community reserves the right to distribute the software packages it produces. Any person or organization is prohibited from using the Spark Community software package for commercial purposes or redistributing it without the express authorization of the Spark Community. This clause is intended to ensure the spirit of open source while safeguarding the intellectual property rights of the Spark community.
9. Business Application Restriction: You are not permitted to utilize the code of this software for developing commercial applications, nor are you allowed to integrate the code of this software into commercial applications without obtaining written consent from both the Spark Community and Flamescion (Shenyang) Computer Software Development Co., Ltd.
10. Other Terms: In addition to the above provisions, if you use the main program or any part of the code of Spark Store, you must comply with all other terms and requirements of GPL v3. In case of any inconsistency between the terms of this agreement and those of GPL v3, the terms of this agreement shall prevail.
11. Additional Agreements: This license shall be interpreted most accurately in its Simplified Chinese version.
You can find the full text of GPLV3 license at: https://www.gnu.org/licenses/gpl-3.0.html

91
FAQ.md Normal file
View File

@@ -0,0 +1,91 @@
# FAQ
## Spark App Store FAQ and Support Guide
### Introduction
The Spark App Store is an application store aimed at Linux users and supports multiple Linux distributions. Below are some commonly asked questions and solutions. Please note that this document is primarily intended for ordinary users who are not familiar with Linux and the APT package management system.
---
### Communication and Feedback
**Q: Where can I join the community group?**
**A:** You can click [here](https://bbs.spark-app.store/) to enter the main communication platform of the Spark Store.
> ⚠️ If the above link doesn't work, you can also join our QQ groups as an alternative. The group numbers are 872690351 and 865927727. We also offer forums for communication.
#### Differences Between arm64 and amd64
arm64
* Full Name: Advanced RISC Machine 64-bit
* Main Use: Primarily used in mobile devices, embedded systems, and some new servers and desktop computers.
* Advantages: Low power consumption, high efficiency, suitable for battery-driven and heat-sensitive devices.
* Main Manufacturers: Apple, Qualcomm, HiSilicon, Phytium, etc.
amd64
* Full Name: AMD 64-bit, also known as x86_64
* Main Use: Primarily used in desktop computers, laptops, and servers.
* Advantages: High performance, suitable for computation-intensive applications.
* Main Manufacturers: Intel and AMD.
* The main differences between the two are in the instruction sets and application scenarios. amd64 is usually used for high-performance computers and servers, while arm64 is more commonly used in power-sensitive settings.
#### How to Check:
Linux:
- Open the terminal.
- Type `uname -m` or `arch` and press Enter.
- You will see your processor architecture (possibly x86_64, aarch64, etc.).
---
### Domestic Architecture Support
**Q: I use a domestic chip architecture, how can I get applications?**
**A:** Currently, Spark Store supports **arm** architecture for domestic chips. You can download deb packages suitable for arm64 architecture.
> ⚠️ Please note that this is experimental support. If you encounter any issues, please provide feedback via Spark's communication platform, QQ group, or forums.
---
### Dependency Issues
**Q: I get errors when installing dependencies**
**A:** If you are using UOS or deepin, please do not install the dependency packages. For Kali Linux/Kdeneon etc., temporary support is not available, please compile and install yourself.
> 💡 If errors occur, try running `sudo apt update` before attempting the installation again. If the issue persists, refer to the first question and seek help on the community platform.
---
### Submission and App Updates
**Q: Where can I submit applications?**
**A:** You can find the "Submit Application" option in the upper-right corner menu of the app store interface.
---
### Support for Non-deepin/UOS Users
**Q: I'm not a deepin/UOS user; can I use the Spark App Store?**
**A:** Yes, you can directly install if you're using Ubuntu 22.04. For Ubuntu 20.04/Debian10/Debian11, please install the dependencies first.
---
### Installation Methods
**Q: Can I use dpkg -i for installation?**
**A:** No! Use `sudo apt install ./xxxx.deb` to install, or use graphical installers like gdebi.
> ⚠️ Using dpkg directly will not handle software dependencies, which is a common mistake.
---
### System Updates
**Q: Will the Spark Store affect normal system updates?**
**A:** No, the Spark Store has separated its application sources from system sources and will not affect regular system updates.
---
### Reporting Issues and Removing Apps
**Q: Some apps are outdated or inactive, and I want them removed**
**A:** You can report issues [here](https://gitee.com/spark-store-project/software_-issue).
---
### Installing Spark App Store
If you wish to install the Spark App Store, please visit the [Release page](https://gitee.com/spark-store-project/spark-store/releases), find the latest version, and choose the package suitable for your current system.
> ⚠️ Special Note: If you are using Debian10/Debian11 or Ubuntu 20.04, you may need to download additional dependency packages. After downloading, unzip multiple times until you see the software user guide. For operating systems later than Ubuntu 22.04, you do not need to install dependency packages. Just follow the steps above to install the main program directly.
---

90
FAQ.zh.md Normal file
View File

@@ -0,0 +1,90 @@
# FAQ
## 星火应用商店FAQ与支持指南
### 简介
星火应用商店是一个面向 Linux 用户的应用商店,支持多种不同的 Linux 发行版。以下是一些常见问题及解决方案。请注意,该文档主要面向对 Linux 和 APT 软件包管理系统不熟悉的普通用户。
---
### 交流与反馈
**Q: 在哪进交流群?**
**A:** 你可以点击[这里](https://bbs.spark-app.store/)进入星火商店的主交流平台。
> ⚠️ 如果上面的链接无法使用,你还可以加入我们的 QQ 群作为备选方案,群号是 872690351 和 865927727。我们还提供论坛作为交流平台。
arm64与amd64的区别
arm64
* 全称: Advanced RISC Machine 64-bit
* 主要用途: 主要应用于移动设备、嵌入式系统以及一些新型的服务器和桌面计算机。
* 优势: 低功耗、高效率,适合用在电池驱动和热敏感的设备。
* 主要生产商: 苹果、高通、海思、飞腾等。
amd64
* 全称: AMD 64-bit, 也被称为 x86_64
* 主要用途: 主要应用于桌面计算机、笔记本以及服务器。
* 优势: 高性能,适用于计算密集型应用。
* 主要生产商: Intel和AMD。
* 两者最主要的不同在于指令集和应用场景。amd64通常用于高性能需求的计算机和服务器而arm64则更多应用于功耗要求更严格的场合。
查看方法:
Linux
- 打开终端。
- 输入 uname -m 或 arch 并按回车。
- 你将看到你的处理器架构(可能是 x86_64, aarch64 等)。
---
### 国产架构支持
**Q: 我是国产架构,怎么获取应用?**
**A:** 目前,星火商店支持**arm**架构的国产芯片。你可以下载适用于 arm64 架构的deb包软件安装包
> ⚠️ 请注意这是实验性的支持。如果遇到问题请在星火交流平台、QQ群或论坛向我们反馈。
---
### 安装依赖问题
**Q: 安装依赖包出现错误**
**A:** 如果你使用UOS或deepin请不要安装依赖包。对于Kali Linux/Kdeneon等暂时不支持请自行编译安装。
> 💡 出现错误时,尝试运行 `sudo apt update` 后再尝试安装。如果问题仍然存在,请参考第一条,进入交流平台寻求帮助。
---
### 投稿与应用更新
**Q: 在哪里投稿?**
**A:** 你可以在应用商店界面的右上角菜单找到“投递应用”的选项。
---
### 非deepin/UOS用户支持
**Q: 我不是deepin/UOS用户可以使用星火应用商店吗**
**A:** 可以,如果你是使用 Ubuntu 22.04,请直接安装。对于 Ubuntu 20.04/Debian10/Debian11请先安装依赖包。
---
### 安装方法
**Q: 我可以用dpkg -i安装吗**
**A:** 不可以!使用 `sudo apt install ./xxxx.deb` 来安装或者使用gdebi等图形化的安装器。
> ⚠️ 直接使用dpkg是不会处理软件依赖的这是一个常见的错误。
---
### 系统更新
**Q: 星火商店会影响系统正常更新吗?**
**A:** 不会,星火商店已经将应用源与系统源分开,不会影响系统的正常更新。
---
### 报告问题和应用下架
**Q: 有些应用已经过时或者失效了,我想让他下架**
**A:** 你可以前往 [这里](https://gitee.com/spark-store-project/software_-issue) 报告问题。
---
### 安装星火应用商店
如果你想安装星火应用商店,请打开[Release页面](https://gitee.com/spark-store-project/spark-store/releases),找到最新版本,并选择适用于当前系统的安装包下载。
> ⚠️ 特别提示: 如果你在使用 Debian10/Debian11 或 Ubuntu 20.04,你可能额外下载依赖补充包。您需要在下载完依赖包后,解压多次一直到看到内部的软件使用说明,对于 Ubuntu22.04 以后的操作系统版本,您无需安装依赖包,您需要按照上面的操作直接安装本体程序。
---

188
README.md
View File

@@ -1,87 +1,167 @@
# Spark App Store
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
# Spark App Store
[![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)
## Branch: Reason
## Introduction
This branch is for aarch64-store support
Welcome to the Spark App Store! This is an app store designed for Linux users, aiming to solve the problem of dispersed and difficult-to-obtain applications in the Linux ecosystem. No matter what type of Linux distribution you are using, you may find suitable software packages here.
The number of Linux applications is relatively limited, and the availability of Wine software is also quite challenging. Excellent development and tool resources are scattered across various communities and forums, making it difficult for the entire ecosystem to improve comprehensively.
The construction of the ecosystem is not dependent on the isolated efforts of individuals but requires the participation of the entire community. Only when everyone's "sparks" gather together can they ignite a "prairie fire."
To improve this situation, we have launched this app store. We have broadly included various user-demand software packages, gathered high-quality tools, and actively adapted Wine applications, all stored in our software library for easy user access.
**Currently supported Linux distributions include:**
- **amd64 architecture:** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS Home Edition 20
- **arm64 architecture:** UOS Professional Edition 1060 / Ubuntu 22.04 / deepin 23
- **loong64 architecture:** deepin 23
> Special Note: We also support all versions of Ubuntu operating systems higher than Ubuntu 22.04, such as Ubuntu 22.10, 23.04, 23.10, etc.
**Important Notice:** This software does not provide any form of warranty. If you plan to use it on UOS Professional Edition, please make sure to understand and enable Developer Mode. Make sure you have basic troubleshooting capabilities. It should be clear that we have not conducted extensive testing on the UOS operating system. Therefore, using the Spark client may lead to a series of issues like failed system updates, data loss, etc., all risks to be borne by the user.
## Team Collaboration: For detailed documentation related to branch management, please see [this link](https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo).
We warmly welcome you to join our development team. Whether you want to participate in development or submit applications, you can find your place here to jointly promote the development of the Linux application ecosystem.
You can track our Issue handling status in real-time through the following link: [Issue Board](https://gitee.com/spark-store-project/spark-store/board).
If you have a software package you'd like to submit, please [click here to submit](https://upload.deepinos.org.cn/index).
## Contents
- [Read the copyright](#read-the-copyright)
- [Determine your system architecture](#determine-your-system-architecture)
- [System support and installation guide](#system-support-and-installation-guide)
- [For Deepin / UOS Users](#for-deepin-users)
- [For Ubuntu Users](#for-ubuntu-users)
- [For Debian Users](#for-debian-users)
- [Frequently Asked Questions (FAQ)](#frequently-asked-questions-faq)
- [Contact and Feedback](#contact-and-feedback)
---
## You are informed that the aarch64 support is EXPERIMENTAL and there is NO GUARANTEE that this branch will be supported in the future
Spark Store aims to collect Linux apps for the convieniece of Linux new comers
The collecting process needs everyone's help
We set up this APP Store and collect APPs/tools that everyone need widely. Also we pack Windows apps with wine.
All packages will be shared in our repository for users to get freely.
Distrobution supportedDeepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(May stop support in the future ; UniontechOS Home 21
*About OpenKylin and deepin 23*
The adaptation work is scheduled after their official release.
You can track our Issue resoving progress here https://gitee.com/deepin-community-store/spark-store/board
## Read [the copyright](LICENSE)
We hope people who see here can also join our teamdevelopment help or submit applications are welcomed
If you want to submit an APP to share with othersPlease [Click here](https://upload.deepinos.org/index)
## Determine your system architecture
Before installing any software, you need to know what architecture your computer runs on (such as x86_64/amd64 or aarch64/arm64).
## 🙌 A simple start
**How to check:**
If you simply want to install the Spark Store,just enter the [Release] page, find the version you want and install.
1. Open a Linux terminal.
2. Type `uname -m` or `arch` and press Enter.
If you are using Debian11/Ubuntu 20.04, you will need extra dependency package. Available [here](https://code.gitlink.org.cn/shenmo7192/spark-store-dependencies/raw/branch/master/spark-store-dependencies-kylin.zip)
You will see an output, and that's your system architecture.
- If you see `x86_64`, your system is AMD64 architecture.
- If you see `aarch64`, your system is ARM64 architecture.
---
#### Compile and developement
## System support and installation guide
For Deepin V20/UOS 21/ Debian 11
### For Deepin Users
```shell
sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev fakeroot qtwayland5 qtwayland5-dev-tools dde-qt5wayland-plugin
#### For Deepin Users
```
1. **Download and Install**
Ubuntu 22.04
```shell
sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev qtwayland5 qtwayland5-dev-tools
You can directly search for Spark App Store in the Deepin Store to install, or copy this link to open and install in your browser:
```
> appstore://deepin-home-appstore-client?app_detail_info/spark-store
Then
To use the latest version, please visit the [Spark App Store Release page](https://gitee.com/spark-store-project/spark-store/releases) and download the latest version suitable for Deepin. Install to use.
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
dpkg-buildpackage -j
```
Assuming you've downloaded to the `Downloads` folder in your user directory, we recommend you use the APT tool to install:
Or:
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
./build_and_install.sh
```
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### For Ubuntu Users
#### For Ubuntu 20.04 Users
## 🚀 Coorperation
1. **Download Dependencies**
* Please visit the [Spark App Store Dependency Download page](https://gitee.com/spark-store-project/spark-store-dependencies/releases) and download the latest dependency package.
* Unzip the dependency package multiple times until you see multiple installation packages ending with `.deb`.
* Follow the instructions in the dependency package to install all the dependencies at once.
We use Gitee as our code hosting platform. Please click here to contact us.
2. **Download and Install**
https://gitee.com/deepin-community-store/spark-store
Visit the [Spark App Store Release page](https://gitee.com/spark-store-project/spark-store/releases), download the installation package that matches your computer's architecture, and install it.
### Rocket Chat
Assuming you've downloaded to the `Downloads` folder in your user directory, we recommend you use the APT tool to install:
https://chat.shenmo.tech/
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
PWA Client
#### For Ubuntu 22.04 and Higher Version Users
spk://store/chat/store.spark-app.feedback
1. **No Need to Install Dependencies**
Copy and paste to search bar or in browser address bar after installing Spark Store
2. **Download and Install**
Visit the [Spark App Store Release page](https://gitee.com/spark-store-project/spark-store/releases), download the installation package that matches your computer's architecture, and install it.
Assuming you've downloaded to the `Downloads` folder in your user directory, we recommend you use the APT tool to install:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### For Debian Users
#### For Debian 11 Users
1. **Download Dependencies**
* Please visit the [Spark App Store Dependency Download page](https://gitee.com/spark-store-project/spark-store-dependencies/releases) and download the latest dependency package.
* Unzip the dependency package multiple times until you see multiple installation packages ending with `.deb`.
* Follow the instructions in the dependency package to install all the dependencies at once.
2. **Download and Install**
Please visit the [Spark App Store Release page](https://gitee.com/spark-store-project/spark-store/releases) and download. Install to use.
#### For Debian 12+ Users
1. **No Need to Install Dependencies**
2. **Download and Install**
Please visit the [Spark App Store Release page](https://gitee.com/spark-store-project/spark-store/releases), download the installation package that matches your computer's architecture, and install it.
Assuming you've downloaded to the `Downloads` folder in your user directory, we recommend you use the APT tool to install:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
---
## Frequently Asked Questions (FAQ)
Please refer to the [Spark App Store FAQ and Support Guide](https://gitee.com/spark-store-project/spark-store/blob/dev/FAQ.md).
To customly configure aptss, refer to [aptss](https://gitee.com/GXDE-OS/aptss)
---
## Contact and Feedback
- If you have any questions or suggestions, please submit them via email or on our [Issue Page](https://gitee.com/spark-store-project/spark-store/issues).
- If you want to follow our development progress, you can go to the [Spark App Store Board](https://gitee.com/spark-store-project/spark-store/board) for more information.
- Our [Forum](https://bbs.spark-app.store/)
- Our [QQ Group](https://blog.shenmo.tech/post/%E6%95%85%E9%9A%9C%E5%85%AC%E5%91%8A/)
- For commercial support, please leave your issue~
---

View File

@@ -1,81 +1,190 @@
# 星火应用商店
[![star](https://gitee.com/deepin-community-store/spark-store/badge/star.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/stargazers) [![fork](https://gitee.com/deepin-community-store/spark-store/badge/fork.svg?theme=gvp)](https://gitee.com/deepin-community-store/spark-store/members)
[![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)
## 分支:原理
此分支用于aarch64-store支持
## 简介
欢迎来到星火应用商店这是一个为Linux用户设计的应用商店旨在解决Linux生态下应用分散、难以获取的问题。无论你是使用什么类型的Linux发行版这里都有可能找到适合你的软件包。
Linux 应用的数量相对有限Wine 软件的可获得性也颇为困难。优秀的开发和工具资源散布在各大社区和论坛之间,这种分散化让整个生态系统难以得到全面的提升。
生态系统的构建并非依赖个体的孤立努力,而需要全社区共同参与。只有当大家的“星火”聚集一处,方可引发“燎原之势”。
为了改善这一现状,我们推出了这个应用商店。我们广泛地收录了各种用户需求的软件包,汇集了高质量的小工具,并主动对 Wine 应用进行了适配,一切都储存在我们的软件库中,使得用户可以方便地获取这些应用。
**当前支持的Linux发行版包括**
- **amd64架构** deepin 20 / deepin 23 / Ubuntu 20.04 / Ubuntu 22.04 / UOS家庭版20
- **arm64架构** UOS专业版1060 / Ubuntu 22.04 / deepin 23
- **loong64架构** deepin 23
> 特别说明我们还支持所有版本高于Ubuntu 22.04的Ubuntu操作系统例如Ubuntu 22.10、23.04、23.10等。
**重要须知:** 本软件不提供任何形式的保证。若您计划在UOS专业版上使用请务必了解并启用开发者模式。请确保您具备基础的故障排查能力。需要明确的是我们没有在UOS操作系统上进行广泛的测试。因此使用星火客户端可能会导致一系列问题如系统更新失败、数据丢失等所有风险需由用户自行承担。
## 关于团队协作
组织仓库链接:
https://gitee.com/spark-store-project/spark-store
https://gitcode.com/spark-store-project/spark-store
https://github.com/spark-store-project/spark-store
分支管理相关的详细文档可参见 [此链接](https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo)。
我们热忱欢迎您加入我们的开发团队。无论您是想参与开发还是想提交应用都能在这里找到属于您的一席之地共同推动Linux应用生态的发展。
您可以通过以下链接实时跟踪我们的Issue处理状态[Issue看板](https://gitee.com/spark-store-project/spark-store/board)。
若您有软件包想要提交,敬请 [点击此处进行投稿](https://wiki.spark-app.store/#/Submit/Submit)。
## 目录
- [阅读版权声明](#阅读版权声明)
- [确定你的系统架构](#确定你的系统架构)
- [系统支持与安装指引](#系统支持与安装指引)
- [对于 Deepin / UOS 用户](#对于deepin用户)
- [对于 Ubuntu 用户](#对于ubuntu用户)
- [对于 Debian 用户](#对于debian用户)
- [常见问题FAQ](#常见问题faq)
- [联系与反馈](#联系与反馈)
---
## 请注意aarch64的支持是实验性的并未确认持续支持
众所周知国内的Linux应用比较少wine应用难以获取优质工具分散在民间各大论坛无法形成合力难以改善生态
生态构建需要的不是某一方的单打独斗,而是人人行动起来,汇聚星火,产生燎原之势
我们创建了这个应用商店广泛收录大家需要的软件包搜集优质小工具主动适配wine应用存放到储存库供大家获取
我们支持Deepin 20 ; Ubuntu 22.04 LTS / Ubuntu 20.04 LTS(将会逐渐停止支持) ; UOS Home 21
## 关于协作:分支相关的文档见 [这里](https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo)
*关于OpenKylin和deepin 23*
支持计划将会在对应系统发布正式版之后开始评估和执行
希望看到这里的人也可以加入我们的队伍开发或者投递应用都很欢迎共同构建Linux应用生态
在这里追踪我们的Issue处理情况 https://gitee.com/deepin-community-store/spark-store/board
如果有想要提交的软件包,请 [在这里投稿](https://upload.deepinos.org/index)
## 阅读[版权声明](LICENSE)
## 🙌 简单的开始
## 确定你的系统架构
如果想安装 `星火应用商店` ,请打开右侧的 [Release] 页面,找到最新版本,并选择适用于当前系统的安装包下载
在安装任何软件之前你需要知道你的计算机运行的是哪种架构如x86_64/amd64或aarch64/arm64
如果你在使用 `Debian 11/Ubuntu 20.04`,你需要额外下载[依赖补充包](https://code.gitlink.org.cn/shenmo7192/spark-store-dependencies/raw/branch/master/spark-store-dependencies-kylin.zip)
**如何检查:**
1. 打开Linux终端。
2. 输入 `uname -m``arch` 并按回车。
你会看到一个输出,这就是你的系统架构。
- 如果看到 `x86_64`你的系统是AMD64架构。
- 如果看到 `aarch64`你的系统是ARM64架构。
---
#### 编译安装
## 系统支持与安装指引
根据你的Linux发行版和系统架构以下是安装星火应用商店的详细步骤。
### 对于 Deepin 用户
#### 对于 Deepin 用户
1. **下载并安装**
您可直接在深度商店搜索 星火应用商店 安装,或复制此链接到浏览器打开安装
> appstore://deepin-home-appstore-client?app_detail_info/spark-store
Deepin V20/UOS 21 系统下, 安装依赖
若要使用最新版本,请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[Gitcode的Release页面](https://gitcode.com/spark-store-project/spark-store/releases)并下载适用于Deepin的最新版本。安装后即可使用。
```shell
sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev fakeroot qtwayland5 qtwayland5-dev-tools dde-qt5wayland-plugin libqt5svg5*
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
```
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
Ubuntu 22.04 系统下, 安装依赖
```shell
sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev qtwayland5 qtwayland5-dev-tools libqt5svg5*
### 对于 Ubuntu 用户
```
#### 对于 Ubuntu 20.04 用户
然后
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
dpkg-buildpackage -j
```
或者: 编译并安装
```shell
git clone https://gitee.com/deepin-community-store/spark-store.git
cd spark-store
./build_and_install.sh
```
1. **下载依赖包**
* 请访问[星火应用商店依赖包下载页面](https://gitee.com/spark-store-project/spark-store-dependencies/releases) 下载最新的依赖包。
* 请多次解压依赖包,直到你可以看到诸多以 deb 结尾的安装包。
* 依据依赖包内的说明,一次性安装所有的依赖包。
## 🚀 协作
2. **下载并安装**
非常感谢有兴趣的开发者或爱好者参与 `星火应用商店` 项目,分享你的见解与思路
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[Gitcode的Release页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装
### 交流平台
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
https://chat.shenmo.tech/
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
客户端PWA
#### 对于 Ubuntu 22.04 及更高版本的 Ubuntu 用户
1. **无需安装依赖包**
spk://store/chat/store.spark-app.feedback
(安装星火商店后在浏览器打开或复制到搜索栏打开)
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[Gitcode的Release页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
### 对于 Debian 用户
#### 对于 Debian 11 用户
1. **下载依赖包**
* 请访问[星火应用商店依赖包下载页面](https://gitee.com/spark-store-project/spark-store-dependencies/releases) 下载最新的依赖包。
* 请多次解压依赖包,直到你可以看到诸多以 deb 结尾的安装包。
* 依据依赖包内的说明,一次性安装所有的依赖包。
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[Gitcode的Release页面](https://gitcode.com/spark-store-project/spark-store/releases)并下载,安装后即可使用。
#### 对于 Debian 12+ 用户
1. **无需安装依赖包**
2. **下载并安装**
请访问[星火应用商店的Release页面](https://gitee.com/spark-store-project/spark-store/releases)或[Gitcode的Release页面](https://gitcode.com/spark-store-project/spark-store/releases),下载和您电脑相同架构的安装包并安装。
假设您下载到用户目录下的 Downloads 文件夹, 我们推荐您使用 APT 工具安装:
```shell
cd ~/Downloads
sudo apt install ./spark-store*.deb
```
---
## 常见问题FAQ
请参见[星火应用商店FAQ与支持指南](https://gitee.com/spark-store-project/spark-store/blob/dev/FAQ.zh.md)。
自定义配置 aptss config 请参阅 [aptss](https://gitee.com/GXDE-OS/aptss)
---
## 联系与反馈
- 如果您有任何问题或建议,请通过邮件或在[Issue 页面](https://gitee.com/spark-store-project/spark-store/issues)上提交问题。
- 如果你想关注我们的开发进度,可以跳转[星火应用商店Board](https://gitee.com/spark-store-project/spark-store/board)获取更多信息。
- 我们的[论坛](https://bbs.spark-app.store/)
- 我们的QQ群 872690351
- 商业支持请留言咨询~
---

View File

@@ -18,7 +18,7 @@ echo "sudo apt install git qt5-default debhelper pkg-config qtchooser libqt5core
echo "Ubuntu 22.04 系统下, 安装依赖"
echo "sudo apt install git qtbase5-dev debhelper pkg-config qtchooser libqt5core5a libqt5gui5 libqt5widgets5 libqt5network5 libqt5concurrent5 libdtkcore-dev libdtkgui-dev libdtkwidget-dev qttools5-private-dev libnotify-dev qtwebengine5-dev qtwayland5 qtwayland5-dev-tools"
dpkg-buildpackage -j
dpkg-buildpackage -j$(cat /proc/cpuinfo | grep processor | wc -l)
sudo apt reinstall ../spark-store_*.deb
rm ../spark-store_*

629
debian/changelog vendored
View File

@@ -1,22 +1,416 @@
spark-store (4.7.0) UNRELEASED; urgency=medium
* aptss 第二、三阶段加速
* 修复部分应用无法启动的问题
* 支持使用 ACE deepin23 trixie
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.2) UNRELEASED; urgency=medium
* 支持安装到 ACE Bookworm
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.1) UNRELEASED; urgency=medium
* 修复 aptss 部分报错
* 重新设计了 Tag 区的展示方式
* 新增 Fish 补全
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.5.0) UNRELEASED; urgency=medium
* 支持从商店中直接启动应用
* ssinstall 修复安装时不再指定版本号以避免出现问题
* aptss支持fish补全
* 修复: distrobox下无法正常校验应用hash
* aptss 4.5.0
* 应用更新新增进度条
* 支持识别Debian
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.3.2) UNRELEASED; urgency=medium
* 提升升级工具体验,不再反复弹窗
* 提升aptss使用体验汇报目前所在阶段而不是卡住不动
* 修复debian sid 无法卸载
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.3.1) UNRELEASED; urgency=medium
* 修复点击更新需要输入密码的问题
* 修复安装速度下降的问题
* 修复闪退问题
* 修复错误地展示已安装
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2.0) UNRELEASED; urgency=medium
* 后续更新请从4.3.2.0版本号开始4.3.2版本仅用于GXDE测试
* 支持dummyapps 安装包安装
* 支持紧凑模式
* 修复部分情况下升级安装失败的问题
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.2) UNRELEASED; urgency=medium
* ssinstall支持安装conflict包
* 支持紧凑模式
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.1) UNRELEASED; urgency=medium
* 修复自提权更新问题
* 提升aptss稳定性
-- shenmo <shenmo@spark-app.store> Tue, 24 Sep 2024 11:27:08 +0800
spark-store (4.3.0-fix5) stable; urgency=medium
* 支持GXDE,重启空链接清理
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix4) stable; urgency=medium
* 修复:安装失败时仍然锁定
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix3) stable; urgency=medium
* 修复:创建快捷方式失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix2) stable; urgency=medium
* aptss配置调整
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0-fix1) stable; urgency=medium
* 上游改为d.spark-app.store
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
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.14) stable; urgency=medium
* 上游改为d.spark-app.store
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.3.0) stable; urgency=medium
* 修复部分客户端启动白屏
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
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
* 未经测试文案修改
* 龙芯平台并入主线
* 修复:更新过程中中断无法再次启动更新检查
* 调整:提高超时时长,适应较差的网络环境
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.12.1) stable; urgency=medium
* 修复:龙芯自动--no-sandbox
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.12) stable; urgency=medium
* 修复:飞腾部分设备上白屏的问题
* 修复:下载开始时长时等待(降低链接超时时长)
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.11) stable; urgency=medium
* 修复:判断是否安装状态错误
* 修改:部分组件重构提升清晰度
* 修复v23下部分应用图标失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.10) stable; urgency=medium
* 修复:部分发行版上无法启动自动创建的桌面图标
* 修复:发行版统计信息
* 修复Gitee反馈链接错误
* 修复ACE下无法安装,支持ACE下软件更新
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.9) stable; urgency=medium
* 修复:软件详情图片排序调整为服务器排序,而不是按加载顺序排序
* 修复: build error on Deepin V23
* 修复:容器内无限等待
* 新增:高分屏截图支持
* 新增:更新界面支持显示软件名称
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.8.1) stable; urgency=medium
* 修复A2D应用释放无效的Desktop到桌面上
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.8) stable; urgency=medium
* 修复在aptss上锁时支持等待释放锁而不是直接报错退出
* 调整:下载安装按钮文案修改
* 优化 KDE 深色模式支持实现方式
* 新增ssinstall现在会自动创建desktop文件
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.3) stable; urgency=medium
* 修复aptss现在会正确地透传错误码而不是exit 0
* 修复下载时如果卡0%(无法下载metalink),会在超时后报错中断而不是一直傻等
* 修复排队下载时CPU占满单核的bug https://gitee.com/spark-store-project/spark-store/issues/I7B91V
* 修复在终端中打开的icon过大导致无法投稿到UOS
* 修复v23下编译出错
* 薪怎:支持崩溃日志收集系统
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.2) stable; urgency=medium
* 新增:内置在终端打开功能
* 调整散列验证更改为使用sha512
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7.1) stable; urgency=medium
* 修复aptss加锁失败现在会正常报错
* 新增在aptss的特定操作时添加了提示
* 新增在aptss提示加粗
* 调整ssinstall验证支持使用cdn.d.获取
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.7) stable; urgency=medium
* 修复:更新星火商店后禁止更新提醒的配置失效
* 新增:支持在设置中关闭平台不兼容提示
* 调整:更改了下载量统计的方式,减少漏数
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.6) stable; urgency=medium
* 调整:文案修改:安装失败后引导查看详情而不是重新安装
* 修复dpkg阻塞出现漏掉的安装失败现在在安装后检测是否安装
* 修复UOS专业版上安装成功仍然显示失败的问题方式忽略E:等消息,仅检查脚本报错
* 调整卸载应用时采用autopurge以一并卸载依赖
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.5) stable; urgency=medium
* 调整ssaudit安装结束时会提示安装结束
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.4) stable; urgency=medium
* 修复:关于页面的入口过时
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.3) stable; urgency=medium
* 修复:部分下载统计线路失效
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.2) stable; urgency=medium
* 新增支持arm架构搜索
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6.1) stable; urgency=medium
* 修复mint下更新检测不正常
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.6) stable; urgency=medium
* 修复:截图加载失败时点击闪退
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.5.1) stable; urgency=medium
* 调整重写了spark-dstore-patch速度提升尤其对机械硬盘下
* 调整优化了aptss源文件同步策略
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.5) stable; urgency=medium
* 修复ssinstall在文件不存在时仍然报安装成功
* 修复删除不再需要的依赖libc6-dev
* 在aarch64架构安装时也启用32位支持
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.4) stable; urgency=medium
* 修复ssinstall校验失败的时候仍然提示安装成功
* 新增ssinstall可以自动刷新ssupdate以防止仓库更新中导致的安装校验失败
* 修复:在不受支持的平台安装应用时弹出提示不正确
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.3) stable; urgency=medium
* aptss 不再使用bwrap去除依赖支持容器中启动
* aptss 支持非root模式启动
* aptss 添加transhell支持
* 关于界面自动获取分支名称
* 现在安装成功则自动删除安装包
* 完成 arm 架构大部分功能适配
* 修复依赖不完整的问题
* 4.3 roadmap 实现,在浏览不支持的应用时会出现提示
* 4.3 roadmap 实现,在下载文件夹没有读写权限时会出现提示
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason10) stable; urgency=medium
* 完成除web外大部分功能适配
* 修复依赖不完整的问题
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason9) stable; urgency=medium
* sender-d.sh
* ssinstall和ssaudit的安装测试转到upgrade-worker
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason8) stable; urgency=medium
* sender-d改用cpp重写在aarch64上稳定运行
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason7) stable; urgency=medium
* ssinstall发现无法验证时尝试update而不是ssupdate
* 启动每日aptss update
* ssinstall在发现无法安装后尝试先进行下aptss update
* 修复:安装商店后首次启动无法安装任何软件
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason5) stable; urgency=medium
* aptss 不再使用bwrap去除依赖支持容器中启动
* aptss 支持非root模式启动
* aptss 添加transhell支持
* 关于界面自动获取分支名称
* 现在安装成功则自动删除安装包
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~Reason3) stable; urgency=medium
* 现在可在x86上编译使用同一套代码
* 暂时在aarch64上使用旧web----等待柚子
* 空间,疾疫,现在是静谧
-- shenmo <shenmo@spark-app.store> Sun, 5 Mar 2022 11:45:14 +0800
spark-store (4.2.3.2~only-for-test1) stable; urgency=medium
* 注意!!!!!! 此版本仅为启动测试还需要进一步完善——hardcode需要改善——关于web界面的调用方式需要在柚子做好之后修改成新的
* fix: hardcode
* fix: sender-d
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3.1) stable; urgency=medium
* 修复: ssinstall验证签名出错
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3) stable; urgency=medium
* 修复: 编译依赖不全
* 修复: prerm导致的dpkg崩溃
@@ -26,12 +420,14 @@ spark-store (4.2.3) stable; urgency=medium
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test4) stable; urgency=medium
* 修复: aptss 无法安装
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test3) stable; urgency=medium
* 调整:打包时从 debian/changelog 自动获取构建版本号并写入关于窗口保证与deb一致
@@ -43,6 +439,7 @@ spark-store (4.2.3~test3) stable; urgency=medium
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (4.2.3~test2) stable; urgency=medium
* 调整:开启安装包加固
@@ -54,7 +451,7 @@ spark-store (4.2.3~test2) stable; urgency=medium
spark-store (4.2.3~test1) stable; urgency=medium
* 修复因判断安装状态错误创建多个相同任务的bug
* 测试中:尝试修复安装结束的闪退问题 https://gitee.com/deepin-community-store/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb
* 测试中:尝试修复安装结束的闪退问题 https://gitee.com/spark-store-project/spark-store/commit/cb093dcc2bb0a193db89aa0ce5f20ea9cc5d56eb
* 修复Deepin 显示开发者模式未开启
* 修复:从托盘打开主窗口时透明度动画不流畅
* 修复:主窗口关闭后,从托盘打开关于窗口会被主窗口遮挡
@@ -136,8 +533,8 @@ spark-store (4.1.2) stable; urgency=medium
* chore: 去除安装依赖:g++
* fix: 修复下载列表中进度提示文字显示不完整的问题
* feat: ssinstall支持从单独文件夹中校验软件包
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/deepin-community-store/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo?id=%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97%e8%a7%84%e5%88%99 不过shenmo是自由的
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/spark-store-project/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo?id=%e6%9b%b4%e6%96%b0%e6%97%a5%e5%bf%97%e8%a7%84%e5%88%99 不过shenmo是自由的
* chore: 添加 Application 类,继承 DApplication将 main 函数中设置属性、关于信息等操作移至 Application 构造函数中进行
@@ -156,8 +553,8 @@ spark-store (4.1.2) stable; urgency=medium
spark-store (4.1.2~test2) stable; urgency=medium
* feat: ssinstall支持从单独文件夹中校验软件包
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/deepin-community-store/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://deepin-community-store.gitee.io/spark-wiki/#/Dev/Spark-Store-Git-Repo 不过shenmo是自由的
* feat 支持分单文件夹下载。具体内容参见https://gitee.com/spark-store-project/repo_auto_update_script/blob/master/mirror-list-for-apt-fast/sources.list.d/sparkstore.list
* info: 非常感谢 @jwyh 对星火商店代码仓库设计了很多标准,参见 https://wiki.spark-app.store/#/Dev/Spark-Store-Git-Repo 不过shenmo是自由的
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
@@ -368,7 +765,7 @@ spark-store (3.2.4) stable; urgency=medium
spark-store (3.2.4~test4) stable; urgency=medium
* 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/deepin-community-store/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c
* 现在在商店启动后点击spk链接仍会正常启动 https://gitee.com/spark-store-project/spark-store/commit/dd6780d636042bf12d77414e6f1552cc7d1ed24c
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
@@ -393,221 +790,5 @@ spark-store (3.2.4~test2) stable; urgency=medium
spark-store (3.2.4~test1) stable; urgency=medium
* 客户端更新时不关闭免密码登录
* UOS合并正常aptss中
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.3) stable; urgency=medium
* 客户端异常退出时仍然占用资源问题修复
* 降低dtk依赖版本Debian 11 stable可直接安装
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.2) stable; urgency=medium
* aptss will now refresh the system source before doing install, policy....etc
* 启动客户端GPU加速支持
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2.1) stable; urgency=medium
* 更改刷新系统源的功能
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.2) stable; urgency=medium
* 新增 下载量统计功能
* 新增 显示下载量
* 修复 spk链接生成错误
* 调整 启动时检测商店applist源
* 新增 applist cdn加速
* 调整 ssupdate不再更新/etc/aptss下的cache如要如此请使用aptss update
* 修复 在更新检测设置中的是否开启自动更新检测设置项的显示不随开启或关闭状态改变
* 修复 在检测更新时临时降低优先级到100防止系统中有且版本一致的包被反复来回更新
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.6) stable; urgency=medium
* 修复部分情况下无法选中正确的镜像源的问题
* 合入3.1.5以来的各项修改
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-5) stable; urgency=medium
* 从所有镜像源中选取最快镜像源高速下载
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-4) stable; urgency=medium
* 更改ss-apt-fast策略现在只会在updatessupdate和没有检测到配置文件的时候更新配置文件
* 新增ss-apt-fast别名aptss
* 更新检测服务优化:从分体改为一体
* aptss 支持自动补全
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-3) stable; urgency=medium
* 包内自带密钥
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-2) stable; urgency=medium
* 下载软件时跳过获取大小,修复部分软件无法下载的问题
* 修复 获取key时出错指定使用http1.1
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5-1) stable; urgency=medium
* 改变更新策略UOS也下载加速但是安装不加速
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.5) stable; urgency=medium
* 改变更新策略,现在支持应用在更新时引入新依赖
* ss-apt-fast现在默认允许降级以与apt使用体验一致
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.4-2) stable; urgency=medium
* 客户端下载使用metalink来支持bt下载加速
* 修复使用更新和安装设置更新商店本体时出错
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.4-1) stable; urgency=medium
* 安装脚本和检测更新脚本检查网络时间超时时间延长至5s
* 修复ssinstall在没有安装apt-fast的情况下首次安装需要依赖的软件时安装失败
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.4) stable; urgency=medium
* 发布正式版,同步到官网
* 修复安装时使用wget的问题
* 合并3.1.3-1和3.1.3-2的更改
* 屏蔽了ssinstall之外的安装方式
* 调整了报错框的形式
* 修复pkexec下ssinstall不处理依赖
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3-2) stable; urgency=medium
* 调整 现在与系统更新分开,不再导致更新失败
* 支持直接更新软件源文件不再让d.吃全部更新流量
* ss-apt-fast不再强制root权限
* 修改ss-apt-fast的策略现在除了安装下载和更新都改用apt
* ssinstall 现在也会在不适用ss-apt-fast的时候模拟源了针对UOS
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3-1) stable; urgency=medium
* 修复 下载提前退出
* 移除 下载量显示
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.3) stable; urgency=medium
* Now uses aria2 to download softwares form all mirrors
* 新增ssinstall现在会在没有apt-fast的时候自动安装
* 新增ss-apt-fast现在会在没有apt-fast的时候自动安装
* 修改删除ssinstall中无用的 || dpkg -P $1
* 新增ss-apt-fast会先下载云上的conf以确保mirror是最新的
* 修复去除wget指令
-- shenmo <shenmo@spark-app.store> Fri, 30 Jan 2022 00:00:00 +0800
spark-store (3.1.2) stable; urgency=medium
* Now let apt-fast method support all mirrors
* Now will download dependencies and upgrade with all mirrors
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.1.1) stable; urgency=medium
* Now will delete the link of policy file after uninstall or upgrade
* Now ss-update-controler will create symbol link instead of hard link
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.1.0) stable; urgency=medium
* Add pkexec policy: ssinstall. Only will be enabled after permitted.
* Modify ssinistall script: Now will ask for password when not run as root
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-13) stable; urgency=medium
* Update the ssinstall script. Now support apt-fast and will temporarily increase the spark store source priority to 500 to make depends install correctly
* Change the style of About Dialog
* Modified depends to avoid Deb installers can not handle "Provides"
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-12) stable; urgency=medium
* Rollback to use DApplication::loadDXcbPlugin() to make titlebar behave normally in ubuntu
* Now can run on Debian 11
* Now can run on Ubuntu 22.04
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-11) stable; urgency=medium
* Now support autoupdate
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-10) stable; urgency=medium
* Now also compile dstore patch
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
spark-store (3.0.3-9) stable; urgency=medium
* Support dpkg-buildpackage
-- shenmo <shenmo@spark-app.store> Mon, 17 Jan 2022 00:00:00 +0800
* U

47
debian/control vendored
View File

@@ -5,45 +5,32 @@ Priority: optional
Build-Depends:
debhelper (>= 9),
pkg-config,
qtchooser (>= 55-gc9562a1-1~),
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
libdtkcore-dev(>=5.0),
libdtkgui-dev(>=5.0),
libdtkwidget-dev(>=5.0),
qtchooser (>= 55-gc9562a1-1~) | qt5-default,
qtbase5-dev,
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
Depends:${shlibs:Depends}, ${misc:Depends},
libqt5core5a,
libqt5gui5,
libqt5widgets5,
libqt5network5,
libqt5concurrent5,
qtwayland5,
libdtkcore5,
libdtkgui5,
libdtkwidget5,
Provides: spark-store-console-in-container
Depends: ${shlibs:Depends}, ${misc:Depends},
dde-qt5integration,
curl,
openssl,
dde-qt5integration,
bubblewrap,
aria2,
gcc,
gnupg,
zenity,
libc6-dev,
policykit-1
policykit-1 | pkexec,
libnotify-bin,
qtwayland5,
desktop-file-utils,
dpkg-dev,
lsb-release,
Description: Spark Store
A community powered app store, based on DTK.

2
debian/copyright vendored
View File

@@ -1,6 +1,6 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: spark-store
Source: https://gitee.com/deepin-community-store/spark-store
Source: https://gitee.com/spark-store-project/spark-store
Files: *
Copyright: The Spark Project Developers

19
debian/rules vendored
View File

@@ -7,6 +7,9 @@ include /usr/share/dpkg/default.mk
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
# Use realtime timestamp instead of the latest entry in debian/changelog
SOURCE_DATE_EPOCH := $(shell date +%s)
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE = 1
@@ -14,23 +17,25 @@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
dh $@ --parallel
override_dh_auto_clean:
rm -rf $(CURDIR)/build
rm -rf $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
override_dh_auto_configure:
mkdir -p $(CURDIR)/build
mkdir -p $(CURDIR)/build-$(DEB_HOST_MULTIARCH)
qmake BUILD_VERSION=$(DEB_VERSION_UPSTREAM) spark-store-project.pro \
-spec linux-g++ CONFIG+=qtquickcompiler \
-o $(CURDIR)/build/
-spec linux-g++ CONFIG+=force_debug_info \
-o $(CURDIR)/build-$(DEB_HOST_MULTIARCH)/
override_dh_auto_build:
make MAKEFLAGS="$(MAKEFLAGS)" -C $(CURDIR)/build
make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) -j$(JOBS)
override_dh_auto_install:
make -C $(CURDIR)/build install \
make -C $(CURDIR)/build-$(DEB_HOST_MULTIARCH) install \
INSTALL_ROOT=$(CURDIR)/debian/spark-store
# Ignore the dpkg-shlibdeps: warning (it uses none of the library's symbols)
# Qt Mutidedia lib will ref to network libraray.
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0
dh_shlibdeps --dpkg-shlibdeps-params=--warnings=0 --exclude=opt/durapps/spark-store/bin/ss-feedback/
override_dh_strip:
dh_strip --exclude=opt/durapps/spark-store/bin/ss-feedback/

View File

@@ -1 +1 @@
1.0
3.0 (native)

View File

@@ -4,40 +4,45 @@ case "$1" in
configure)
case `arch` in
x86_64)
echo "Enabling i386 arch..."
dpkg --add-architecture i386
;;
*)
echo "Not amd64, skip enable i386 arch"
;;
x86_64)
echo "Enabling i386 arch..."
dpkg --add-architecture i386
;;
aarch64)
echo "Will not enable armhf since 4271"
;;
loongarch64)
echo "Nope we DO NOT WANT ABI1 now"
dpkg --remove-architecture loongarch64
;;
*)
echo "Unknown architecture, skip enable 32-bit arch"
;;
esac
mkdir -p /var/lib/aptss/lists
# Remove the sources.list file
rm -f /etc/apt/sources.list.d/sparkstore.list
# Check if /usr/local/bin existed
mkdir -p /usr/local/bin
## I hate /usr/local/bin. We will abandon them later
# Create symbol links for binary files
ln -s -f /opt/durapps/spark-store/bin/spark-store /usr/local/bin/spark-store
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/local/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/local/bin/ssaudit
ln -s -f /opt/durapps/spark-store/bin/ssinstall /usr/bin/ssinstall
ln -s -f /opt/durapps/spark-store/bin/ssaudit /usr/bin/ssaudit
ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/local/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/spark-dstore-patch /usr/bin/spark-dstore-patch
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/local/bin/ss-apt-fast
ln -s -f /opt/durapps/spark-store/bin/aptss /usr/bin/aptss
# Create symbol links for SSINSTALL
ln -s -f /opt/durapps/spark-store/bin/auto-install-policy/store.spark-app.ssinstall.policy /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
# Compile sender module
echo "Compiling the Sender module..."
gcc -Wformat -Wformat-security -Werror=format-security /opt/durapps/spark-store/bin/ss-feedback/sender-d_$(arch).sh.c -o /opt/durapps/spark-store/bin/ss-feedback/sender-d
# Install key
mkdir -p /tmp/spark-store-install/
@@ -45,14 +50,14 @@ case "$1" in
gpg --dearmor /tmp/spark-store-install/spark-store.asc
cp -f /tmp/spark-store-install/spark-store.asc.gpg /etc/apt/trusted.gpg.d/spark-store.gpg
# Run apt update to avoid users being fucked up by the non-exist dependency problem
# Now abandoned as aptss now run ssupdate everytime
#aptss ssupdate
# Start upgrade detect service
systemctl daemon-reload
systemctl enable spark-update-notifier
systemctl start spark-update-notifier
# Update certain caches
update-icon-caches /usr/share/icons/hicolor || true
update-desktop-database /usr/share/applications || true
@@ -67,18 +72,7 @@ case "$1" in
;;
triggered)
# Quit if deepin-app-store-tool existed
if [ -x "/usr/bin/deepin-app-store-tool" ] ; then
exit 0
fi
spark-dstore-patch
# Trigger for UOS debs installation
echo '--------检测到Uniontech标准软件包运行补丁以修正安装--------'
if [ -x "/usr/local/bin/spark-dstore-patch" ] ; then
/usr/local/bin/spark-dstore-patch
echo '-----------spark-dstore-patch补丁工具已运行完毕-----------'
else
echo '------------spark-dstore-patch补丁工具运行失败------------'
fi
;;
esac

0
debian/spark-store.postrm vendored Normal file → Executable file
View File

View File

@@ -1,51 +1,64 @@
#!/bin/bash
function notify-send()
{
#Detect the user using such display
# Detect the user using such display
local user=$(who | awk '{print $1}' | head -n 1)
#Detect the id of the user
# Detect the id of the user
local uid=$(id -u $user)
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
sudo -u $user DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send "$@"
}
if [ "$1" = "remove" ] || [ "$1" = "purge" ] ; then
if [ "$1" = "remove" -o "$1" = "purge" ] ; then
echo "$1"
echo "卸载操作,进行配置清理"
# Remove residual symbol links
rm -f /usr/local/bin/spark-store
rm -f /usr/local/bin/ssinstall
rm -f /usr/local/bin/ssaudit
rm -f /usr/local/bin/spark-dstore-patch
rm -f /usr/local/bin/ss-apt-fast
rm -f /usr/bin/aptss
unlink /usr/local/bin/spark-store
unlink /usr/local/bin/ssinstall
unlink /usr/local/bin/ssaudit
unlink /usr/bin/ssinstall
unlink /usr/bin/ssaudit
unlink /usr/local/bin/spark-dstore-patch
unlink /usr/bin/spark-dstore-patch
unlink /usr/local/bin/ss-apt-fast
unlink /usr/bin/aptss
rm -rf /etc/aptss/
# Remove Sender module
rm -f /opt/durapps/spark-store/bin/ss-feedback/sender-d
rm -rf /var/lib/aptss/
# Remove residual symbol links to stop upgrade detect
rm -f /etc/xdg/autostart/spark-update-notifier.desktop
# Remove config files
for username in `ls /home`
do
echo /home/$username
if [ -d /home/$username/.config/spark-union/spark-store ]
then
rm -rf /home/$username/.config/spark-union/spark-store
fi
done
# Shutdown services
systemctl stop spark-update-notifier
# Stop update detect service
systemctl disable spark-update-notifier
# Clean the auto install polkit file if exist
rm -f /usr/share/polkit-1/actions/store.spark-app.ssinstall.policy
# Remove gpg key file
rm -f /etc/apt/trusted.gpg.d/spark-store.gpg
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C'
apt-key del '9D9A A859 F750 24B1 A1EC E16E 0E41 D354 A29A 440C' || true
else
echo "非卸载操作,不进行配置清理"
if [ ! -z "`pidof spark-store`" ];then
echo "关闭已有 spark-store.."
notify-send "正在升级星火商店" "请在升级结束后重启星火商店" -i spark-store
killall spark-store
else
echo "继续安装 spark-store.."
if [ ! -z "`pidof spark-store`" ] ; then
echo "关闭已有 spark-store.."
notify-send "正在升级星火商店" "请在升级结束后重启星火商店" -i spark-store
killall spark-store
fi
fi

View File

@@ -1 +1,2 @@
interest-noawait /opt/apps

View File

@@ -5,7 +5,7 @@
> 用于 zinface-community-cmake-build-system.patch 补丁化构建方式
```shell
git clone https://gitee.com/deepin-community-store/spark-store
git clone https://gitee.com/spark-store-project/spark-store
cd spark-store
git am < patchs/zinface-community-cmake-build-system.patch
make package

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,11 @@
[Unit]
Description=Timer for Spark Update Notifier
[Timer]
# 开机后第一次执行
OnBootSec=1min
# 每天执行一次
OnUnitActiveSec=1d
[Install]
WantedBy=timers.target

View File

@@ -2,13 +2,14 @@
Description=Spark Store update notifier
After=apt-daily.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
[Service]
Type=simple
RemainAfterExit=yes
RemainAfterExit=yes
ExecStart=/opt/durapps/spark-store/bin/update-upgrade/ss-update-notifier.sh
Restart=on-failure
RestartSec=10
RestartSec=15 # 可以设置为更长的重试间隔,比如 15 秒或 30 秒
StartLimitIntervalSec=1h # 设置为 1 小时的时间窗口
StartLimitBurst=3 # 最大允许失败次数为 3 次
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Categories=Development;
Encoding=UTF-8
Exec=/opt/durapps/spark-store/bin/open-in-terminal/open-in-terminal %U
Icon=open-me-in-terminal
MimeType=application/x-desktop
Name=Open me in terminal
Name[zh_CN]=在终端中打开
NoDisplay=true
StartupWMClass=在终端中打开
Terminal=true
Type=Application

View File

@@ -0,0 +1,5 @@
#!/bin/bash
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="INFO:Running in non-root mode! If error occurs, please try to excute me as root."
TRANSHELL_CONTENT_INFO_SOURCES_LIST_D_IS_EMPTY="INFOsources.list.d directory is emptywill not try to sync"
TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST="Getting server and mirror lists..."
TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT="Please note: Although the error message suggests using \"apt\" (such as \"apt install --fix-broken\"), please use \"aptss\" instead of \"apt\" when troubleshooting errors (for example, change to \"aptss install --fix-broken\")."

View File

@@ -0,0 +1,5 @@
#!/bin/bash
TRANSHELL_CONTENT_RUNNING_IN_NOT_ROOT_USER="信息正在使用非root权限模式启动若出现问题请尝试使用root权限执行指令"
TRANSHELL_CONTENT_INFO_SOURCES_LIST_D_IS_EMPTY="信息sources.list.d文件夹是空的将不会尝试同步"
TRANSHELL_CONTENT_GETTING_SERVER_CONFIG_AND_MIRROR_LIST="从服务器获取配置和镜像列表..."
TRANSHELL_CONTENT_PLEASE_USE_APTSS_INSTEAD_OF_APT="注意尽管报错信息中提示使用apt如apt install --fix-broken),请在排查错误的时候使用aptss而不是apt(对于例子,改为使用 aptss install --fix-broken)."

View File

@@ -40,7 +40,7 @@ _aptss()
"list"
"search"
"show" "showsrc"
"install" "remove" "purge" "autoremove"
"install" "remove" "purge" "autoremove" "autopurge"
"update"
"upgrade" "full-upgrade" "dist-upgrade"
"edit-sources"
@@ -63,7 +63,7 @@ _aptss()
# Complete a -t<SPACE><TAB>
case $prev in
-t|--target-release)
COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/etc/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) )
COMPREPLY=( $( compgen -W "$( apt-cache policy -o Dir::Cache="/var/lib/aptss/" | egrep -o 'a=[^,]*|n=[^,]*' | cut -f2- -d= | sort -u)" -- "$cur" ) )
return 0
;;
esac
@@ -185,12 +185,12 @@ _aptss()
return 0
;;
show|list|download|changelog|depends|rdepends)
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \
2> /dev/null ) )
return 0
;;
install)
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \
2> /dev/null ) )
if [[ "$cur" == ./* || "$cur" == /* ]]; then
_filedir "deb"
@@ -198,8 +198,8 @@ _aptss()
return 0
;;
source|build-dep|showsrc|policy)
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/etc/aptss/" \
2> /dev/null ) $( apt-cache dumpavail -o Dir::Cache="/etc/aptss/" | \
COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" -o Dir::Cache="/var/lib/aptss/" \
2> /dev/null ) $( apt-cache dumpavail -o Dir::Cache="/var/lib/aptss/" | \
command grep "^Source: $cur" | sort -u | cut -f2 -d" " ) )
return 0
;;

View File

@@ -0,0 +1,242 @@
# 清除已有的 aptss 补全(如果有的话)
complete -c aptss -e
# 禁用默认的文件补全(避免显示当前目录文件)
complete -c aptss -f
########################################################################
# aptss Fish 补全脚本(中文说明版,软件包补全显示简介)
#
# 说明:
# 1. 子命令和选项的说明采用中文显示。
# 2. 软件包补全部分不再调用 apt-cache而是解析 aptss 自有的软件源索引文件,
# 从 /var/lib/aptss/lists/*Packages或 *Sources中提取软件包名称及简介信息。
#
# 注意:如果你的 aptss 软件源索引文件位置或格式有变化,请相应修改下面的 awk 命令。
########################################################################
### 辅助函数
# 解析 /var/lib/aptss/lists/*Packages 文件,输出符合当前输入前缀的“软件包<TAB>简介”
function __fish_aptss_print_packages
set cur (commandline -ct)
# 将所有匹配的 Packages 文件拼接后,用 awk 分段解析RS="" 表示以空行为分段)
awk -v cur="$cur" '
BEGIN { RS=""; FS="\n" }
{
pkg = ""; desc = "";
for(i=1; i<=NF; i++){
if($i ~ /^Package: /) { pkg = substr($i, 10) } # “Package: ”共9个字符
else if($i ~ /^Description: /) { desc = substr($i, 14) } # “Description: ”共13个字符
}
if(pkg != "" && (cur == "" || pkg ~ ("^" cur))) {
print pkg "\t" desc
}
}
' /var/lib/aptss/lists/*Packages 2>/dev/null
end
# 解析已安装软件包(这里仍使用 dpkg-query如果需要使用 aptss 数据,可另外构造)
function __fish_aptss_print_installed_packages
set cur (commandline -ct)
dpkg-query -W -f='${Package}\t${Description}\n' 2>/dev/null | grep -i "^$cur"
end
# 解析 /var/lib/aptss/lists/*Sources 文件,输出源代码包信息(如果存在)
function __fish_aptss_print_source_packages
set cur (commandline -ct)
awk -v cur="$cur" '
BEGIN { RS=""; FS="\n" }
{
pkg = ""; desc = "";
for(i=1; i<=NF; i++){
if($i ~ /^Package: /) { pkg = substr($i, 10) }
else if($i ~ /^Description: /) { desc = substr($i, 14) }
}
if(pkg != "" && (cur == "" || pkg ~ ("^" cur))) {
print pkg "\t" desc
}
}
' /var/lib/aptss/lists/*Sources 2>/dev/null
end
# 翻译子命令为中文说明(用于补全时显示在括号内)
function __fish_translate_aptss_cmd
switch $argv[1]
case ssupdate
echo "更新软件源"
case list
echo "列出软件包"
case search
echo "搜索软件包"
case show
echo "显示软件包信息"
case showsrc
echo "显示源包信息"
case install
echo "安装软件包"
case remove
echo "移除软件包"
case purge
echo "彻底移除软件包"
case autoremove
echo "自动移除不必要的软件包"
case update
echo "更新软件包列表"
case upgrade
echo "升级软件包"
case full-upgrade
echo "完全升级(可能移除其他软件包)"
case dist-upgrade
echo "发行版升级"
case edit-sources
echo "编辑软件源列表"
case help
echo "显示帮助信息"
case source
echo "下载源代码包"
case build-dep
echo "安装构建依赖"
case clean
echo "清除软件包缓存"
case autoclean
echo "自动清理旧缓存"
case download
echo "下载软件包"
case changelog
echo "显示更新日志"
case moo
echo "彩蛋"
case depends
echo "显示软件包依赖"
case rdepends
echo "显示软件包逆向依赖"
case policy
echo "显示软件包策略"
case '*'
echo $argv[1]
end
end
### 定义各类子命令组
# 所有子命令列表
set -g __aptss_commands ssupdate list search show showsrc install remove purge autoremove update upgrade full-upgrade dist-upgrade edit-sources help source build-dep clean autoclean download changelog moo depends rdepends policy
# 需要补全二进制软件包名称的子命令(例如 install、show、search、download、changelog、depends、rdepends
set -l __aptss_pkg_subcmds install show search download changelog depends rdepends
# 需要补全已安装软件包的子命令(例如 remove、purge、autoremove
set -l __aptss_installed_pkg_subcmds remove purge autoremove
# 需要补全源代码包的子命令(例如 source、build-dep、showsrc、policy
set -l __aptss_src_pkg_subcmds source build-dep showsrc policy
### 子命令补全
# 未输入子命令时,显示所有候选子命令,并在括号中显示中文说明
for cmd in $__aptss_commands
set desc (__fish_translate_aptss_cmd $cmd)
complete -c aptss -a $cmd -d "$desc" -n "not __fish_seen_subcommand_from $__aptss_commands"
end
### 公共选项(适用于一组子命令)
set -l group1 "install remove purge upgrade dist-upgrade full-upgrade autoremove"
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l show-progress -d '显示进度'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-broken -d '修复损坏的依赖'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l purge -d '清除配置文件'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l verbose-versions -d '显示详细版本'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l auto-remove -d '自动移除依赖'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s s -l simulate -d '模拟/试运行'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l download -d '下载软件包'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-missing -d '修复丢失文件'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l fix-policy -d '修复策略'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l ignore-hold -d '忽略锁定'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l force-yes -d '强制确认'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l trivial-only -d '仅处理简单情况'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l reinstall -d '重新安装'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l solver -d '使用求解器'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s t -l target-release -d '目标版本'
# 附加的 GENERIC 选项
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s d -l download-only -d '仅下载'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s y -l assume-yes -d '默认确认'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -l assume-no -d '默认否定'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s u -l show-upgraded -d '显示升级情况'
complete -c aptss -n "__fish_seen_subcommand_from $group1" -s m -l ignore-missing -d '忽略缺失'
### 针对各个子命令的专用选项
# update 命令
complete -c aptss -n "__fish_seen_subcommand_from update" -l list-cleanup -d '清理列表'
complete -c aptss -n "__fish_seen_subcommand_from update" -l print-uris -d '显示 URI'
complete -c aptss -n "__fish_seen_subcommand_from update" -l allow-insecure-repositories -d '允许不安全的仓库'
# list 命令
complete -c aptss -n "__fish_seen_subcommand_from list" -l installed -d '已安装的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -l upgradable -d '可升级的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -l manual-installed -d '手动安装的软件包'
complete -c aptss -n "__fish_seen_subcommand_from list" -s v -l verbose -d '详细模式'
complete -c aptss -n "__fish_seen_subcommand_from list" -s a -l all-versions -d '显示所有版本'
complete -c aptss -n "__fish_seen_subcommand_from list" -s t -l target-release -d '目标版本'
# show 命令
complete -c aptss -n "__fish_seen_subcommand_from show" -s a -l all-versions -d '显示所有版本'
# depends 和 rdepends 命令(逐项添加各选项)
for opt in i important installed pre-depends depends recommends suggests replaces breaks conflicts enhances recurse implicit
complete -c aptss -n "__fish_seen_subcommand_from depends rdepends" -l $opt -d $opt
end
complete -c aptss -n "__fish_seen_subcommand_from depends rdepends" -s i -d '选项 -i'
# search 命令
complete -c aptss -n "__fish_seen_subcommand_from search" -s n -l names-only -d '仅匹配名称'
complete -c aptss -n "__fish_seen_subcommand_from search" -s f -l full -d '全文搜索'
# showsrc 命令
complete -c aptss -n "__fish_seen_subcommand_from showsrc" -l only-source -d '仅显示源代码'
# source 命令
complete -c aptss -n "__fish_seen_subcommand_from source" -s s -l simulate -d '模拟'
complete -c aptss -n "__fish_seen_subcommand_from source" -s b -l compile -d '编译/构建'
complete -c aptss -n "__fish_seen_subcommand_from source" -s P -l build-profiles -d '构建配置'
complete -c aptss -n "__fish_seen_subcommand_from source" -l diff-only -d '仅显示差异'
complete -c aptss -n "__fish_seen_subcommand_from source" -l debian-only -d '仅限 Debian'
complete -c aptss -n "__fish_seen_subcommand_from source" -l tar-only -d '仅打包 tar'
complete -c aptss -n "__fish_seen_subcommand_from source" -l dsc-only -d '仅下载 DSC'
complete -c aptss -n "__fish_seen_subcommand_from source" -s t -l target-release -d '目标版本'
# build-dep 命令
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s a -l host-architecture -d '主机架构'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s s -l simulate -d '模拟'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s P -l build-profiles -d '构建配置'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -s t -l target-release -d '目标版本'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -l purge -d '清除'
complete -c aptss -n "__fish_seen_subcommand_from build-dep" -l solver -d '求解依赖'
# moo 命令
complete -c aptss -n "__fish_seen_subcommand_from moo" -l color -d '彩蛋模式'
# clean 和 autoclean 命令
complete -c aptss -n "__fish_seen_subcommand_from clean autoclean" -s s -l simulate -d '模拟'
### 针对 -t/--target-release 的特殊补全
complete -c aptss -n '
begin
set -l prev (commandline -poc | string trim)
test "$prev" = "-t" -o "$prev" = "--target-release"
end
' -a '(__fish_aptss_target_release)' -d '目标版本'
### 软件包补全
# 对于需要二进制软件包名称的子命令,调用 __fish_aptss_print_packages
# 输出的每一行格式为 "包名<TAB>简介"Fish 会将 TAB 后内容显示为注释。
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_pkg_subcmds" -a '(__fish_aptss_print_packages)'
# 对于 remove、purge、autoremove 命令,补全已安装的软件包(使用 dpkg-query 输出)
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_installed_pkg_subcmds" -a '(__fish_aptss_print_installed_packages)' -d '已安装软件包'
# 对于 source、build-dep、showsrc、policy 命令,补全源代码包,
# 如果存在对应的 Sources 索引文件,则调用 __fish_aptss_print_source_packages
# 否则可考虑默认使用二进制包的索引。
complete -c aptss -n "__fish_seen_subcommand_from $__aptss_src_pkg_subcmds" -a '(__fish_aptss_print_source_packages)' -d '源代码包'

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View File

@@ -1,6 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
@@ -10,12 +8,15 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="127"
inkscape:export-xdpi="127"
inkscape:export-filename="/home/zhangtianyi/Desktop/deepin-community-store.png"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:version="1.0 (4035a4f, 2020-05-01)"
sodipodi:docname="deepin-community-store.svg">
<defs
id="defs2">
@@ -170,17 +171,18 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="120.33119"
inkscape:cy="507.94585"
inkscape:zoom="0.7"
inkscape:cx="13.97476"
inkscape:cy="371.76152"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
inkscape:window-maximized="1"
inkscape:document-rotation="0" />
<metadata
id="metadata5">
<rdf:RDF>
@@ -199,70 +201,54 @@
id="layer1"
transform="translate(0,-97)">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87003541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
id="rect2119"
width="162.54665"
height="170.16383"
x="20.431099"
y="112.51035"
rx="30"
ry="30" />
<circle
style="opacity:1;fill:#959595;fill-opacity:1;stroke:#e9e9e9;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121"
cx="58.208336"
cy="131.8244"
r="6.0476193" />
<circle
style="opacity:1;fill:#9c9c9c;fill-opacity:1;stroke:#eaeaea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121-5"
cx="143.63095"
cy="133.71429"
r="6.0476193" />
ry="30"
transform="matrix(1.0253898,0,0,0.97932001,-4.2824724,3.4808454)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
<path
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,42.389243 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172433 -3.40543,23.620763 -8.97797,31.494323 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.77132 8.358796,-6.77132 10.061513,-6.14141 1.702724,0.6299 2.167092,1.5747 3.095852,3.30689 0.928749,1.73219 1.547929,1.41726 2.941089,0.47243 1.39311,-0.94484 1.85748,-2.04715 1.54792,-3.46439 -0.30958,-1.417253 -2.16711,-3.149433 -3.71505,-3.621853 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975843 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.20352 7.12048,-34.643764 C 148.22821,76.875544 137.23793,58.293884 125.00933,51.522601 112.78073,44.751315 103.64797,40.814522 94.205599,42.389243 Z"
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,38.155907 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172409 -3.40543,23.620739 -8.97797,31.494299 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.771296 8.358796,-6.771296 10.061513,-6.141389 1.702724,0.629897 2.167092,1.574691 3.095852,3.306872 0.928749,1.732187 1.547929,1.417257 2.941089,0.472427 1.39311,-0.944834 1.85748,-2.047138 1.54792,-3.464372 -0.30958,-1.417247 -2.16711,-3.149427 -3.71505,-3.621847 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975819 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.203505 7.12048,-34.64374 C 148.22821,72.642208 137.23793,54.060548 125.00933,47.289265 112.78073,40.517979 103.64797,36.581186 94.205599,38.155907 Z"
id="path1002"
inkscape:connector-curvature="0" />
<path
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,105.29647 c 0,0 -3.06474,-2.8951 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.25056 1.860731,-1.7816 4.597103,-2.56105 6.403105,-2.17131 1.806004,0.38971 2.955282,1.44755 3.393102,2.22697 0.43781,0.77944 1.149279,2.22699 1.532369,2.50538 z"
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,101.06311 c 0,0 -3.06474,-2.895088 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.250551 1.860731,-1.781588 4.597103,-2.561035 6.403105,-2.171298 1.806004,0.38971 2.955282,1.447544 3.393102,2.226958 0.43781,0.779437 1.149279,2.226981 1.532369,2.505371 z"
id="path1012"
inkscape:connector-curvature="0" />
<path
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.47695,145.38219 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84592 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959394 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 132.18114,140.09049 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84589 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959364 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
id="path1014"
inkscape:connector-curvature="0" />
<path
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.01288 2.29855,-15.366239 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464683 -4.487646,10.466823 -4.706555,16.702393 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.25056 4.925468,-23.940084 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674543 -1.97019,12.137103 -4.81601,16.257013 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.012871 2.29855,-15.366212 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464656 -4.487646,10.466796 -4.706555,16.702366 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.250536 4.925468,-23.940057 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674531 -1.97019,12.137076 -4.81601,16.256986 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
id="path1016"
inkscape:connector-curvature="0" />
<path
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.28333 1.97361,-7.519273 1.50922,-9.881333 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148344 0.23218,28.659854 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.283321 1.97361,-7.519246 1.50922,-9.881306 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148323 0.23218,28.659827 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
id="path1018"
inkscape:connector-curvature="0" />
<path
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,71.44277 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,66.680267 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
id="path1020"
inkscape:connector-curvature="0" />
<path
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,134.35862 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,130.12526 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
id="path1022"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#939393;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 56.889259,34.981831 c 0,0 16.252976,26.08036 43.845241,26.83631 27.59226,0.75596 42.33333,-23.8125 42.33333,-23.8125"
id="path2138"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -4,15 +4,15 @@
<policyconfig>
<vendor>Spark Store</vendor>
<icon_name>x-package-repository</icon_name>
<action id="store.spark-app.ss-do-upgrade-worker">
<description>运行ss-do-upgrade-worker需要权限</description>
<message>要使用ss-do-upgrade-worker需要权限</message>
<action id="store.spark-app.ss-do-upgrade">
<description>运行ss-do-upgrade需要权限</description>
<message>要使用ss-do-upgrade需要权限</message>
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade-worker.sh</annotate>
<annotate key="org.freedesktop.policykit.exec.path">/opt/durapps/spark-store/bin/update-upgrade/ss-do-upgrade.sh</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

View File

@@ -1,4 +1,6 @@
#!/bin/bash
TRANSHELL_CONTENT_HASH_CHECK_FAILED="Failed in checking package hash! \nPossibly reason can be the package is broken, laggy in sync of Spark Store repository, or, there is a malware attempt to attack. \nIf you don't know what happend, please try install again after execute the command below\n sudo aptss ssupdate\n\nIf the problem still happen, please click APP Feedback button in the APP information page to feedback to us.\n\n If you are in the Audition GroupPlease use ssaudit instead of ssinstall to audit APPsfor ssinstall is used for password-free install now.\nIf you want to install an app that is removed from Spark Store repositoryyou can also use ssaudit."
TRANSHELL_CONTENT_HASH_CHECK_FAILED="Failed in checking package hash! \nPossibly reason can be the package is broken, laggy in sync of Spark Store repository, or, there is a malware attempt to attack. \nIf you don't know what happend, please try install again after execute the command below\n sudo aptss update\n\nIf the problem still happen, please click APP Feedback button in the APP information page to feedback to us.\n\n If you are in the Audition GroupPlease use ssaudit instead of ssinstall to audit APPsfor ssinstall is used for password-free install now.\nIf you want to install an app that is removed from Spark Store repositoryyou can also use ssaudit."
TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT="Please run ssinstall as root"
TRANSHELL_CONTENT_FILE_NOT_EXIST="File not exist"
TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB="No delete after install option given, will not delete the deb"
TRANSHELL_CONTENT_DEB_IS_DELETED="--delete-after-install option is given and the installation is succeeded, delete the deb file."

View File

@@ -1,4 +1,6 @@
#!/bin/bash
TRANSHELL_CONTENT_HASH_CHECK_FAILED="软件包校验失败!这不应该发生!\n可能是因为软件包已损坏星火仓库未同步或者最坏的情况恶意软件尝试利用自动安装来入侵系统\n如果你不清楚发生了什么请执行 sudo aptss ssupdate 后再尝试安装。\n如果问题仍然存在请在应用信息界面点击 应用反馈 来提交反馈给我们!\n\n 如果你是审核人员,请使用 ssaudit来替代ssinstall进行审核工作因为现在ssinstall已经被用于免密安装。\n如果你正在尝试安装已经下架的星火应用也可用ssaudit来替代ssinstall"
TRANSHELL_CONTENT_HASH_CHECK_FAILED="软件包校验失败!这不应该发生!\n可能是因为软件包已损坏星火仓库未同步或者最坏的情况恶意软件尝试利用自动安装来入侵系统\n如果你不清楚发生了什么请执行 sudo aptss update 后再尝试安装。\n如果问题仍然存在请在应用信息界面点击 应用反馈 来提交反馈给我们!\n\n 如果你是审核人员,请使用 ssaudit来替代ssinstall进行审核工作因为现在ssinstall已经被用于免密安装。\n如果你正在尝试安装已经下架的星火应用也可用ssaudit来替代ssinstall"
TRANSHELL_CONTENT_PLEASE_RUN_AS_ROOT="请使用root启动ssinstall"
TRANSHELL_CONTENT_FILE_NOT_EXIST="文件不存在"
TRANSHELL_CONTENT_WILL_NOT_DELETE_DEB="未指定安装后删除或安装出错不删除deb包"
TRANSHELL_CONTENT_DEB_IS_DELETED="使用了--delete-after-install选项且安装未出错删除deb包"

View File

@@ -7,11 +7,9 @@
TARGET = spark-store
TEMPLATE = subdirs
#CONFIG += ordered
CONFIG += wayland-compositor
CONFIG += ordered
SUBDIRS += \
src/spark-dstore-patch \
src/spark-store.pro
# https://wiki.debian.org/Hardening
@@ -42,21 +40,28 @@ qm.path = /usr/share/spark-store/translations
bash_completion.files += pkg/usr/share/bash-completion/completions/aptss
bash_completion.path = /usr/share/bash-completion/completions
desktop.files += pkg/usr/share/applications/spark-store.desktop
fish_completion.files += pkg/usr/share/fish/completions/aptss.fish
fish_completion.path = /usr/share/fish/completions/
desktop.files += pkg/usr/share/applications/*.desktop
desktop.path = /usr/share/applications
service.files += pkg/usr/lib/systemd/system/spark-update-notifier.service
service.path = /usr/lib/systemd/system/
polkit-1.files +=pkg/usr/share/polkit-1/actions/store.spark-app.ss-do-upgrade-worker.policy
polkit-1.files += pkg/usr/share/polkit-1/actions/*
polkit-1.path = /usr/share/polkit-1/actions/
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/spark-store.svg
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.svg
icon.files += pkg/usr/share/icons/hicolor/scalable/apps/*.png
icon.path = /usr/share/icons/hicolor/scalable/apps
ssinstall-transhell.files += pkg/usr/share/ssinstall/transhell
ssinstall-transhell.path = /usr/share/ssinstall/
aptss-transhell.files += pkg/usr/share/aptss/transhell
aptss-transhell.path = /usr/share/aptss/
tmp.files += pkg/tmp/spark-store-install/feedback.sh
tmp.path = /tmp/spark-store-install
@@ -66,9 +71,11 @@ INSTALLS += \
desktop \
icon \
ssinstall-transhell \
aptss-transhell \
# sourceslist \
tmp \
service \
bash_completion \
fish_completion \
polkit-1
# 暂时不添加

View File

@@ -2,6 +2,8 @@
#include "mainwindow-dtk.h"
#include "utils/utils.h"
#include <QDir>
#include <QJsonArray>
#include <DPlatformWindowHandle>
#include <DLog>
#include <DGuiApplicationHelper>
@@ -12,6 +14,7 @@
#include <QSettings>
#include <QStandardPaths>
#include <QTranslator>
DCORE_USE_NAMESPACE
@@ -33,13 +36,13 @@ Application::Application(int &argc, char **argv)
setApplicationDisplayName(QObject::tr("Spark Store")); // 设置窗口显示标题 (Wayland 下会显示 Qt 原生标题栏)
setProductName(QObject::tr("Spark Store"));
setProductIcon(QIcon::fromTheme("spark-store"));
setApplicationHomePage("https://gitee.com/deepin-community-store");
setApplicationHomePage("https://gitee.com/spark-store-project");
setApplicationDescription(
QObject::tr(
"<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>"));
setApplicationLicense(" <a href='https://gitee.com/deepin-community-store/spark-store/blob/Flamescion/LICENSE'>GPLv3</a> ");
setApplicationLicense(" <a href='https://gitee.com/spark-store-project/spark-store/blob/Flamescion/LICENSE'>Spark Opensource License</a> ");
// 检查 ~/.config/spark-union/spark-store 文件夹是否存在
checkAppConfigLocation();
@@ -91,11 +94,12 @@ void Application::setBuildDateTime(const QString &buildDateTime)
qDebug() << "Spark Store has been updated!";
config.setValue("build/version", QString(APP_VERSION));
config.setValue("build/branch", QString(APP_BRANCH));
config.setValue("build/time", buildDateTime);
config.sync();
}
setApplicationVersion(DApplication::buildVersion(QString(APP_VERSION) + "-" + "Reason" + "-" + buildDateTime));
setApplicationVersion(DApplication::buildVersion(QString(APP_VERSION) + "-" + QString(APP_BRANCH) + "-" + buildDateTime));
}
void Application::setMainWindow(MainWindow *window)
@@ -136,9 +140,9 @@ void Application::initAboutDialog()
dialog->setProductName(productName());
dialog->setProductIcon(productIcon());
dialog->setVersion(translate("DAboutDialog", "Version: %1").arg(applicationVersion()));
#if (DTK_VERSION >= DTK_VERSION_CHECK(5, 6, 4, 0))
dialog->setVersion(applicationVersion());
#endif
if (runtimeDtkVersion() >= DTK_VERSION_CHECK(5, 6, 4, 0)) {
dialog->setVersion(applicationVersion());
}
// 根据 shenmo 要求,不显示组织 Logo
// dialog->setCompanyLogo(QPixmap(":/icon/Logo-Spark.png"));
dialog->setCompanyLogo(QPixmap());
@@ -155,6 +159,17 @@ void Application::initAboutDialog()
dialog->hide();
}
void Application::loadTranslator()
{
DApplication::loadTranslator();
if (QLocale::system().language() == QLocale::Chinese) {
QTranslator *webengineTranslator = new QTranslator(this);
webengineTranslator->load(QLocale(QLocale::Chinese), "qtwebengine", "_", ":/translations");
installTranslator(webengineTranslator);
}
}
#if (DTK_VERSION >= DTK_VERSION_CHECK(5, 6, 4, 0))
/**
* @brief Application::initFeatureDisplayDialog 初始化版本特性对话框

View File

@@ -30,6 +30,8 @@ private:
void initFeatureDisplayDialog();
#endif
void loadTranslator();
private:
QJsonObject m_featuresJsonObj;

View File

@@ -45,22 +45,33 @@
<file>icon/light/update.svg</file>
<file>icon/logo.svg</file>
<file>json/features.json</file>
<file>tags/a2d-small.png</file>
<file>tags/a2d_full.svg</file>
<file>tags/a2d.png</file>
<file>tags/community-small.png</file>
<file>tags/a2d.svg</file>
<file>tags/community_full.svg</file>
<file>tags/community.png</file>
<file>tags/community.svg</file>
<file>tags/deepin-small.png</file>
<file>tags/debian_full.svg</file>
<file>tags/debian.png</file>
<file>tags/debian.svg</file>
<file>tags/deepin_full.svg</file>
<file>tags/deepin.png</file>
<file>tags/deepin.svg</file>
<file>tags/dtk-small.png</file>
<file>tags/dwine2-small.png</file>
<file>tags/dwine5-small.png</file>
<file>tags/dtk_full.svg</file>
<file>tags/dtk.png</file>
<file>tags/dtk.svg</file>
<file>tags/dwine2_full.svg</file>
<file>tags/dwine2.png</file>
<file>tags/dwine2.svg</file>
<file>tags/dwine5_full.svg</file>
<file>tags/dwine5.png</file>
<file>tags/dwine5.svg</file>
<file>tags/logo_icon.svg</file>
<file>tags/ubuntu-small.png</file>
<file>tags/ubuntu_full.svg</file>
<file>tags/ubuntu.png</file>
<file>tags/uos-authorize.svg</file>
<file>tags/uos-small.png</file>
<file>tags/ubuntu.svg</file>
<file>tags/uos_full.svg</file>
<file>tags/uos.png</file>
<file>tags/uos.svg</file>
<file>translations/qtwebengine_zh.qm</file>
</qresource>
</RCC>

View File

@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:export-ydpi="127"
inkscape:export-xdpi="127"
inkscape:export-filename="/home/zhangtianyi/Desktop/deepin-community-store.png"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="1.3 (0e150ed, 2023-07-21)"
sodipodi:docname="logo-no-border.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1200">
<stop
style="stop-color:#000000;stop-opacity:0.1299435"
offset="0"
id="stop1196" />
<stop
style="stop-color:#dadada;stop-opacity:0.81960785"
offset="1"
id="stop1198" />
</linearGradient>
<linearGradient
id="linearGradient1138"
inkscape:collect="always">
<stop
id="stop1134"
offset="0"
style="stop-color:#99e7ea;stop-opacity:1" />
<stop
id="stop1136"
offset="1"
style="stop-color:#007ffc;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1128">
<stop
style="stop-color:#99e7ea;stop-opacity:1"
offset="0"
id="stop1124" />
<stop
style="stop-color:#007ffc;stop-opacity:1"
offset="1"
id="stop1126" />
</linearGradient>
<inkscape:path-effect
effect="bspline"
id="path-effect960"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1128"
id="radialGradient1130"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1138"
id="radialGradient1132"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1200"
id="radialGradient1202"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter1448">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood1438" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite1440" />
<feGaussianBlur
in="composite1"
stdDeviation="5.2918"
result="blur"
id="feGaussianBlur1442" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1444" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite1446" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter2201"
x="-0.06449152"
y="-0.061604632"
width="1.128983"
height="1.1232093">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood2191" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite2193" />
<feGaussianBlur
in="composite1"
stdDeviation="3.76995"
result="blur"
id="feGaussianBlur2195" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2197" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite2199" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="476.28692"
inkscape:cy="375.77675"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="974"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:document-rotation="0"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-97)" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
<path
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,38.155907 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172409 -3.40543,23.620739 -8.97797,31.494299 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.771296 8.358796,-6.771296 10.061513,-6.141389 1.702724,0.629897 2.167092,1.574691 3.095852,3.306872 0.928749,1.732187 1.547929,1.417257 2.941089,0.472427 1.39311,-0.944834 1.85748,-2.047138 1.54792,-3.464372 -0.30958,-1.417247 -2.16711,-3.149427 -3.71505,-3.621847 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975819 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.203505 7.12048,-34.64374 C 148.22821,72.642208 137.23793,54.060548 125.00933,47.289265 112.78073,40.517979 103.64797,36.581186 94.205599,38.155907 Z"
id="path1002"
inkscape:connector-curvature="0" />
<path
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,101.06311 c 0,0 -3.06474,-2.895088 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.250551 1.860731,-1.781588 4.597103,-2.561035 6.403105,-2.171298 1.806004,0.38971 2.955282,1.447544 3.393102,2.226958 0.43781,0.779437 1.149279,2.226981 1.532369,2.505371 z"
id="path1012"
inkscape:connector-curvature="0" />
<path
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 132.18114,140.09049 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84589 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959364 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
id="path1014"
inkscape:connector-curvature="0" />
<path
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.012871 2.29855,-15.366212 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464656 -4.487646,10.466796 -4.706555,16.702366 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.250536 4.925468,-23.940057 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674531 -1.97019,12.137076 -4.81601,16.256986 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
id="path1016"
inkscape:connector-curvature="0" />
<path
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.283321 1.97361,-7.519246 1.50922,-9.881306 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148323 0.23218,28.659827 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
id="path1018"
inkscape:connector-curvature="0" />
<path
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,66.680267 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
id="path1020"
inkscape:connector-curvature="0" />
<path
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,130.12526 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
id="path1022"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,268 +1,254 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="deepin-community-store.svg">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1200">
<stop
style="stop-color:#000000;stop-opacity:0.1299435"
offset="0"
id="stop1196" />
<stop
style="stop-color:#dadada;stop-opacity:0.81960785"
offset="1"
id="stop1198" />
</linearGradient>
<linearGradient
id="linearGradient1138"
inkscape:collect="always">
<stop
id="stop1134"
offset="0"
style="stop-color:#99e7ea;stop-opacity:1" />
<stop
id="stop1136"
offset="1"
style="stop-color:#007ffc;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1128">
<stop
style="stop-color:#99e7ea;stop-opacity:1"
offset="0"
id="stop1124" />
<stop
style="stop-color:#007ffc;stop-opacity:1"
offset="1"
id="stop1126" />
</linearGradient>
<inkscape:path-effect
effect="bspline"
id="path-effect960"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1128"
id="radialGradient1130"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1138"
id="radialGradient1132"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1200"
id="radialGradient1202"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter1448">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood1438" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite1440" />
<feGaussianBlur
in="composite1"
stdDeviation="5.2918"
result="blur"
id="feGaussianBlur1442" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1444" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite1446" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter2201">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood2191" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite2193" />
<feGaussianBlur
in="composite1"
stdDeviation="3.76995"
result="blur"
id="feGaussianBlur2195" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2197" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite2199" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="120.33119"
inkscape:cy="507.94585"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-97)">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87003541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
id="rect2119"
width="162.54665"
height="170.16383"
x="20.431099"
y="112.51035"
rx="30"
ry="30" />
<circle
style="opacity:1;fill:#959595;fill-opacity:1;stroke:#e9e9e9;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121"
cx="58.208336"
cy="131.8244"
r="6.0476193" />
<circle
style="opacity:1;fill:#9c9c9c;fill-opacity:1;stroke:#eaeaea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121-5"
cx="143.63095"
cy="133.71429"
r="6.0476193" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
<path
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,42.389243 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172433 -3.40543,23.620763 -8.97797,31.494323 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.77132 8.358796,-6.77132 10.061513,-6.14141 1.702724,0.6299 2.167092,1.5747 3.095852,3.30689 0.928749,1.73219 1.547929,1.41726 2.941089,0.47243 1.39311,-0.94484 1.85748,-2.04715 1.54792,-3.46439 -0.30958,-1.417253 -2.16711,-3.149433 -3.71505,-3.621853 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975843 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.20352 7.12048,-34.643764 C 148.22821,76.875544 137.23793,58.293884 125.00933,51.522601 112.78073,44.751315 103.64797,40.814522 94.205599,42.389243 Z"
id="path1002"
inkscape:connector-curvature="0" />
<path
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,105.29647 c 0,0 -3.06474,-2.8951 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.25056 1.860731,-1.7816 4.597103,-2.56105 6.403105,-2.17131 1.806004,0.38971 2.955282,1.44755 3.393102,2.22697 0.43781,0.77944 1.149279,2.22699 1.532369,2.50538 z"
id="path1012"
inkscape:connector-curvature="0" />
<path
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.47695,145.38219 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84592 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959394 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
id="path1014"
inkscape:connector-curvature="0" />
<path
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.01288 2.29855,-15.366239 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464683 -4.487646,10.466823 -4.706555,16.702393 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.25056 4.925468,-23.940084 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674543 -1.97019,12.137103 -4.81601,16.257013 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
id="path1016"
inkscape:connector-curvature="0" />
<path
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.28333 1.97361,-7.519273 1.50922,-9.881333 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148344 0.23218,28.659854 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
id="path1018"
inkscape:connector-curvature="0" />
<path
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,71.44277 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
id="path1020"
inkscape:connector-curvature="0" />
<path
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,134.35862 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
id="path1022"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#939393;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 56.889259,34.981831 c 0,0 16.252976,26.08036 43.845241,26.83631 27.59226,0.75596 42.33333,-23.8125 42.33333,-23.8125"
id="path2138"
inkscape:connector-curvature="0" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="127"
inkscape:export-xdpi="127"
inkscape:export-filename="/home/zhangtianyi/Desktop/deepin-community-store.png"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="1.0 (4035a4f, 2020-05-01)"
sodipodi:docname="deepin-community-store.svg">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1200">
<stop
style="stop-color:#000000;stop-opacity:0.1299435"
offset="0"
id="stop1196" />
<stop
style="stop-color:#dadada;stop-opacity:0.81960785"
offset="1"
id="stop1198" />
</linearGradient>
<linearGradient
id="linearGradient1138"
inkscape:collect="always">
<stop
id="stop1134"
offset="0"
style="stop-color:#99e7ea;stop-opacity:1" />
<stop
id="stop1136"
offset="1"
style="stop-color:#007ffc;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1128">
<stop
style="stop-color:#99e7ea;stop-opacity:1"
offset="0"
id="stop1124" />
<stop
style="stop-color:#007ffc;stop-opacity:1"
offset="1"
id="stop1126" />
</linearGradient>
<inkscape:path-effect
effect="bspline"
id="path-effect960"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1128"
id="radialGradient1130"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1138"
id="radialGradient1132"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1200"
id="radialGradient1202"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter1448">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood1438" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite1440" />
<feGaussianBlur
in="composite1"
stdDeviation="5.2918"
result="blur"
id="feGaussianBlur1442" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1444" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite1446" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter2201">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood2191" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite2193" />
<feGaussianBlur
in="composite1"
stdDeviation="3.76995"
result="blur"
id="feGaussianBlur2195" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2197" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite2199" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="13.97476"
inkscape:cy="371.76152"
inkscape:document-units="mm"
inkscape:current-layer="layer2"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="941"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:document-rotation="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-97)">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
id="rect2119"
width="162.54665"
height="170.16383"
x="20.431099"
y="112.51035"
rx="30"
ry="30"
transform="matrix(1.0253898,0,0,0.97932001,-4.2824724,3.4808454)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
<path
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,38.155907 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172409 -3.40543,23.620739 -8.97797,31.494299 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.771296 8.358796,-6.771296 10.061513,-6.141389 1.702724,0.629897 2.167092,1.574691 3.095852,3.306872 0.928749,1.732187 1.547929,1.417257 2.941089,0.472427 1.39311,-0.944834 1.85748,-2.047138 1.54792,-3.464372 -0.30958,-1.417247 -2.16711,-3.149427 -3.71505,-3.621847 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975819 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.203505 7.12048,-34.64374 C 148.22821,72.642208 137.23793,54.060548 125.00933,47.289265 112.78073,40.517979 103.64797,36.581186 94.205599,38.155907 Z"
id="path1002"
inkscape:connector-curvature="0" />
<path
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,101.06311 c 0,0 -3.06474,-2.895088 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.250551 1.860731,-1.781588 4.597103,-2.561035 6.403105,-2.171298 1.806004,0.38971 2.955282,1.447544 3.393102,2.226958 0.43781,0.779437 1.149279,2.226981 1.532369,2.505371 z"
id="path1012"
inkscape:connector-curvature="0" />
<path
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 132.18114,140.09049 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84589 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959364 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
id="path1014"
inkscape:connector-curvature="0" />
<path
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.012871 2.29855,-15.366212 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464656 -4.487646,10.466796 -4.706555,16.702366 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.250536 4.925468,-23.940057 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674531 -1.97019,12.137076 -4.81601,16.256986 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
id="path1016"
inkscape:connector-curvature="0" />
<path
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,117.2363 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.283321 1.97361,-7.519246 1.50922,-9.881306 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148323 0.23218,28.659827 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
id="path1018"
inkscape:connector-curvature="0" />
<path
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,66.680267 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
id="path1020"
inkscape:connector-curvature="0" />
<path
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.309114px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,130.12526 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
id="path1022"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

BIN
src/assets/icon/logo.xcf Normal file

Binary file not shown.

View File

@@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="deepin-community-store.svg">
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient1200">
<stop
style="stop-color:#000000;stop-opacity:0.1299435"
offset="0"
id="stop1196" />
<stop
style="stop-color:#dadada;stop-opacity:0.81960785"
offset="1"
id="stop1198" />
</linearGradient>
<linearGradient
id="linearGradient1138"
inkscape:collect="always">
<stop
id="stop1134"
offset="0"
style="stop-color:#99e7ea;stop-opacity:1" />
<stop
id="stop1136"
offset="1"
style="stop-color:#007ffc;stop-opacity:1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient1128">
<stop
style="stop-color:#99e7ea;stop-opacity:1"
offset="0"
id="stop1124" />
<stop
style="stop-color:#007ffc;stop-opacity:1"
offset="1"
id="stop1126" />
</linearGradient>
<inkscape:path-effect
effect="bspline"
id="path-effect960"
is_visible="true"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1128"
id="radialGradient1130"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1138"
id="radialGradient1132"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1200"
id="radialGradient1202"
cx="100.35268"
cy="199.86011"
fx="100.35268"
fy="199.86011"
r="90.135414"
gradientTransform="matrix(1,0,0,0.98112945,0,3.7714702)"
gradientUnits="userSpaceOnUse" />
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter1448">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood1438" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite1440" />
<feGaussianBlur
in="composite1"
stdDeviation="5.2918"
result="blur"
id="feGaussianBlur1442" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1444" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite1446" />
</filter>
<filter
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"
id="filter2201">
<feFlood
flood-opacity="0.372549"
flood-color="rgb(145,145,145)"
result="flood"
id="feFlood2191" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="in"
result="composite1"
id="feComposite2193" />
<feGaussianBlur
in="composite1"
stdDeviation="3.76995"
result="blur"
id="feGaussianBlur2195" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2197" />
<feComposite
in="SourceGraphic"
in2="offset"
operator="over"
result="composite2"
id="feComposite2199" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="120.33119"
inkscape:cy="507.94585"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1040"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-97)">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ebebeb;stroke-width:2.87003541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter2201)"
id="rect2119"
width="162.54665"
height="170.16383"
x="20.431099"
y="112.51035"
rx="30"
ry="30" />
<circle
style="opacity:1;fill:#959595;fill-opacity:1;stroke:#e9e9e9;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121"
cx="58.208336"
cy="131.8244"
r="6.0476193" />
<circle
style="opacity:1;fill:#9c9c9c;fill-opacity:1;stroke:#eaeaea;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path2121-5"
cx="143.63095"
cy="133.71429"
r="6.0476193" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
<path
style="fill:#ffc344;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 94.205599,42.389243 c 0,0 11.145081,-0.157476 22.599701,6.928753 11.45465,7.086223 18.11074,13.857508 20.27783,18.266716 2.16708,4.409209 9.28755,12.125332 9.13277,26.297795 -0.15488,14.172433 -3.40543,23.620763 -8.97797,31.494323 -5.57254,7.87359 -15.63405,13.85751 -27.70786,14.17247 -12.073829,0.31494 -19.813453,-7.55863 -22.444927,-11.96786 -2.631469,-4.4092 -3.715019,-13.85751 -0.464377,-20.62877 3.250645,-6.77132 8.358796,-6.77132 10.061513,-6.14141 1.702724,0.6299 2.167092,1.5747 3.095852,3.30689 0.928749,1.73219 1.547929,1.41726 2.941089,0.47243 1.39311,-0.94484 1.85748,-2.04715 1.54792,-3.46439 -0.30958,-1.417253 -2.16711,-3.149433 -3.71505,-3.621853 -1.547909,-0.47241 -3.715016,-1.88966 -6.810869,-1.41721 -3.095848,0.47238 -9.132757,2.04711 -14.240906,8.975843 -5.108153,6.92875 -4.488988,17.63684 -1.393134,22.67593 3.095849,5.0391 8.977962,14.48739 21.980539,17.79431 13.00259,3.30693 34.05435,-6.45633 41.32959,-21.57361 7.27524,-15.1173 7.43004,-22.20352 7.12048,-34.643764 C 148.22821,76.875544 137.23793,58.293884 125.00933,51.522601 112.78073,44.751315 103.64797,40.814522 94.205599,42.389243 Z"
id="path1002"
inkscape:connector-curvature="0" />
<path
style="fill:#f06767;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 100.67541,105.29647 c 0,0 -3.06474,-2.8951 -5.801108,2.22698 -2.736373,5.12205 -4.049827,9.68737 -1.313459,15.25486 2.736367,5.56745 8.428007,8.90792 17.184447,8.79659 8.75636,-0.11148 15.21419,-2.22699 19.0451,-8.5739 3.83094,-6.34692 6.7862,-11.02357 7.11457,-13.36191 0.32839,-2.33835 2.07965,0.33404 1.53239,2.33834 -0.54728,2.00426 -0.43783,5.9015 1.09454,5.12204 1.53237,-0.77942 2.73637,-2.00427 2.95526,-1.44753 0.21893,0.55673 -1.75127,4.00859 -2.68162,5.73449 -0.93039,1.7259 -3.83094,5.90153 -5.5275,7.51607 -1.69652,1.61458 -4.04981,3.89724 -6.84092,5.56747 -2.79109,1.67024 -7.11454,3.61887 -9.52255,4.06427 -2.40801,0.44539 -7.22403,1.39184 -9.96042,1.2805 -2.73635,-0.11137 -6.23892,-0.61243 -10.124558,-2.56104 -3.885645,-1.94859 -8.099657,-4.95505 -9.741479,-7.96148 -1.641825,-3.00643 -4.159283,-5.73449 -3.61201,-13.30623 0.547277,-7.57175 3.010008,-11.46899 4.870741,-13.25056 1.860731,-1.7816 4.597103,-2.56105 6.403105,-2.17131 1.806004,0.38971 2.955282,1.44755 3.393102,2.22697 0.43781,0.77944 1.149279,2.22699 1.532369,2.50538 z"
id="path1012"
inkscape:connector-curvature="0" />
<path
style="fill:#3f62eb;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.47695,145.38219 c 0,0 13.13457,-7.6831 19.26404,-19.82016 6.12948,-12.13707 8.7564,-19.93152 7.99021,-31.84592 -0.76619,-11.914358 -2.62692,-6.012854 -0.54728,-11.134928 2.07964,-5.122074 -1.31345,-15.254857 0.10943,-15.922949 1.42292,-0.668097 4.48765,4.453971 5.3633,8.573903 0.87562,4.119922 4.70654,16.813721 1.64181,32.959394 -3.06472,16.14564 -10.28872,22.60391 -15.10475,26.94655 -4.81603,4.34261 -15.7615,11.91437 -17.40332,11.80302 -1.64183,-0.11148 -1.86073,-0.11148 -1.31348,-1.55891 z"
id="path1014"
inkscape:connector-curvature="0" />
<path
style="fill:#fce102;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 7.00512,1.5589 12.36838,-1.78156 5.3633,-3.3405 9.5226,-8.79661 10.17931,-10.91225 0.65672,-2.11564 0.76619,1.89294 1.53236,-0.11125 0.76618,-2.00432 3.83093,-6.01288 2.29855,-15.366239 -1.53237,-9.35333 -1.64182,-9.798747 -4.48762,-14.809463 -2.84586,-5.010719 -9.63207,-11.91437 -13.79134,-14.141359 -4.15927,-2.226986 -9.96037,-5.567464 -17.950594,-5.344766 -7.990202,0.222699 -5.363286,-0.334048 -13.025124,1.002146 -7.661836,1.336187 -14.557491,5.010717 -16.856041,7.015006 -2.298552,2.004286 -8.428023,7.460405 -10.61712,10.46684 -2.189098,3.00643 -8.209113,9.798741 -11.383303,19.263442 -3.174189,9.464683 -4.487646,10.466823 -4.706555,16.702393 -0.21891,6.23557 0.547274,7.90578 -0.766185,8.46256 -1.31346,0.55673 -1.094547,-4.67668 -0.985094,-8.35123 0.109463,-3.6745 0.109463,-13.25056 4.925468,-23.940084 4.816015,-10.689538 13.353489,-19.597489 18.169503,-22.826622 4.816009,-3.229128 10.398208,-7.571752 19.045135,-9.687392 8.646933,-2.115635 17.293863,-1.781586 22.65716,-0.779443 5.3633,1.002145 13.68187,4.453974 18.1695,7.905802 4.48766,3.45183 9.41314,7.683099 13.13459,14.586765 3.72146,6.903648 4.70654,15.700251 4.59709,19.374771 -0.10943,3.674543 -1.97019,12.137103 -4.81601,16.257013 -2.84583,4.11993 -6.67674,9.0193 -10.61711,10.80089 -3.94039,1.78157 -8.75642,2.33833 -12.69675,0.55674 -3.94039,-1.78161 -3.72147,-2.44969 -4.3782,-4.34263 z"
id="path1016"
inkscape:connector-curvature="0" />
<path
style="fill:#5ed938;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104.83471,121.99883 c 0,0 5.54674,1.56707 10.22918,-0.55878 4.68248,-2.12587 6.4239,-4.17301 7.54615,-5.3934 1.12223,-1.22042 3.25064,-3.50376 3.83112,-4.56669 0.58046,-1.06292 1.19962,-1.69282 1.19962,-2.08649 0,-0.39369 -1.08353,-1.33853 -0.0386,-3.62186 1.04482,-2.28333 1.97361,-7.519273 1.50922,-9.881333 -0.46438,-2.362073 -1.54792,-15.471616 -10.83547,-24.211303 -9.28753,-8.739678 -18.497709,-9.763242 -18.497709,-9.763242 0,0 14.705309,4.645415 21.593569,18.739134 6.88828,14.093741 4.64376,23.148344 0.23218,28.659854 -4.41158,5.51151 -10.68068,6.14141 -12.38342,4.72415 -1.70268,-1.41725 -5.2113,6.47164 -4.38574,7.95996 z"
id="path1018"
inkscape:connector-curvature="0" />
<path
style="fill:#8fdbe9;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.930353,71.44277 c 0,0 -9.906718,-0.07875 -17.414156,4.881616 -7.507436,4.960371 -11.14506,8.975903 -13.23476,12.125332 -2.089697,3.149446 -4.488981,7.479909 -4.179395,7.401179 0.309585,-0.0788 9.055364,-12.2828 15.866229,-15.432236 6.81087,-3.149436 13.621741,-7.558644 22.986687,-4.330482 9.364952,3.228184 13.776542,7.716118 15.788842,6.613829 2.0123,-1.1023 2.3993,-2.440824 1.23835,-3.936804 -1.16094,-1.495979 -9.364961,-8.818417 -21.051797,-7.322434 z"
id="path1020"
inkscape:connector-curvature="0" />
<path
style="fill:#fd7aff;fill-opacity:1;stroke:none;stroke-width:0.3091144px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 72.107699,134.35862 c 0.65673,0.33404 5.58219,8.90795 9.522571,10.35548 3.940372,1.44755 6.567286,1.55888 7.005104,2.227 0.437821,0.66809 0.328367,4.00858 3.830921,5.45614 3.502555,1.44753 19.920785,6.01284 24.627325,6.45824 4.70658,0.4454 0.76621,3.22911 3.61202,4.23125 2.84584,1.00217 14.99532,1.5589 17.95061,0.33405 2.95527,-1.22483 2.95527,1.1135 -2.1891,3.1178 -5.14437,2.00427 -18.71677,6.79231 -27.58261,5.67882 -8.86586,-1.1135 -19.373526,-3.00644 -25.284086,-7.23772 -5.910565,-4.23126 -8.42802,-6.1242 -6.238924,-6.45824 2.189096,-0.33407 7.990199,5.9015 10.507662,6.56959 2.517463,0.66809 4.597103,0.66809 3.064735,-0.8908 -1.532366,-1.55888 -11.492755,-8.46253 -12.477849,-8.1285 -0.985092,0.33405 -3.064737,0.55674 -4.816012,-1.78159 -1.751278,-2.33832 -10.945484,-15.25485 -10.39821,-22.1585 0.547273,-6.90365 2.298552,-5.12208 4.378195,-2.56103 2.079641,2.56103 4.487648,4.78801 4.487648,4.78801 z"
id="path1022"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#939393;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 56.889259,34.981831 c 0,0 16.252976,26.08036 43.845241,26.83631 27.59226,0.75596 42.33333,-23.8125 42.33333,-23.8125"
id="path2138"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -20,6 +20,6 @@
"description": "Fix 1 detailed description..."
}
],
"linkUrl": "https://gitee.com/deepin-community-store/spark-store/releases/4.2.3test3",
"linkUrl": "https://gitee.com/spark-store-project/spark-store/releases/",
"linkButtonVisible": true
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

1
src/assets/tags/a2d.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 178 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 738 KiB

BIN
src/assets/tags/debian.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/tags/deepin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 954 B

BIN
src/assets/tags/dtk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

1
src/assets/tags/dtk.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

BIN
src/assets/tags/dwine2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/assets/tags/dwine5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>logo icon</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#00F1FF" offset="0%"></stop>
<stop stop-color="#008AFF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="light" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1" transform="translate(-460.000000, -159.000000)">
<g id="tittlebar" transform="translate(450.000000, 150.000000)">
<g id="logo-icon" transform="translate(10.000000, 9.000000)">
<g>
<rect id="矩形" fill="url(#linearGradient-1)" x="0" y="0" width="32" height="32" rx="8"></rect>
<path d="M23,25 L23,24.0002278 C21.6666667,24.0002278 21,24.0002278 21,24.0002278 L21,20 L22,20 L22,19 L21,19 L21,17 L20,17.5 L20,19 L19,19 L19,20 L20,20 L20,24.0002278 C20,24.0002278 20,24.0002278 20,24.0002278 C20,24.5523868 20.4476132,25 20.9997722,25 C20.9998481,25 20.9999241,25 21,25 L23,25 Z M24.0210414,23.9789586 L24.0210414,22.2215556 L24.0210414,22.2215556 L24.6565969,21.6226667 L27.2207674,25 L29.0052118,25 L25.6099302,20.7304444 L28.4678057,18.0074755 L26.6711391,18.0074755 L24.0210414,20.6204444 L24,15.5 L23,15 L23,25 C23.5639056,25 24.0210414,24.5428642 24.0210414,23.9789586 Z" id="tk" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M10.275,24 C13.175,24 15.35,23.2 16.85,21.6 C18.275,20.075 19,17.825 19,15 C19,12.15 18.275,10.05 16.85,8.55 C15.35,6.95 13.175,6 10.275,6 L4,6 L4,24 L10.275,24 Z M9.725,21 L7,21 L7,9 L9.725,9 C11.95,9 13.575,9.15 14.6,10.175 C15.6,11.175 16,12.75 16,15 C16,17.2 15.6,18.9 14.6,19.95 C13.575,20.975 11.95,21 9.725,21 Z" id="D" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1,13 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
<defs>
<linearGradient id="uos-托盘1-a" x1="15.968%" x2="100%" y1="14.224%" y2="60.554%">
<stop offset="0%" stop-color="#0071FF"/>
<stop offset="48.72%" stop-color="#00E8FC"/>
<stop offset="100%" stop-color="#00A2FF"/>
</linearGradient>
</defs>
<g fill="none" transform="translate(1 1)">
<circle cx="9" cy="9" r="9" fill="url(#uos-托盘1-a)"/>
<path fill="#FFF" d="M13,4.5 C13.5128358,4.5 13.9355072,4.88604019 13.9932723,5.38337887 L14,5.5 L14,9.5 C14,12.5 12,14.5 9,14.5 C6,14.5 4,12.5 4.0043492,9.70016408 L4,9.5 L4,5.5 C4,4.94771525 4.44771525,4.5 5,4.5 C5.51283584,4.5 5.93550716,4.88604019 5.99327227,5.38337887 L6,5.5 L6,9.5 C6,11.5 7.5,12.5 9,12.5 C10.5,12.5 12,11.5 12,9.5 L12,5.5 C12,4.94771525 12.4477153,4.5 13,4.5 Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/assets/tags/uos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 873 B

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

View File

@@ -0,0 +1,305 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN" sourcelanguage="es">
<context>
<name>QWebEnginePage</name>
<message>
<source>Cut</source>
<translation></translation>
</message>
<message>
<source>Back</source>
<translation>退</translation>
</message>
<message>
<source>Copy</source>
<translation></translation>
</message>
<message>
<source>Redo</source>
<translation></translation>
</message>
<message>
<source>Stop</source>
<translation></translation>
</message>
<message>
<source>Undo</source>
<translation></translation>
</message>
<message>
<source>&amp;Back</source>
<translation>&amp;退</translation>
</message>
<message>
<source>Paste</source>
<translation></translation>
</message>
<message>
<source>Copy Image URL</source>
<translation></translation>
</message>
<message>
<source>Open Link in This Window</source>
<translation></translation>
</message>
<message>
<source>Toggle Mute</source>
<translation></translation>
</message>
<message>
<source>Inspect Element</source>
<translation></translation>
</message>
<message>
<source>Toggle Media Controls</source>
<translation></translation>
</message>
<message>
<source>Reload</source>
<translation></translation>
</message>
<message>
<source>Copy Link URL</source>
<translation></translation>
</message>
<message>
<source>Exit Full Screen Mode</source>
<translation>退</translation>
</message>
<message>
<source>Paste and Match Style</source>
<translation>Pegar y coincidir estilo</translation>
</message>
<message>
<source>Follow Link</source>
<translation>Seguir vínculo</translation>
</message>
<message>
<source>Open Link in New Tab</source>
<translation></translation>
</message>
<message>
<source>Reload and Bypass Cache</source>
<translation></translation>
</message>
<message>
<source>Select folder to upload</source>
<translation>Seleccionar una carpeta para subir</translation>
</message>
<message>
<source>Save Image</source>
<translation></translation>
</message>
<message>
<source>Save Media</source>
<translation></translation>
</message>
<message>
<source>Toggle Looping</source>
<translation></translation>
</message>
<message>
<source>Close Page</source>
<translation></translation>
</message>
<message>
<source>Toggle Play/Pause</source>
<translation>/</translation>
</message>
<message>
<source>Copy Image</source>
<translation></translation>
</message>
<message>
<source>&amp;Reload</source>
<translation>&amp;</translation>
</message>
<message>
<source>Select All</source>
<translation></translation>
</message>
<message>
<source>Save Link</source>
<translation>Guardar enlace</translation>
</message>
<message>
<source>Copy Media URL</source>
<translation></translation>
</message>
<message>
<source>Forward</source>
<translation></translation>
</message>
<message>
<source>&amp;Forward</source>
<translation>&amp;</translation>
</message>
<message>
<source>Open Link in New Window</source>
<translation></translation>
</message>
<message>
<source>Are you sure you want to leave this page?</source>
<translation></translation>
</message>
</context>
<context>
<name>QQuickWebEngineView</name>
<message>
<source>Back</source>
<translation>退</translation>
</message>
<message>
<source>Copy</source>
<translation></translation>
</message>
<message>
<source>Copy Image URL</source>
<translation></translation>
</message>
<message>
<source>Toggle Mute</source>
<translation></translation>
</message>
<message>
<source>Inspect Element</source>
<translation></translation>
</message>
<message>
<source>Toggle Media Controls</source>
<translation></translation>
</message>
<message>
<source>Reload</source>
<translation></translation>
</message>
<message>
<source>Copy Link URL</source>
<translation></translation>
</message>
<message>
<source>Exit Full Screen Mode</source>
<translation>退</translation>
</message>
<message>
<source>Follow Link</source>
<translation></translation>
</message>
<message>
<source>Save Image</source>
<translation></translation>
</message>
<message>
<source>Save Media</source>
<translation></translation>
</message>
<message>
<source>Toggle Looping</source>
<translation></translation>
</message>
<message>
<source>Toggle Play/Pause</source>
<translation>/</translation>
</message>
<message>
<source>Copy Image</source>
<translation></translation>
</message>
<message>
<source>Save Link</source>
<translation></translation>
</message>
<message>
<source>Copy Media URL</source>
<translation></translation>
</message>
<message>
<source>Forward</source>
<translation></translation>
</message>
</context>
<context>
<name>QtWebEngineCore</name>
<message>
<source>Javascript Alert - %1</source>
<translation>Javascript - %1</translation>
</message>
<message>
<source>Javascript Confirm - %1</source>
<translation>Javascript - %1</translation>
</message>
<message>
<source>Javascript Prompt - %1</source>
<translation>Javascript - %1</translation>
</message>
<message>
<source>Are you sure you want to leave this page?</source>
<translation></translation>
</message>
</context>
<context>
<name>QtWebEnginePlugin</name>
<message>
<source>Cannot create a separate instance of WebEngineDownloadItem</source>
<translation> WebEngineDownloadItem </translation>
</message>
<message>
<source>Cannot create separate instance of WebEngineLoadRequest</source>
<translation> WebEngineLoadRequest </translation>
</message>
<message>
<source>Cannot create a separate instance of WebEngineSettings</source>
<translation> WebEngineSettings </translation>
</message>
<message>
<source>Cannot create separate instance of WebEngineNavigationRequest</source>
<translation> WebEngineNavigationRequest </translation>
</message>
<message>
<source>Cannot create separate instance of WebEngineNewViewRequest</source>
<translation> WebEngineNewViewRequest </translation>
</message>
<message>
<source>Cannot create separate instance of WebEngineCertificateError</source>
<translation> WebEngineCertificateError </translation>
</message>
<message>
<source>Cannot create a separate instance of FullScreenRequest</source>
<translation> FullScreenRequest </translation>
</message>
<message>
<source>Cannot create a separate instance of NavigationHistory</source>
<translation> NavigationHistory </translation>
</message>
</context>
<context>
<name>QtWebEngineExperimentalPlugin</name>
<message>
<source>Cannot create a separate instance of WebEngineViewExperimental</source>
<translation> WebEngineViewExperimental </translation>
</message>
<message>
<source>Cannot create a separate instance of WebEngineViewport</source>
<translation> WebEngineViewport </translation>
</message>
</context>
<context>
<name>UIDelegatesManager</name>
<message>
<source>Enter username and password for &quot;%1&quot; at %2://%3</source>
<translation> %2://%3 的“%1”输入用户名和密码</translation>
</message>
<message>
<source>Connect to proxy &quot;%1&quot; using:</source>
<translation>使%1</translation>
</message>
</context>
<context>
<name>QtWebEngineTestSupportPlugin</name>
<message>
<source>Cannot create a separate instance of WebEngineErrorPage</source>
<translation> WebEngineErrorPage </translation>
</message>
</context>
</TS>

View File

@@ -0,0 +1,85 @@
#include "DataCollectorAndUploader.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QStandardPaths>
#include <QNetworkReply>
#include <QJsonDocument>
#include <QJsonObject>
#include <QSettings>
#include <QProcess>
#include <QDebug>
DataCollectorAndUploader::DataCollectorAndUploader(QObject *parent) : QObject(parent)
{
}
void DataCollectorAndUploader::collectAndUploadData()
{
collectData();
}
void DataCollectorAndUploader::collectData()
{
QString distributor_id;
QString release;
QString architecture;
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
QString version = config.value("build/version").toString();
QString uuid = config.value("info/uuid").toString();
// Execute lsb_release --all and capture the output
QProcess lsbProcess;
lsbProcess.start("lsb_release", QStringList() << "--all");
lsbProcess.waitForFinished();
QString lsbOutput = lsbProcess.readAllStandardOutput();
QStringList lines = lsbOutput.split('\n');
for (const QString &line : lines) {
if (line.contains("Distributor ID:")) {
distributor_id = line.split(":").last().trimmed();
} else if (line.contains("Release:")) {
release = line.split(":").last().trimmed();
}
}
// Execute uname -m to get the architecture
QProcess unameProcess;
unameProcess.start("uname", QStringList() << "-m");
unameProcess.waitForFinished();
architecture = unameProcess.readAllStandardOutput().trimmed();
// Create a JSON object
QJsonObject json;
json.insert("Distributor ID", distributor_id);
json.insert("Release", release);
json.insert("Architecture", architecture);
json.insert("Store_Version", version);
json.insert("UUID", uuid);
// Convert to byte array
QJsonDocument doc(json);
QByteArray jsonData = doc.toJson();
// Initialize a network request
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QUrl url("https://status.deepinos.org.cn/upload");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
// Send the POST request
QNetworkReply *reply = manager->post(request, jsonData);
connect(reply, &QNetworkReply::finished, [=]() {
if (reply->error() == QNetworkReply::NoError) {
emit uploadSuccessful();
} else {
emit uploadFailed(reply->errorString());
}
reply->deleteLater();
});
}

View File

@@ -0,0 +1,21 @@
#ifndef DATACOLLECTORANDUPLOADER_H
#define DATACOLLECTORANDUPLOADER_H
#include <QObject>
class DataCollectorAndUploader : public QObject
{
Q_OBJECT
public:
explicit DataCollectorAndUploader(QObject *parent = nullptr);
void collectAndUploadData();
signals:
void uploadSuccessful();
void uploadFailed(QString errorString);
private:
void collectData();
};
#endif // DATACOLLECTORANDUPLOADER_H

147
src/backend/ThemeChecker.cpp Executable file
View File

@@ -0,0 +1,147 @@
#include "ThemeChecker.h"
#include <QDBusConnection>
#include <QDebug>
Q_GLOBAL_STATIC(ThemeChecker, m_instance)
constexpr char kFreedesktopPortalServiceName[] = "org.freedesktop.portal.Desktop";
constexpr char kFreedesktopPortalServicePath[] = "/org/freedesktop/portal/desktop";
constexpr char kFreedesktopPortalSettingsInterface[] = "org.freedesktop.portal.Settings";
ThemeChecker::ThemeChecker(QObject *parent)
: QObject(parent)
, m_paletteType(Dtk::Gui::DGuiApplicationHelper::instance()->paletteType())
{
m_interface = new QDBusInterface(kFreedesktopPortalServiceName,
kFreedesktopPortalServicePath,
kFreedesktopPortalSettingsInterface,
QDBusConnection::sessionBus(),
this);
initThemeType();
initConnections();
}
ThemeChecker *ThemeChecker::instance()
{
return m_instance;
}
bool ThemeChecker::useDarkTheme()
{
if (m_paletteType == Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType) {
return m_themeType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType;
} else {
return m_paletteType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType;
}
}
void ThemeChecker::initThemeType()
{
QVariantList args { "org.freedesktop.appearance", "color-scheme" };
QDBusMessage msg = m_interface->callWithArgumentList(QDBus::Block, "Read", args);
if (msg.type() != QDBusMessage::MessageType::ReplyMessage || msg.arguments().size() < 1) {
qWarning().noquote() << "Init color-scheme from D-Bus failed:" << msg.errorName() << msg.errorMessage();
m_themeType = Dtk::Gui::DGuiApplicationHelper::toColorType(Dtk::Gui::DGuiApplicationHelper::fetchPalette(Dtk::Gui::DGuiApplicationHelper::instance()->applicationTheme()));
return;
}
quint32 colorScheme = qvariant_cast<QDBusVariant>(qvariant_cast<QDBusVariant>(msg.arguments().first()).variant()).variant().toUInt();
switch (colorScheme) {
case 1:
m_themeType = Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType;
break;
case 2:
m_themeType = Dtk::Gui::DGuiApplicationHelper::ColorType::LightType;
break;
default:
qInfo().noquote() << QString("color-scheme: %1, fetching themeType according to QPalette::Window").arg(colorScheme);
m_themeType = Dtk::Gui::DGuiApplicationHelper::toColorType(Dtk::Gui::DGuiApplicationHelper::fetchPalette(Dtk::Gui::DGuiApplicationHelper::instance()->applicationTheme()));
break;
}
if (m_paletteType == Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType) {
Dtk::Gui::DGuiApplicationHelper::instance()->setApplicationPalette(Dtk::Gui::DGuiApplicationHelper::standardPalette(m_themeType));
}
}
void ThemeChecker::initConnections()
{
QDBusConnection::sessionBus().connect(kFreedesktopPortalServiceName,
kFreedesktopPortalServicePath,
kFreedesktopPortalSettingsInterface,
"SettingChanged",
this,
SLOT(slotSettingChanged(const QString &, const QString &, const QDBusVariant &)));
connect(Dtk::Gui::DGuiApplicationHelper::instance()->applicationTheme(), &Dtk::Gui::DPlatformTheme::themeNameChanged, this, &ThemeChecker::slotThemeNameChanged);
connect(Dtk::Gui::DGuiApplicationHelper::instance(), &Dtk::Gui::DGuiApplicationHelper::paletteTypeChanged, this, &ThemeChecker::slotPaletteTypeChanged);
}
void ThemeChecker::slotSettingChanged(const QString &_namespace, const QString &key, const QDBusVariant &variant)
{
if (_namespace != "org.freedesktop.appearance" || key != "color-scheme") {
return;
}
Dtk::Gui::DGuiApplicationHelper::ColorType colorType = Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType;
quint32 colorScheme = variant.variant().toUInt();
switch (colorScheme) {
case 1:
colorType = Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType;
break;
case 2:
colorType = Dtk::Gui::DGuiApplicationHelper::ColorType::LightType;
break;
default:
qInfo().noquote() << QString("color-scheme: %1, fetching themeType according to QPalette::Window").arg(colorScheme);
colorType = Dtk::Gui::DGuiApplicationHelper::toColorType(Dtk::Gui::DGuiApplicationHelper::fetchPalette(Dtk::Gui::DGuiApplicationHelper::instance()->applicationTheme()));
break;
}
if (m_paletteType != Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType) {
m_themeType = colorType;
return;
}
if (m_themeType != colorType) {
Dtk::Gui::DGuiApplicationHelper::instance()->setApplicationPalette(Dtk::Gui::DGuiApplicationHelper::standardPalette(colorType));
emit themeChanged(colorType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType);
m_themeType = colorType;
}
}
void ThemeChecker::slotThemeNameChanged(const QByteArray &theme)
{
Dtk::Gui::DGuiApplicationHelper::ColorType themeType = Dtk::Gui::DGuiApplicationHelper::ColorType::LightType;
if (theme.endsWith("dark")) {
themeType = Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType;
}
if (m_paletteType != Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType) {
m_themeType = themeType;
return;
}
if (m_themeType != themeType) {
Dtk::Gui::DGuiApplicationHelper::instance()->setApplicationPalette(Dtk::Gui::DGuiApplicationHelper::standardPalette(themeType));
emit themeChanged(themeType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType);
m_themeType = themeType;
}
}
void ThemeChecker::slotPaletteTypeChanged(Dtk::Gui::DGuiApplicationHelper::ColorType paletteType)
{
m_paletteType = paletteType;
if (m_paletteType != Dtk::Gui::DGuiApplicationHelper::ColorType::UnknownType) {
Dtk::Gui::DGuiApplicationHelper::instance()->setApplicationPalette(Dtk::Gui::DGuiApplicationHelper::standardPalette(m_paletteType));
emit themeChanged(m_paletteType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType);
return;
}
Dtk::Gui::DGuiApplicationHelper::instance()->setApplicationPalette(Dtk::Gui::DGuiApplicationHelper::standardPalette(m_themeType));
emit themeChanged(m_themeType == Dtk::Gui::DGuiApplicationHelper::ColorType::DarkType);
}

40
src/backend/ThemeChecker.h Executable file
View File

@@ -0,0 +1,40 @@
#ifndef THEMECHECKER_H
#define THEMECHECKER_H
#include <QObject>
#include <QDBusVariant>
#include <QDBusInterface>
#include <DPlatformTheme>
#include <DGuiApplicationHelper>
class ThemeChecker : public QObject
{
Q_OBJECT
public:
explicit ThemeChecker(QObject *parent = nullptr);
static ThemeChecker *instance();
bool useDarkTheme();
private:
void initThemeType();
void initConnections();
signals:
void themeChanged(bool isDark);
private slots:
void slotSettingChanged(const QString &_namespace, const QString &key, const QDBusVariant &variant);
void slotThemeNameChanged(const QByteArray &theme);
void slotPaletteTypeChanged(Dtk::Gui::DGuiApplicationHelper::ColorType paletteType);
private:
QDBusInterface *m_interface = nullptr;
Dtk::Gui::DGuiApplicationHelper::ColorType m_paletteType;
Dtk::Gui::DGuiApplicationHelper::ColorType m_themeType;
};
#endif // THEMECHECKER_H

View File

@@ -5,13 +5,16 @@
#include <QtConcurrent>
#include <QStandardPaths>
#define DEFAULTURL "d.store.deepinos.org.cn"
#define MAXWAITTIME 200000
DownloadController::DownloadController(QObject *parent)
{
Q_UNUSED(parent)
// 初始化默认域名
domains.clear();
domains.append("d.store.deepinos.org.cn");
domains.append(DEFAULTURL);
/*
domains = {
@@ -37,7 +40,8 @@ bool checkMeatlink(QString metaUrl)
{
metaStatus.remove();
}
system("curl -I -s --connect-timeout 5 " + metaUrl.toUtf8() + " -w %{http_code} |tail -n1 > /tmp/spark-store/metaStatus.txt");
QString cmd = QString("curl -I -s --connect-timeout 5 %1 -w %{http_code} |tail -n1 > /tmp/spark-store/metaStatus.txt").arg(metaUrl);
system(cmd.toUtf8().data());
if (metaStatus.open(QFile::ReadOnly) && QString(metaStatus.readAll()).toUtf8() == "200")
{
metaStatus.remove();
@@ -68,9 +72,13 @@ void gennerateDomain(QVector<QString> &domains)
}
if (domains.size() == 0)
{
domains.append("d.store.deepinos.org.cn");
domains.append(DEFAULTURL);
}
}
else
{
domains.append(DEFAULTURL);
}
}
/**
@@ -102,34 +110,38 @@ void DownloadController::startDownload(const QString &url)
// qDebug() << domains << domains.size();
}
QString aria2Command = "-d";
QString aria2Urls = "";
QString aria2Verbose = "--summary-interval=1";
QString aria2SizePerThreads = "--min-split-size=1M";
QString aria2NoConfig = "--no-conf";
QString aria2NoSeeds = "--seed-time=0";
QString aria2Command = "-d"; //下载目录
QString aria2Urls = ""; //下载地址
QString aria2Verbose = "--summary-interval=1"; //显示下载速度
QString aria2SizePerThreads = "--min-split-size=1M"; //最小分片大小
QString aria2NoConfig = "--no-conf"; //不使用配置文件
QString aria2NoSeeds = "--seed-time=0"; //不做种
QStringList command;
QString downloadDir = "/tmp/spark-store/";
QString aria2ConnectionPerServer = "--max-connection-per-server=1";
QString aria2ConnectionMax = "--max-concurrent-downloads=16";
QString aria2DNSCommand = "--async-dns-server=119.29.29.29,223.5.5.5";
QString downloadDir = "/tmp/spark-store/"; //下载目录
QString aria2ConnectionPerServer = "--max-connection-per-server=1"; //每个服务器最大连接数
QString aria2ConnectionMax = "--max-concurrent-downloads=16"; //最大同时下载数
QString aria2ConnectionTimeout = "--connect-timeout=5"; // 5 秒服务器连接超时
QString aria2MaxRetry = "--max-tries=1"; //设置最大重试次数
if (useMetalink)
if (useMetalink) //如果是metalink
{
command.append(metaUrl.toUtf8());
}
else
{
for (int i = 0; i < domains.size(); i++)
for (int i = 0; i < domains.size(); i++) //遍历域名
{
command.append(replaceDomain(url, domains.at(i)).replace("+","%2B").toUtf8()); //对+进行转译避免oss出错
}
}
qint64 downloadSizeRecord = 0;
QString speedInfo = "";
QString percentInfo = "";
qint64 downloadSizeRecord = 0; //下载大小记录
qint8 failDownloadTimes = 0; // 记录重试次数
const qint8 maxRetryTimes = 3; //最大重试次数
QString speedInfo = ""; //显示下载速度
QString percentInfo = ""; //显示下载进度
command.append(aria2Command.toUtf8());
command.append(downloadDir.toUtf8());
command.append(aria2Verbose.toUtf8());
@@ -137,7 +149,9 @@ void DownloadController::startDownload(const QString &url)
command.append(aria2SizePerThreads.toUtf8());
command.append(aria2ConnectionPerServer.toUtf8());
command.append(aria2ConnectionMax.toUtf8());
command.append(aria2DNSCommand.toUtf8());
command.append(aria2ConnectionTimeout.toUtf8());
command.append(aria2MaxRetry.toUtf8());
if (useMetalink)
{
command.append(aria2NoSeeds.toUtf8());
@@ -152,11 +166,30 @@ void DownloadController::startDownload(const QString &url)
cmd.start();
cmd.waitForStarted(-1); //等待启动完成
// Timer
QTimer *timeoutTimer = new QTimer(this);
timeoutTimer->setSingleShot(true); // 单次触发
connect(timeoutTimer, &QTimer::timeout, [&]() {
if (failDownloadTimes < maxRetryTimes) {
qDebug() << "Download timeout, restarting...";
// 重新启动下载任务的代码
restartDownload(cmd, command); // 调用重新启动下载任务的函数
failDownloadTimes += 1;
timeoutTimer->start(MAXWAITTIME); // 重新启动定时器
} else{
emit errorOccur(tr("Download Failed, please retry :(")); // 下载失败
downloadSuccess = false;
cmd.close();
cmd.terminate(); // 终止当前的下载进程
cmd.waitForFinished(); // 等待进程结束
}
});
connect(&cmd, &QProcess::readyReadStandardOutput, [&]()
{
timeoutTimer->start(MAXWAITTIME); // 重置超时计时器15秒超时
//通过读取输出计算下载速度
QString message = cmd.readAllStandardOutput().data();
// qDebug() << message;
message = message.replace(" ", "");
QStringList list;
qint64 downloadSize = 0;
@@ -179,10 +212,10 @@ void DownloadController::startDownload(const QString &url)
speedInfo = message.mid(speedPlace1 + 3, speedPlace2 - speedPlace1 - 3);
speedInfo += "/s";
}
// qDebug() << percentInfo << speedInfo;
if (downloadSize >= downloadSizeRecord)
{
downloadSizeRecord = downloadSize;
timeoutTimer->stop(); // 如果有进度,停止超时计时器
}
if (percentInfo == "OK")
{
@@ -244,6 +277,15 @@ void DownloadController::stopDownload()
pidNumber = -1;
}
void DownloadController::restartDownload(QProcess &cmd, const QStringList &command)
{
cmd.terminate(); // 终止当前的下载进程
cmd.waitForFinished(); // 等待进程结束
cmd.setArguments(command); // 重新设置参数
cmd.start(); // 重新启动下载
cmd.waitForStarted(-1); // 等待启动完成
}
qint64 DownloadController::getFileSize(const QString &url)
{
// 已经无需使用 qtnetwork 再获取 filesize完全交给 aria2 来计算进度。 为保证兼容性,故保留此函数。

View File

@@ -3,6 +3,7 @@
#include <QObject>
#include <QVector>
#include <QProcess>
class DownloadController : public QObject
{
@@ -14,6 +15,7 @@ public:
void setFilename(QString filename);
void startDownload(const QString &url);
void stopDownload();
void restartDownload(QProcess &cmd, const QStringList &command);
qint64 getFileSize(const QString& url);
QString replaceDomain(const QString& url, const QString domain);

View File

@@ -22,13 +22,13 @@ void image_show::setImage(QPixmap image)
QImage re_screen1;
QImage re_screen0 = screen0.scaled(QSize(400, 300), Qt::KeepAspectRatio, Qt::SmoothTransformation);
// 获取主屏幕尺寸
desktop_w = QGuiApplication::primaryScreen()->geometry().width();
desktop_h = QGuiApplication::primaryScreen()->geometry().height();
// 获取当前app所在的主屏幕尺寸
desktop_w = QGuiApplication::screenAt(QCursor().pos())->geometry().width();
desktop_h = QGuiApplication::screenAt(QCursor().pos())->geometry().height();
if (screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20))
if (screen0.width() > int(desktop_w / 3 * 2) || screen0.height() > int(desktop_h / 3 * 2))
{
re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
re_screen1 = screen0.scaled(QSize(int(desktop_w / 3 * 2), int(desktop_h / 3 * 2)), Qt::KeepAspectRatio, Qt::SmoothTransformation);
m_image = QPixmap::fromImage(re_screen1);
}
else
@@ -42,12 +42,13 @@ void image_show::setImage(QPixmap image)
void image_show::mousePressEvent(QMouseEvent *)
{
m_dialog->setimage(m_image);
m_dialog->showFullScreen();
// 识别主屏幕尺寸并设置 widget 大小
m_dialog->setFixedSize(desktop_w, desktop_h);
m_dialog->setFixedSize(qMin(desktop_w, m_image.width() + int(desktop_h / 16 * m_image.width() / m_image.height())), qMin(desktop_h, m_image.height() + int(desktop_h / 16)));
m_dialog->move(0, 0);
m_dialog->move(QGuiApplication::screenAt(QCursor().pos())->geometry().center() - m_dialog->rect().center());
m_dialog->show();
}
image_show::~image_show()
{

View File

@@ -7,8 +7,11 @@
QString SparkAPI::serverUrl = "";
#ifdef __x86_64__
QString SparkAPI::serverUrlDir = "store";
#elif __aarch64__
QString SparkAPI::serverUrlDir = "aarch64-store";
#elif __loongarch__
QString SparkAPI::serverUrlDir = "loong64-store";
#endif
SparkAPI::SparkAPI(QObject *parent) : QObject(parent)
@@ -25,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();
@@ -50,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

@@ -2,9 +2,17 @@
#include "mainwindow-dtk.h"
#include "utils/utils.h"
#include <signal.h>
#include <execinfo.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
#include <execinfo.h>
#include <DSysInfo>
#include <DApplicationSettings>
#include <DWidgetUtil>
#include <QDate>
#include <QProcessEnvironment>
@@ -13,15 +21,101 @@
#include <QStandardPaths>
#include <QSurfaceFormat>
#include <backend/DataCollectorAndUploader.h>
DCORE_USE_NAMESPACE
DWIDGET_USE_NAMESPACE
static QString buildDateTime;
void gatherInfo(FILE *fp, std::ofstream& logFile, const char* description) {
if (fp) {
char buffer[512];
logFile << description << ":\n";
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
buffer[strcspn(buffer, "\n")] = 0;
logFile << buffer << "\n";
}
pclose(fp);
} else {
logFile << "Failed to gather " << description << " info.\n";
}
}
void crashHandler(int sig) {
void *array[50];
size_t size = backtrace(array, 50);
if (size == 0) {
perror("backtrace");
exit(1);
}
time_t t = time(NULL);
struct tm tm = *localtime(&t);
char filename[128];
snprintf(filename, sizeof(filename), "/tmp/spark_store_crash_log_%04d%02d%02d_%02d%02d%02d.txt",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
std::ofstream logFile(filename, std::ios::out);
if (!logFile.is_open()) {
perror("ofstream");
exit(1);
}
logFile << "Please send this log to the developer. QQ Group: 872690351\n";
logFile << "Gitee: https://gitee.com/spark-store-project/spark-store/issues\n";
logFile << "Gihub: https://github.com/spark-store-project/spark-store/issues\n";
logFile << "Build Date and Time: " << buildDateTime.toStdString() << "\n";
gatherInfo(popen("cat ~/.config/spark-union/spark-store/config.ini", "r"), logFile, "User Config File");
// Collecting System Information
gatherInfo(popen("LANG=en_US.UTF-8 uname -m", "r"), logFile, "CPU Architecture");
gatherInfo(popen("LANG=en_US.UTF-8 lsb_release -a", "r"), logFile, "Distribution info");
gatherInfo(popen("LANG=en_US.UTF-8 lscpu", "r"), logFile, "All CPU Info");
gatherInfo(popen("LANG=en_US.UTF-8 free -h | grep Mem | awk '{print $2}'", "r"), logFile, "Memory Size");
logFile << "Error: signal " << sig << ":\n";
for (size_t i = 0; i < size; i++) {
char **strings = backtrace_symbols(&array[i], 1);
if (strings != NULL && strings[0] != NULL) {
logFile << strings[0] << "\n";
} else {
logFile << "Failed to get symbol.\n";
}
free(strings);
}
logFile.close();
char openCmd[256];
snprintf(openCmd, sizeof(openCmd), "xdg-open %s", filename);
if (system(openCmd) == -1) {
perror("system");
}
fprintf(stderr, "Error: signal %d:\n", sig);
backtrace_symbols_fd(array, size, STDERR_FILENO);
exit(1);
}
int main(int argc, char *argv[])
{
// 崩溃处理
signal(SIGSEGV, crashHandler); // 注册SIGSEGV处理函数
// Get build time
static const QDate buildDate = QLocale(QLocale::English).toDate(QString(__DATE__).replace(" ", " 0"), "MMM dd yyyy");
static const QTime buildTime = QTime::fromString(__TIME__, "hh:mm:ss");
static const QString buildDateTime = buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString("hh:mm:ss");
buildDateTime = buildDate.toString("yyyy.MM.dd") + "-" + buildTime.toString("hh:mm:ss");
// NOTE: 提前设置组织名称和应用名称,避免配置文件位置错误
DApplication::setOrganizationName("spark-union");
@@ -31,78 +125,52 @@ int main(int argc, char *argv[])
// 初始化 config.ini 配置文件
Utils::initConfig();
// 回传版本信息,不涉及个人隐私
DataCollectorAndUploader uploader;
QObject::connect(&uploader, &DataCollectorAndUploader::uploadSuccessful, [](){
qDebug() << "Data uploaded successfully";
});
QObject::connect(&uploader, &DataCollectorAndUploader::uploadFailed, [](QString error){
qDebug() << "Upload failed with error: " << error;
});
uploader.collectAndUploadData();
// Set display backend
Utils::setQPAPlatform();
// 龙芯机器配置,使得 DApplication 能正确加载 QTWEBENGINE
// 龙芯机器配置,使得 DApplication 能正确加载 QtWebEngine
qputenv("DTK_FORCE_RASTER_WIDGETS", "FALSE");
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls");
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security");
// 浏览器开启 GPU 支持
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=UseModernMediaControls");
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-web-security");
// 全平台软件渲染Webkit
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-gpu");
#ifdef __sw_64__
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--no-sandbox");
#elif __aarch64__
if (!Utils::isWayland()) {
QString env = QString::fromUtf8(qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
env = env.trimmed();
/**
* NOTE: 参考帮助手册代码对于部分ARM CPU 设备,
* --disable-gpu 保证 X11 环境下网页正常显示
* --single-process 避免 X11 环境下 QtWebEngine 崩溃(可选)
*/
env += " --disable-gpu";
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", env.trimmed().toUtf8());
QSurfaceFormat format;
format.setRenderableType(QSurfaceFormat::OpenGLES);
QSurfaceFormat::setDefaultFormat(format);
/**
* NOTE: https://zhuanlan.zhihu.com/p/550285855
* 避免 X11 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁
*/
qputenv("QMLSCENE_DEVICE", "softwarecontext");
DApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
}
#endif
#ifdef __loongarch__
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--no-sandbox");
#endif
/**
* FIXME: 对于麒麟 CPU 设备,调用 QtWebEngine 会导致客户端崩溃;
* 暂时不对 CPU 进行判断,对 wayland 环境下统一处理
* NOTE: https://zhuanlan.zhihu.com/p/550285855
* 避免 wayland 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁
*/
if (Utils::isWayland()) {
QString env = QString::fromUtf8(qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
env = env.trimmed();
/**
* NOTE: 参考帮助手册代码,对于麒麟 CPU 设备,
* --disable-gpu 保证 wayland 环境下网页正常显示
* --single-process 避免 wayland 环境下 QtWebEngine 崩溃(可选)
*/
env += " --disable-gpu";
qputenv("QTWEBENGINE_CHROMIUM_FLAGS", env.trimmed().toUtf8());
/**
* NOTE: 参考帮助手册代码,对于麒麟 CPU 设备,
* 避免 wayland 环境下 QtWebEngine 崩溃
*/
qputenv("QT_WAYLAND_SHELL_INTEGRATION", "kwayland-shell");
QSurfaceFormat format;
format.setRenderableType(QSurfaceFormat::OpenGLES);
QSurfaceFormat::setDefaultFormat(format);
/**
* NOTE: https://zhuanlan.zhihu.com/p/550285855
* 避免 wayland 环境下从 QtWebEngine 后退回到 QWidget 时黑屏闪烁
*/
qputenv("QMLSCENE_DEVICE", "softwarecontext");
DApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
}
DApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // 开启 Hidpi 支持
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
// 开启 Hidpi 支持
qDebug() << "Enable HiDPI Support.";
DApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
DApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
// 强制使用 DTK 平台插件
QVector<char *> fakeArgs(argc + 2);
@@ -129,8 +197,6 @@ int main(int argc, char *argv[])
MainWindow w;
a.setMainWindow(&w); // 设置应用程序主窗口,用于初始化关于对话框
// 让打开时界面显示在正中
Dtk::Widget::moveToCenter(&w);
if (argc > 1)
{

233
src/mainwindow-dtk.cpp Normal file → Executable file
View File

@@ -14,15 +14,15 @@
#include <QDesktopServices>
#include <QAbstractButton>
#include <QtConcurrent>
#include <unistd.h>
#include <backend/ThemeChecker.h>
#define AppPageApplist 0
#define AppPageSearchlist 1
#define AppPageAppdetail 2
#define AppPageSettings 3
#define WaylandSearchCenter 1
#define OtherSearchCenter 2
#define RightSearchSpace 1
#define UploadServerUrl "https://upload.deepinos.org/"
#define UploadServerUrl "https://upload.deepinos.org.cn/"
MainWindow::MainWindow(QWidget *parent)
: BaseWidgetOpacity(parent)
@@ -32,14 +32,12 @@ MainWindow::MainWindow(QWidget *parent)
{
ui->setupUi(this);
initTmpDir();
initUI();
initConnections();
ui->appintopage->setDownloadWidget(downloadlistwidget);
initTmpDir();
emit DGuiApplicationHelper::instance()->themeTypeChanged(DGuiApplicationHelper::instance()->themeType());
ui->appintopage->setDownloadWidget(downloadlistwidget);
}
MainWindow::~MainWindow()
@@ -47,6 +45,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()
@@ -120,8 +123,29 @@ void MainWindow::closeEvent(QCloseEvent *event)
BaseWidgetOpacity::closeEvent(event);
}
void MainWindow::changeEvent(QEvent *event)
{
if (event->type() != QEvent::StyleChange) {
return BaseWidgetOpacity::changeEvent(event);
}
BaseWidgetOpacity::changeEvent(event);
downloadButton->setFixedSize(searchEdit->sizeHint().height(), searchEdit->sizeHint().height());
}
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);
@@ -132,52 +156,59 @@ void MainWindow::initUI()
updateUi(0);
initTrayIcon();
refreshTheme(ThemeChecker::instance()->useDarkTheme());
}
void MainWindow::initTitleBar()
{
ui->titlebar->setIcon(QIcon::fromTheme("spark-store"));
ui->titlebar->setBackgroundTransparent(true);
// ui->titlebar->setSwitchThemeMenuVisible(false); // 去除 dtk 标题栏主题切换菜单
// 初始化标题栏控件
DLabel *title = new DLabel(ui->titlebar);
title->setText(tr("Spark Store"));
DLabel *titleLabel = new DLabel(ui->titlebar);
titleLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
titleLabel->setText(tr("Spark Store"));
backButton = new DPushButton(ui->titlebar);
searchEdit = new DSearchEdit(ui->titlebar);
searchEdit->setPlaceholderText(tr("Search or enter spk://"));
searchEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
searchEdit->lineEdit()->setFixedWidth(350);
downloadButton = new ProgressButton(ui->titlebar);
downloadButton->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
downloadButton->setDownloadListWidget(downloadlistwidget);
downloadButton->setFocusPolicy(Qt::FocusPolicy::ClickFocus);
downloadButton->setFixedSize(searchEdit->sizeHint().height(), searchEdit->sizeHint().height());
downloadlistwidget->setFocusProxy(downloadButton);
QWidget *w_titlebar = new QWidget(ui->titlebar);
QHBoxLayout *ly_titlebar = new QHBoxLayout(w_titlebar);
ly_titlebar->addWidget(title);
ly_titlebar->addWidget(backButton);
// Check wayland configs
QSettings config(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation) + "/config.ini", QSettings::IniFormat);
if (!config.value("runtime/isDDE").toBool() && config.value("runtime/useWayland").toBool())
{
// Wayland 搜索栏居中
ly_titlebar->addStretch(WaylandSearchCenter);
}
else
{
// dwayland dxcb 搜索栏顶部右侧居中
ly_titlebar->addStretch(OtherSearchCenter);
}
ly_titlebar->addWidget(searchEdit);
ly_titlebar->addWidget(downloadButton);
ly_titlebar->addStretch(RightSearchSpace);
ui->titlebar->setCustomWidget(w_titlebar);
QWidget *customWidget = new QWidget(ui->titlebar);
customWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
ui->titlebar->setCustomWidget(customWidget);
QHBoxLayout *customWidgetLayout = new QHBoxLayout(customWidget);
customWidgetLayout->setContentsMargins(8, 0, 0, 0);
customWidgetLayout->setSpacing(0);
customWidgetLayout->addWidget(titleLabel, 0, Qt::AlignLeft);
customWidgetLayout->addSpacing(8);
customWidgetLayout->addWidget(backButton, 0, Qt::AlignLeft);
QWidget *centralWidget = new QWidget(customWidget);
centralWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
customWidgetLayout->addWidget(centralWidget, 1, Qt::AlignHCenter);
QHBoxLayout *centralLayout = new QHBoxLayout(centralWidget);
centralLayout->setContentsMargins(20, 0, 10, 0);
centralLayout->setSpacing(0);
centralLayout->addWidget(searchEdit, 0, Qt::AlignHCenter);
centralLayout->addSpacing(10);
centralLayout->addWidget(downloadButton, 0, Qt::AlignHCenter);
initTitleBarMenu();
backButton->hide();
backButton->setDisabled(true);
downloadlistwidget->hide();
}
@@ -266,57 +297,61 @@ void MainWindow::initTrayIcon()
trayIcon->show();
}
void MainWindow::refreshTheme(bool isDarkMode)
{
// 使用isDarkMode变量来判断是否是深色模式
if (isDarkMode) {
//深色模式
setMaskColor(QColor("#2a2b2b"));
backButton->setIcon(QIcon(":/icon/dark/back.svg"));
downloadButton->setIcon(":/icon/dark/download.svg");
downloadButton->setBackgroundColor(QColor("#444444"));
downloadButton->setColor(QColor("#66CCFF"));
ui->pushButton_14->setIcon(QIcon(":/icon/dark/update.svg"));
for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) {
ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/dark/leftbutton_" + QString::number(i) + ".svg"));
if (QLocale::system().name() == "zh_CN") {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\
QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;}\
QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;}");
} else {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\
QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\
QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}");
}
}
} else {
//亮色模式
setMaskColor(QColor("#f3f7f8"));
backButton->setIcon(QIcon(":/icon/light/back.svg"));
downloadButton->setBackgroundColor(QColor("#e3e4e4"));
downloadButton->setColor(QColor("#66CCFF"));
downloadButton->setIcon(":/icon/light/download.svg");
ui->pushButton_14->setIcon(QIcon(":/icon/light/update.svg"));
for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) {
ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/light/leftbutton_" + QString::number(i) + ".svg"));
if (QLocale::system().name() == "zh_CN") {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\
QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;}\
QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;}");
} else {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\
QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\
QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}");
}
}
}
ui->pushButton_14->setStyleSheet(ui->pushButton_4->styleSheet());
ui->applistpage->setTheme(isDarkMode);
ui->applistpage_1->setTheme(isDarkMode);
ui->appintopage->setTheme(isDarkMode);
ui->settingspage->setTheme(isDarkMode);
}
void MainWindow::initConnections()
{
// 主题切换
connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](DGuiApplicationHelper::ColorType themeType)
{
if (themeType == DGuiApplicationHelper::DarkType) {
//深色模式
setMaskColor(QColor("#2a2b2b"));
backButton->setIcon(QIcon(":/icon/dark/back.svg"));
downloadButton->setIcon(":/icon/dark/download.svg");
downloadButton->setBackgroundColor(QColor("#444444"));
downloadButton->setColor(QColor("#66CCFF"));
ui->pushButton_14->setIcon(QIcon(":/icon/dark/update.svg"));
for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) {
ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/dark/leftbutton_" + QString::number(i) + ".svg"));
if (QLocale::system().name() == "zh_CN") {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\
QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;}\
QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;}");
} else {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\
QPushButton:hover{background-color:#7a7a7a;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\
QPushButton:checked{background-color:#6e6e6e;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}");
}
}
} else {
//亮色模式
setMaskColor(QColor("#f3f7f8"));
backButton->setIcon(QIcon(":/icon/light/back.svg"));
downloadButton->setBackgroundColor(QColor("#e3e4e4"));
downloadButton->setColor(QColor("#66CCFF"));
downloadButton->setIcon(":/icon/light/download.svg");
ui->pushButton_14->setIcon(QIcon(":/icon/light/update.svg"));
for (int i = 0; i < ui->buttonGroup->buttons().size(); i++) {
ui->buttonGroup->buttons()[i]->setIcon(QIcon(":/icon/light/leftbutton_" + QString::number(i) + ".svg"));
if (QLocale::system().name() == "zh_CN") {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;}\
QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;}\
QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;}");
} else {
ui->buttonGroup->buttons()[i]->setStyleSheet("QPushButton{background-color:transparent;text-align: left; padding-left: 15px;}\
QPushButton:hover{background-color:#eAeAeA;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}\
QPushButton:checked{background-color:#dddddd;border:0px;border-radius:8px;text-align: left; padding-left: 15px;}");
}
}
}
ui->pushButton_14->setStyleSheet(ui->pushButton_4->styleSheet());
ui->applistpage->setTheme(themeType == DGuiApplicationHelper::DarkType);
ui->applistpage_1->setTheme(themeType == DGuiApplicationHelper::DarkType);
ui->appintopage->setTheme(themeType == DGuiApplicationHelper::DarkType);
ui->settingspage->setTheme(themeType == DGuiApplicationHelper::DarkType); });
connect(ThemeChecker::instance(), &ThemeChecker::themeChanged, this, &MainWindow::refreshTheme);
// appintopage按下下载按钮时标题栏下载列表按钮抖动
connect(ui->appintopage, &AppIntoPage::clickedDownloadBtn, [=]()
@@ -329,9 +364,9 @@ void MainWindow::initConnections()
ui->stackedWidget->setCurrentIndex(pageHistory.at(pageHistory.count() - 2));
pageHistory.removeLast();
if (pageHistory.count() > 1) {
backButton->show();
backButton->setEnabled(true);
} else {
backButton->hide();
backButton->setDisabled(true);
} });
// 搜索事件
@@ -393,6 +428,28 @@ void MainWindow::initTmpDir()
// 新建临时文件夹
QDir dir;
dir.mkpath("/tmp/spark-store");
// 检查写入权限
QFileInfo info("/tmp/spark-store");
if (info.isWritable() == false)
{
QtConcurrent::run([=]
{
sleep(3);
auto upgradeP = new QProcess();
upgradeP->startDetached("zenity", QStringList() << "--warning"
<< "--text"
<< "用户未拥有 /tmp/spark-store 写入权限,星火商店会因此工作异常,请检查!"
<< "--title"
<< "权限受限提示"
<< "--width"
<< "360"
);
upgradeP->waitForStarted();
upgradeP->waitForFinished(30);
upgradeP->deleteLater(); });
}
}
void MainWindow::switchPage(int now) // 临时方案,回家后修改
@@ -400,11 +457,11 @@ void MainWindow::switchPage(int now) // 临时方案,回家后修改
qDebug() << pageHistory.count();
if (pageHistory.count() >= 1)
{
backButton->show();
backButton->setEnabled(true);
}
else
{
backButton->hide();
backButton->setDisabled(true);
}
ui->stackedWidget->setCurrentIndex(now);
ui->stackedWidget->currentWidget()->setFocus();
@@ -465,9 +522,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([=]

2
src/mainwindow-dtk.h Normal file → Executable file
View File

@@ -30,9 +30,11 @@ public:
void openUrl(const QString &url);
bool isCloseWindowAnimation();
Q_INVOKABLE void refreshTheme(bool isDarkMode);
protected:
void closeEvent(QCloseEvent *event) override;
void changeEvent(QEvent *event) override;
private:
void initUI();

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More