mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-04-26 01:10:16 +08:00
212 lines
6.1 KiB
Markdown
212 lines
6.1 KiB
Markdown
# APM 应用商店
|
||
|
||
<div align="center">
|
||
|
||
<img src="public/amber-pm-logo.png" alt="APM Logo" width="200" height="200" />
|
||
|
||
**星火 APM 琥珀软件包管理器 - 桌面应用商店**
|
||
|
||
基于 Electron + Vue 3 + Vite 构建的现代化应用商店客户端
|
||
|
||
[](https://github.com/elysia-best/apm-app-store/actions/workflows/build.yml)
|
||
[](LICENSE)
|
||
[](https://github.com/elysia-best/apm-app-store)
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
## TODO
|
||
|
||
- [ ] 完善项目文档
|
||
- [x] 可以展示应用列表及其详细信息
|
||
- [ ] 实现应用下载&下载列表管理
|
||
- [x] 实现应用安装&重试安装
|
||
- [x] 实现应用卸载
|
||
- [x] 实现应用更新
|
||
- [x] 显示本地已安装app
|
||
- [x] 支持显示本地是否已经安装
|
||
- [ ] 本地应用列表区分依赖和用户安装的包(或者干脆不显示依赖包)
|
||
- [ ] 安装/卸载时UI提示(重要)
|
||
- [x] 实现应用搜索
|
||
- [ ] 切换分类时默认不应用搜索,需按下回车键才应用搜索
|
||
- [x] 修改UI,使其更美观(考虑换成如tailwindcss等库)
|
||
- [x] 实现URL Shceme协议支持
|
||
- [ ] 动画性能问题
|
||
|
||
|
||
## 📦 关于 APM
|
||
|
||
**APM (AmberPM)** 是基于 `fuse-overlayfs` + `dpkg` + `AmberCE` 的容器化兼容层,为多发行版提供轻量级的应用运行方案。
|
||
|
||
### 核心特性
|
||
|
||
✅ **多发行版支持** - 在 Arch Linux、Fedora、银河麒麟、统信 UOS 等主流发行版上运行星火商店应用
|
||
⚡ **轻量兼容层** - 利用 overlayfs 技术实现极速启动,无需完整容器
|
||
🎮 **NVIDIA 加速** - 自动获取主机 GPU 驱动,支持硬件加速
|
||
🔧 **开发者友好** - 兼容 dpkg,提供完整的打包工具链
|
||
🌐 **现代化界面** - 基于 Electron + Vue 3 的流畅用户体验
|
||
|
||
---
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 安装应用商店
|
||
|
||
**⚠️提示:目前客户端处于开发阶段,可能会出现一些问题,请谨慎使用并及时反馈。**
|
||
|
||
1. 从 Release 下载最新版本的应用商店客户端。
|
||
2. 下载 apm 包管理器
|
||
3. 首先安装包管理器,然后安装应用商店
|
||
|
||
---
|
||
|
||
## 💻 开发指南
|
||
|
||
### 环境要求
|
||
|
||
- Node.js >= 20
|
||
|
||
### 本地开发
|
||
|
||
```bash
|
||
# 克隆项目
|
||
git clone https://github.com/elysia-best/apm-app-store.git
|
||
|
||
# 进入项目目录
|
||
cd apm-app-store
|
||
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 启动开发服务器
|
||
npm run dev
|
||
```
|
||
|
||
### 构建打包
|
||
|
||
```bash
|
||
# 构建生产版本
|
||
npm run build
|
||
|
||
# 仅打包deb
|
||
npm run build:deb
|
||
|
||
# 仅打包rpm
|
||
npm run build:rpm
|
||
```
|
||
|
||
---
|
||
|
||
## 📂 项目结构
|
||
|
||
```
|
||
apm-app-store/
|
||
├── electron/ # Electron 主进程
|
||
│ ├── main/
|
||
│ │ ├── backend/ # 后端逻辑 (安装管理器)
|
||
│ │ ├── deeplink.ts # Deep Link 协议支持
|
||
│ │ ├── handle-url-scheme.ts # URL Scheme 处理器
|
||
│ │ └── index.ts # 主进程入口
|
||
│ └── preload/
|
||
│ └── index.ts # 预加载脚本
|
||
├── src/ # Vue 渲染进程
|
||
│ ├── 3rdparty/ # 第三方依赖
|
||
│ ├── assets/ # 静态资源 (CSS/Images)
|
||
│ ├── components/ # Vue 组件
|
||
│ │ ├── AppCard.vue # 应用卡片
|
||
│ │ ├── AppDetailModal.vue # 应用详情/安装弹窗
|
||
│ │ ├── AppGrid.vue # 应用列表网格
|
||
│ │ ├── AppHeader.vue # 顶部导航与搜索
|
||
│ │ ├── AppSidebar.vue # 侧边栏分类导航
|
||
│ │ ├── DownloadDetail.vue # 下载任务详情
|
||
│ │ ├── DownloadQueue.vue # 下载队列浮窗
|
||
│ │ ├── InstalledAppsModal.vue # 已安装应用管理
|
||
│ │ ├── ScreenPreview.vue # 截图预览
|
||
│ │ ├── ThemeToggle.vue # 主题切换
|
||
│ │ ├── TopActions.vue # 顶部操作栏
|
||
│ │ └── UpdateAppsModal.vue # 应用更新弹窗
|
||
│ ├── global/ # 全局配置与状态
|
||
│ │ ├── downloadStatus.ts # 下载状态管理
|
||
│ │ ├── storeConfig.ts # 商店配置 API
|
||
│ │ └── typedefinition.ts # 类型定义
|
||
│ ├── modeuls/ # 业务逻辑模块
|
||
│ │ └── processInstall.ts # 安装/卸载/更新逻辑
|
||
│ ├── App.vue # 根组件 (含 Deep Link 监听)
|
||
│ └── main.ts # 入口文件
|
||
├── extras/ # 额外资源 (Shell脚本/策略文件)
|
||
├── public/ # 公共资源
|
||
├── scripts/ # 维护脚本
|
||
├── electron-builder.yml # 打包配置
|
||
├── vite.config.ts # Vite 配置
|
||
└── package.json # 项目依赖
|
||
```
|
||
|
||
---
|
||
|
||
## 🎨 主要功能
|
||
|
||
### 应用浏览与搜索
|
||
- 分类浏览应用
|
||
- 实时搜索过滤
|
||
- 应用详情查看
|
||
- 截图预览
|
||
|
||
### 下载管理
|
||
- 下载队列管理
|
||
- 实时进度显示
|
||
- 暂停/继续/取消
|
||
- 下载日志查看
|
||
|
||
### 主题切换
|
||
- 明暗主题自动切换
|
||
- 本地偏好保存
|
||
|
||
### 协议支持
|
||
- `apmstore://` 自定义协议
|
||
- 一键安装/启动应用
|
||
|
||
---
|
||
|
||
## 🔗 相关链接
|
||
|
||
- 📖 [APM 项目文档](https://gitee.com/spark-store-project/AmberPM)
|
||
- 💾 [Gitee 仓库](https://gitee.com/spark-store-project/apm-app-store)
|
||
- 🐛 [问题反馈](https://gitee.com/spark-store-project/apm-app-store/issues)
|
||
- 📦 [打包示例](https://gitee.com/spark-store-project/AmberPM/tree/main/Packaging-demo)
|
||
|
||
---
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
- **Electron** - 跨平台桌面应用框架
|
||
- **Vue 3** - 渐进式 JavaScript 框架
|
||
- **Vite** - 下一代前端构建工具
|
||
- **TypeScript** - JavaScript 的超集
|
||
- **Axios** - HTTP 客户端
|
||
|
||
---
|
||
|
||
## 📄 开源协议
|
||
|
||
本项目采用 [MIT](LICENSE) 协议开源。
|
||
|
||
---
|
||
|
||
## 🙏 致谢
|
||
|
||
- [Electron](https://www.electronjs.org/)
|
||
- [Vue.js](https://vuejs.org/)
|
||
- [Vite](https://vitejs.dev/)
|
||
- [星火应用商店](https://www.spark-app.store/)
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
|
||
**© 2026 APM / AmberPM | The Spark Project**
|
||
|
||
Made with ❤️ by the Spark Store Team
|
||
|
||
</div>
|