Files
spark-store/README.md
2026-02-15 00:49:49 +08:00

197 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# APM 应用商店
<div align="center">
<img src="icons/amber-pm-logo.png" alt="APM Logo" width="200" height="200" />
**星火 APM 琥珀软件包管理器 - 桌面应用商店**
基于 Electron + Vue 3 + Vite 构建的现代化应用商店客户端
[![GitHub Build](https://github.com/elysia-best/apm-app-store/actions/workflows/build.yml/badge.svg)](https://github.com/elysia-best/apm-app-store/actions/workflows/build.yml)
[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
[![Platform](https://img.shields.io/badge/platform-Linux-orange)](https://github.com/elysia-best/apm-app-store)
</div>
---
<div align="center">
<img src="./galleries/image.png" alt="APM Screenshot" width="90%" />
</div>
## 📦 关于 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 # 顶部操作栏
│ │ ├── UninstallConfirmModal.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 客户端
---
## 📄 开源协议
本项目采用 [MulanPSL-2.0](LICENSE.md) 协议开源。
---
## 🙏 致谢
- [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>