mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 09:20:18 +08:00
64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
# 星火应用商店与 APM 应用商店技术分析报告 (2026-03-10)
|
|
|
|
## 1. 项目背景
|
|
本项目包含两个主要仓库:
|
|
1. **星火应用商店 (Spark Store)**: 原始的 Qt/C++ 实现,定位于 Deepin/UOS 等操作系统的应用商店。
|
|
2. **星火 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`
|
|
- **下载服务器**: `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 张)。
|
|
|
|
---
|
|
|
|
|
|
|