mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 01:10:16 +08:00
2.2 KiB
2.2 KiB
星火应用商店与 APM 应用商店技术分析报告 (2026-03-10)
1. 项目背景
本项目包含两个主要仓库:
- 星火应用商店 (Spark Store): 原始的 Qt/C++ 实现,定位于 Deepin/UOS 等操作系统的应用商店。
- 星火 APM 应用商店 (AmberPM): 基于 Electron + Vue 3 的现代实现,作为
apm-app-store上游的 fork。它通过fuse-overlayfs和AmberCE提供容器化的应用兼容层。
3. 服务器路径与下载安装逻辑
3.1 星火应用商店 (Spark Store)
- 服务器基地址:
https://d.spark-app.store/ - 应用列表获取:
{SOURCE_URL}/{ARCH}/{CATEGORY}/applist.json- 例如:
https://d.spark-app.store//aarch64-store/tools/applist.json
- 例如:
- 架构路径:
- x86:
store或amd64-store - arm:
aarch64-store
- x86:
- 下载服务器:
https://d.spark-app.store/ - 下载工具: 自带
aptss(基于wget/aria2c)。 - 安装逻辑: 要脚本位于
tool/aptss和tool/ssinstall。
3.2 APM 应用商店 (AmberPM)
- 服务器基地址:
https://d.spark-app.store/ - 下载机制: Metalink + Aria2c
- 第一步:从
{BASE_URL}/{ARCH}/{CATEGORY}/{PKGNAME}/{FILENAME}.metalink获取 Metalink 文件。 - 第二步:使用
aria2c解析 Metalink 并下载分块内容。
- 第一步:从
- 安装工具:
apm(Amber Package Manager)- 安装命令:
apm install -y <pkgname> - 安装本地包:
apm ssaudit <deb_path> - 查看已安装:
apm list --installed
- 安装命令:
- 运行环境: 使用
host-spawn和apm-launcher在容器化兼容层中启动应用。
4. 程序员开发指南
API 端点
Spark Store
- 分类列表:
https://d.spark-app.store/store/categories.json - 应用列表:
https://d.spark-app.store/store/{category}/applist.json
APM (AmberPM)
- 分类列表:
https://d.spark-app.store/amd64-apm/categories.json - 应用列表:
https://d.spark-app.store/amd64-apm/{category}/applist.json
接口对接规范
- 统一使用
/{arch}/{category}/applist.json获取目录。 - 详情信息需解析
/{arch}/{category}/{pkgname}/app.json。 - 图片资源路径:
/{arch}/{category}/{pkgname}/screen_1.png(最多支持 5 张)。