# APM 应用商店
APM Logo **星火 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)
--- ## TODO - [ ] 完善项目文档 - [x] 可以展示应用列表及其详细信息 - [ ] 实现应用下载&下载列表管理 - [x] 实现应用安装&重试安装 - [x] 实现应用卸载 - [x] 实现应用更新 - [x] 显示本地已安装app - [x] 支持显示本地是否已经安装 - [x] 本地应用列表区分依赖和用户安装的包(或者干脆不显示依赖包) - [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/) ---
**© 2026 APM / AmberPM | The Spark Project** Made with ❤️ by the Spark Store Team