refactor(daily-news): 重构每日资讯采集流程并添加用户交互确认
- 重构核心流程,添加用户交互确认步骤 - 新增微信公众号发布支持 - 更新文档和任务说明以反映新流程 - 优化各平台内容生成模板
This commit is contained in:
@@ -5,12 +5,13 @@ description: "采集星火项目每日资讯,检查GitHub新tags并生成文
|
||||
|
||||
# 每日资讯采集
|
||||
|
||||
根据优先级自动检查星火项目更新,生成待审核的每日资讯文档。
|
||||
根据优先级自动检查星火项目更新,生成待审核的每日资讯文档,并通过交互确认后发布到微信公众号。
|
||||
|
||||
## 核心流程
|
||||
|
||||
```
|
||||
1. 检查 GitHub Tags → 2. 分析变更 → 3. 生成文档 → 4. 更新记录
|
||||
1. 检查 GitHub Tags → 2. 分析变更 → 3. 生成草稿
|
||||
→ 4. 交互确认(用户审核)→ 5. 发布到微信 → 6. 更新记录
|
||||
```
|
||||
|
||||
## 内容优先级
|
||||
@@ -55,20 +56,55 @@ git tag -l | sort -V
|
||||
- Bug 修复 (Bug Fixes)
|
||||
- 性能优化 (Performance)
|
||||
|
||||
### Step 4: 生成文档
|
||||
### Step 4: 生成草稿文档
|
||||
|
||||
创建 `Daily_News/Pending/{日期}/{日期}_raw_news.md`
|
||||
|
||||
### Step 5: 更新记录
|
||||
### Step 5: 交互确认(关键步骤)
|
||||
|
||||
覆盖 `Daily_News/Tags_Record/apm-app-store_tags.txt`
|
||||
**必须向用户展示草稿内容并询问:**
|
||||
|
||||
1. 内容是否准确?
|
||||
2. 是否需要修改?
|
||||
3. 修改建议是什么?
|
||||
|
||||
**使用 AskUserQuestion 工具询问用户:**
|
||||
|
||||
- 问题1: 内容确认
|
||||
- 选项1: 确认无误,可继续
|
||||
- 选项2: 需要修改
|
||||
|
||||
- 问题2(如选修改): 具体修改内容
|
||||
- 让用户提供具体修改建议
|
||||
|
||||
**等待用户回复后再继续。**
|
||||
|
||||
### Step 6: 发布到微信公众号
|
||||
|
||||
**前提条件检查:**
|
||||
- 确认用户已配置微信公众号发布方式
|
||||
- 询问用户是否需要立即发布
|
||||
|
||||
**发布方式选项:**
|
||||
1. 提供草稿内容供用户手动复制发布
|
||||
2. 使用用户提供的 API/工具自动发布
|
||||
|
||||
**询问用户:**
|
||||
- 是否立即发布到微信公众号?
|
||||
- 发布方式选择(手动复制/自动发布)
|
||||
|
||||
### Step 7: 更新 Tags 记录
|
||||
|
||||
仅在用户确认内容无误后,更新 `Daily_News/Tags_Record/apm-app-store_tags.txt`
|
||||
|
||||
## 输出位置
|
||||
|
||||
- 原始文档:`Daily_News/Pending/YYYY-MM-DD/YYYY-MM-DD_raw_news.md`
|
||||
- 草稿文档:`Daily_News/Pending/YYYY-MM-DD/YYYY-MM-DD_raw_news.md`
|
||||
- Tags 记录:`Daily_News/Tags_Record/{repo}_tags.txt`
|
||||
- 审核后版本:`Daily_News/Reviewed/{WeChat,Xiaohongshu,Zhihu,Bilibili}/`
|
||||
|
||||
## 后续处理
|
||||
## 重要提醒
|
||||
|
||||
原始文档需人工审核,审核通过后改写为各平台版本。
|
||||
1. **Step 5 是必须步骤**,未获用户确认不得继续后续步骤
|
||||
2. 如用户要求修改,先修改文档再重新展示,确认无误后再继续
|
||||
3. 微信公众号发布需要用户授权确认
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 1. 概述与目标
|
||||
|
||||
本 Skill 旨在自动化采集星火项目每日资讯,按照优先级生成结构化文档,支持多平台发布。
|
||||
本 Skill 旨在自动化采集星火项目每日资讯,按照优先级生成结构化文档,支持多平台发布,并通过用户交互确认后发布到微信公众号。
|
||||
|
||||
## 2. 功能范围
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
- 对比本地记录,识别新版本
|
||||
- 分析 CHANGELOG/提交记录,提取更新内容
|
||||
- 按日期自动存档到 `Daily_News/Pending/`
|
||||
- **交互式用户确认**
|
||||
- **微信公众号发布支持**
|
||||
|
||||
### 2.2 内容优先级
|
||||
|
||||
@@ -52,9 +54,52 @@ Daily_News/
|
||||
- 审核清单
|
||||
- 各平台内容调整建议
|
||||
|
||||
## 5. 约束条件
|
||||
## 5. 工作流程
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────┐
|
||||
│ 1. 克隆/更新仓库到 ./repos/ │
|
||||
│ ↓ │
|
||||
│ 2. 检查 Git tags │
|
||||
│ ↓ │
|
||||
│ 3. 对比 Tags_Record/ 中的记录 │
|
||||
│ ↓ │
|
||||
│ 4. 如有新版本,生成 Pending/日期/ 草稿 │
|
||||
│ ↓ │
|
||||
│ 5. 【交互确认】展示草稿,等待用户审核 │
|
||||
│ ↓ │
|
||||
│ 6. 用户确认后,写入 Reviewed/{Platform}/ │
|
||||
│ ↓ │
|
||||
│ 7. 【可选】发布到微信公众号 │
|
||||
│ ↓ │
|
||||
│ 8. 更新 Tags_Record/ │
|
||||
└─────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 6. 交互确认要求
|
||||
|
||||
### 6.1 必须确认的内容
|
||||
|
||||
- 草稿内容是否准确
|
||||
- 是否需要修改
|
||||
- 修改建议是什么
|
||||
|
||||
### 6.2 确认后的操作
|
||||
|
||||
- 用户确认 → 写入 Reviewed/ 目录
|
||||
- 用户要求修改 → 修改后重新展示 → 再次确认
|
||||
|
||||
### 6.3 微信公众号发布
|
||||
|
||||
- 需要用户明确授权
|
||||
- 支持两种模式:
|
||||
1. 手动模式:提供内容供用户复制发布
|
||||
2. 自动模式:使用用户提供的 API/工具发布
|
||||
|
||||
## 7. 约束条件
|
||||
|
||||
- 首次使用需克隆仓库
|
||||
- tags 记录文件不可删除
|
||||
- 仅检测已配置仓库
|
||||
- 不自动发布,仅生成存档
|
||||
- **草稿必须经用户确认才能发布**
|
||||
- **微信公众号发布需要用户授权**
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Task 1: 检查 GitHub Tags
|
||||
|
||||
### 步骤
|
||||
1. 进入仓库目录 `../apm-app-store`
|
||||
1. 进入仓库目录 `./repos/apm-app-store`
|
||||
2. 执行 `git fetch --all --tags` 获取最新 tags
|
||||
3. 执行 `git tag -l | sort -V` 获取当前所有 tags
|
||||
4. 读取本地记录 `Daily_News/Tags_Record/apm-app-store_tags.txt`
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
---
|
||||
|
||||
## Task 3: 生成每日资讯文档
|
||||
## Task 3: 生成每日资讯草稿
|
||||
|
||||
### 步骤
|
||||
1. 创建目录 `Daily_News/Pending/{日期}/`
|
||||
@@ -44,7 +44,65 @@
|
||||
|
||||
---
|
||||
|
||||
## Task 4: 更新 Tags 记录
|
||||
## Task 4: 【交互】用户确认
|
||||
|
||||
### 步骤
|
||||
1. **展示草稿内容**给用户
|
||||
2. **询问用户**:
|
||||
- 内容是否准确?
|
||||
- 是否需要修改?
|
||||
- 修改建议是什么?
|
||||
3. **等待用户回复**
|
||||
4. 根据用户反馈:
|
||||
- 如果需要修改 → 修改文档 → 重新展示 → 再次确认
|
||||
- 如果确认无误 → 进入下一步
|
||||
|
||||
### 使用工具
|
||||
- `AskUserQuestion` 询问用户确认
|
||||
- 根据用户回复决定下一步
|
||||
|
||||
### 输出
|
||||
- 用户确认后的草稿文档
|
||||
- 或修改后的草稿文档(需再次确认)
|
||||
|
||||
---
|
||||
|
||||
## Task 5: 写入平台版本
|
||||
|
||||
### 步骤
|
||||
1. 确认用户内容无误后
|
||||
2. 改写为微信公众号版本 → `Reviewed/WeChat/`
|
||||
3. 改写为小红书版本 → `Reviewed/Xiaohongshu/`
|
||||
4. 改写为知乎版本 → `Reviewed/Zhihu/`
|
||||
5. 改写为B站版本 → `Reviewed/Bilibili/`
|
||||
|
||||
### 审核标准
|
||||
- [ ] 技术细节准确
|
||||
- [ ] 功能描述清晰
|
||||
- [ ] 语言风格符合平台调性
|
||||
|
||||
---
|
||||
|
||||
## Task 6: 【可选】发布到微信公众号
|
||||
|
||||
### 步骤
|
||||
1. 询问用户是否需要发布到微信公众号
|
||||
2. 如果需要:
|
||||
- 确认发布方式(手动复制/自动发布)
|
||||
- 提供内容供用户发布
|
||||
- 或使用用户提供的 API/工具自动发布
|
||||
|
||||
### 前提条件
|
||||
- 需要用户明确授权
|
||||
- 需要用户提供发布方式
|
||||
|
||||
### 输出
|
||||
- 发布内容准备就绪
|
||||
- 或已完成发布
|
||||
|
||||
---
|
||||
|
||||
## Task 7: 更新 Tags 记录
|
||||
|
||||
### 步骤
|
||||
1. 覆盖写入 `Daily_News/Tags_Record/apm-app-store_tags.txt`
|
||||
@@ -55,16 +113,8 @@
|
||||
|
||||
---
|
||||
|
||||
## Task 5: 人工审核后改写平台版本
|
||||
## 重要提醒
|
||||
|
||||
### 步骤
|
||||
1. 审核 `Pending/` 中的原始文档
|
||||
2. 改写为微信公众号版本 → `Reviewed/WeChat/`
|
||||
3. 改写为小红书版本 → `Reviewed/Xiaohongshu/`
|
||||
4. 改写为知乎版本 → `Reviewed/Zhihu/`
|
||||
5. 改写为B站版本 → `Reviewed/Bilibili/`
|
||||
|
||||
### 审核标准
|
||||
- [ ] 技术细节准确
|
||||
- [ ] 功能描述清晰
|
||||
- [ ] 语言风格符合平台调性
|
||||
1. **Task 4 是必须步骤**,未获用户确认不得继续后续步骤
|
||||
2. 如用户要求修改,先修改文档再重新展示,确认无误后再继续
|
||||
3. Task 6 需要用户明确授权才能执行
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 每日资讯草稿 - 2026-03-31
|
||||
|
||||
> 自动生成时间:2026-03-31 23:15:00
|
||||
> 自动生成时间:2026-03-31
|
||||
> 状态:待审核
|
||||
|
||||
---
|
||||
@@ -21,9 +21,13 @@
|
||||
**仓库**:https://github.com/shenmo7192/apm-app-store
|
||||
**技术栈**:Electron + Vue 3 + TypeScript
|
||||
|
||||
### 重大更新:从 v1.x 到 v5.x 架构升级
|
||||
### 重大更新:Electron 重构版本来袭
|
||||
|
||||
本次更新是 APM 应用商店的一次重大版本升级,从 v1.1.1 跨越到 v5.0.0-beta.1,带来了多项核心功能改进。
|
||||
星火应用商店 4.8.4 是 Qt 版本,本次 5.0.0-beta.1 是全新 Electron + Vue 3 重构版本。
|
||||
|
||||
技术演进路径:星火应用商店 Qt 版(4.8.4)→ APM 应用商店 Electron 版(1.0.2)→ 5.0.0-beta.1(版本号顺延 Qt 版)
|
||||
|
||||
本次更新带来了多项核心功能改进。
|
||||
|
||||
### 更新亮点
|
||||
|
||||
@@ -35,10 +39,11 @@
|
||||
|
||||
2. **应用商店过滤功能**
|
||||
- 新增来源标识显示
|
||||
- 支持按来源筛选应用
|
||||
- 支持按来源筛选应用(Spark / APM)
|
||||
|
||||
3. **Deep Link 协议支持**
|
||||
- 支持通过 `store://` 协议直接打开应用详情页
|
||||
- 支持通过 `spk://` 协议直接打开应用详情
|
||||
- 协议格式:`spk://search/pkgname` 或 `spk://store/category/pkgname`
|
||||
- 方便外部链接直接跳转
|
||||
|
||||
4. **安装 APM 体验优化**
|
||||
@@ -53,6 +58,9 @@
|
||||
- 优化应用详情页功能和代码格式
|
||||
- 提升信息展示效果
|
||||
|
||||
7. **首页内容模块**
|
||||
- 新增 HomeView 组件,展示首页内容和应用推荐
|
||||
|
||||
#### 🔧 功能修复
|
||||
|
||||
- 修复安装弹窗支持点击遮罩层关闭
|
||||
@@ -70,22 +78,20 @@
|
||||
|
||||
---
|
||||
|
||||
### 近期提交记录(从 v1.1.1 到 5.0.0-beta.1)
|
||||
### 近期提交记录(Electron 版从 1.0.2 到 5.0.0-beta.1)
|
||||
|
||||
```
|
||||
b836392 update:应用列表中,spark软件列表加入图标
|
||||
fdb5f4a update:apm管理改为应用管理
|
||||
5741037 feat(apm): 在安装和更新应用前检查并提示安装APM
|
||||
dd7e4ad beta3
|
||||
845904c build: 更新版本号至5.0.0beta2
|
||||
0dedd0f feat(组件): 添加虚拟滚动优化应用网格性能
|
||||
f382e6d feat(组件): 添加应用商店过滤功能并优化来源标识显示
|
||||
dd0a17d style(组件): 优化应用详情模态框按钮样式和布局
|
||||
cbea474 fix(InstalledAppsModal): 添加点击遮罩层关闭模态框功能
|
||||
29460e7 feat(组件): 添加搜索结果为空时的提示界面
|
||||
e7fb8e6 feat(应用详情): 增强应用详情页功能并优化代码格式
|
||||
94f4307 perf(安装日志): 优化安装日志处理性能
|
||||
a8d4623 chore: 更新版本号至5.0.0beta1
|
||||
2d02e2a fix(install-manager): 取消安装时删除下载目录
|
||||
ad55627 feat: 优化应用商店界面布局和交互体验
|
||||
5b2d96c feat: 实现搜索结果的分类计数功能
|
||||
3f9447d feat(deep-link): 支持通过 store 协议直接打开应用详情
|
||||
1e6e776 fix(install-manager): 改进已安装应用列表的解析逻辑
|
||||
7ff0792 feat: 添加 APM 应用管理功能并优化界面
|
||||
cd43f34 feat: 添加关于对话框并优化主题切换按钮样式
|
||||
...
|
||||
```
|
||||
|
||||
@@ -102,7 +108,7 @@ a8d4623 chore: 更新版本号至5.0.0beta1
|
||||
|
||||
| 平台 | 内容调整建议 |
|
||||
|------|-------------|
|
||||
| 微信公众号 | 偏重技术解读(虚拟滚动、Deep Link),强调性能优化 |
|
||||
| 微信公众号 | 偏重技术解读(Electron 重构、虚拟滚动、Deep Link),强调性能优化 |
|
||||
| 小红书 | 强调"流畅度飙升"、"功能更贴心"等用户体验 |
|
||||
| B站 | 玩梗向,"5.0 大版本更新"、"性能拉满" |
|
||||
| 知乎 | 深度分析 Electron + Vue 3 的技术演进 |
|
||||
|
||||
@@ -1,62 +1,17 @@
|
||||
【技术发布】⚡ APM 应用商店 5.0 来啦!
|
||||
【技术发布】✌️
|
||||
|
||||
前方高能!APM 应用商店 v5.0 正式发布!🎉
|
||||
星火应用商店 v5.0.0-beta.1 正式发布!🎉
|
||||
|
||||
这次更新有点猛,从 1.x 直接跳到 5.x
|
||||
各位彦祖们,让我给你们捋捋这次更新了什么 👇
|
||||
本次更新亮点:
|
||||
🔹 全新 Electron + Vue 3 重构,架构全面升级
|
||||
🔹 虚拟滚动优化,流畅度拉满
|
||||
🔹 支持 spk:// 协议一键直达应用详情
|
||||
🔹 来源筛选、搜索计数等贴心功能
|
||||
|
||||
---
|
||||
作为一个 Linux 用户,最让我惊喜的是虚拟滚动优化——万人同时刷列表都不带卡的(夸张了但真的很流畅)
|
||||
|
||||
**虚拟滚动 + 性能拉满**
|
||||
📥 下载体验:https://github.com/shenmo7192/apm-app-store/releases
|
||||
|
||||
应用网格重写!虚拟滚动技术上线!
|
||||
之前列表一长就卡的问题从此成为历史 🙌
|
||||
各位彦祖们,这个更新你们打几分?👀
|
||||
|
||||
---
|
||||
|
||||
**Deep Link 协议来了**
|
||||
|
||||
以后可以用 `store://` 协议直接打开应用详情了!
|
||||
脚本党狂喜!自动化程度直接拉满 🔗
|
||||
|
||||
---
|
||||
|
||||
**安装 APM 体验优化**
|
||||
|
||||
安装/更新应用前会检查 APM 是否安装
|
||||
没装?一键提示安装!
|
||||
这个细节优化真的好评 💯
|
||||
|
||||
---
|
||||
|
||||
**搜索增强**
|
||||
|
||||
搜索结果会显示分类计数了
|
||||
空结果也有友好提示
|
||||
懂的都懂,这个优化很贴心 👀
|
||||
|
||||
---
|
||||
|
||||
**一堆 Bug 修复**
|
||||
|
||||
- 弹窗终于可以点外面关了
|
||||
- 修复了下载重试的各种 bug
|
||||
- 修复了重复下载的问题
|
||||
|
||||
---
|
||||
|
||||
支持发行版:Arch / Fedora / 银河麒麟 / 统信 UOS / Debian / Ubuntu / deepin
|
||||
|
||||
wine 应用、安卓应用,一个都不能少 🍷📱
|
||||
|
||||
---
|
||||
|
||||
📥 GitHub:https://github.com/shenmo7192/apm-app-store
|
||||
|
||||
一键三连!评论区说说你们用什么发行版 👇
|
||||
|
||||
#Linux #开源 #APM #星火应用商店 #程序员 #技术发布 #5.0
|
||||
|
||||
---
|
||||
|
||||
悄悄说:5.0 正式版也在路上了,敬请期待 😏
|
||||
#Linux #开源 #程序员 #技术发布
|
||||
|
||||
@@ -1,85 +1,71 @@
|
||||
# 【版本更新】APM 应用商店 5.0.0-beta.1 正式发布
|
||||
【版本更新】星火应用商店 v5.0.0-beta.1 正式发布
|
||||
|
||||
各位开发者、用户朋友们:
|
||||
|
||||
APM 应用商店正式发布 5.0.0-beta.1 版本!这是一次从 v1.x 到 v5.x 的重大架构升级,带来了多项核心功能改进和性能优化。
|
||||
星火应用商店于 2026 年 3 月 31 日正式发布 v5.0.0-beta.1 版本,这是全新 Electron + Vue 3 重构版本,感谢大家一直以来的支持!
|
||||
|
||||
---
|
||||
### 📌 版本亮点
|
||||
|
||||
## 一、版本概述
|
||||
**1. 技术架构全面升级**
|
||||
|
||||
本次更新历时数月,团队对应用商店进行了全面重构优化。从界面交互到底层性能,均有显著提升。特别值得一提的是虚拟滚动技术的应用,让大型应用列表的浏览终于告别卡顿。
|
||||
本次更新完成了从 Qt 到 Electron + Vue 3 + TypeScript 的技术架构重构,标志着星火应用商店进入新的发展阶段。技术演进路径:Qt 版(4.8.4)→ Electron 版(1.0.2)→ 5.0.0-beta.1
|
||||
|
||||
---
|
||||
**2. 虚拟滚动优化应用网格性能**
|
||||
|
||||
## 二、核心更新
|
||||
使用虚拟滚动技术优化大型应用列表的渲染性能,解决滚动卡顿问题,流畅度大幅提升。
|
||||
|
||||
### 1. 虚拟滚动优化
|
||||
**3. Deep Link 协议支持**
|
||||
|
||||
应用网格采用虚拟滚动技术优化大型应用列表的渲染性能。用户滚动列表时,浏览器只渲染可见区域的元素,大幅降低 CPU 和内存占用。
|
||||
支持通过 `spk://` 协议直接打开应用详情:
|
||||
- 格式:`spk://search/pkgname` 或 `spk://store/category/pkgname`
|
||||
- 方便外部链接、脚本调用直接拉起应用详情页
|
||||
|
||||
**实测效果**:包含数百款应用的长列表滚动流畅度提升显著。
|
||||
**4. 应用商店过滤功能**
|
||||
|
||||
### 2. Deep Link 协议支持
|
||||
新增来源标识显示,支持按来源筛选应用(Spark / APM),快速定位目标应用。
|
||||
|
||||
新版支持通过 `store://` 协议直接打开应用详情页。外部链接、脚本调用均可直接拉起应用商店并定位到指定应用。
|
||||
**5. 搜索结果分类计数**
|
||||
|
||||
```bash
|
||||
# 示例
|
||||
store://app/detail/com.qq.office
|
||||
```
|
||||
显示搜索结果各分类的数量,一目了然。
|
||||
|
||||
### 3. 安装体验优化
|
||||
**6. 应用详情页增强**
|
||||
|
||||
优化应用详情页布局和交互体验,提升信息展示效果。
|
||||
|
||||
**7. 安装体验优化**
|
||||
|
||||
安装和更新应用前自动检查并提示安装 APM,简化用户操作流程。
|
||||
|
||||
### 🔧 问题修复
|
||||
|
||||
- 修复安装弹窗支持点击遮罩层关闭
|
||||
- 修复取消下载后无法重试的问题
|
||||
- 修复重复下载包时删除已有包的问题
|
||||
- 修复安装管理命令替换问题(ssaudit → ssinstall)
|
||||
- 修复已安装应用列表解析逻辑
|
||||
|
||||
### ⚡ 性能优化
|
||||
|
||||
- 安装和更新应用前自动检查 APM 是否已安装
|
||||
- 未安装时提示用户一键安装
|
||||
- 优化安装日志处理性能
|
||||
- 优化应用加载体验和界面样式
|
||||
- APM 应用管理界面不再随滚轮滚动
|
||||
|
||||
### 4. 搜索功能增强
|
||||
### 📥 更新方式
|
||||
|
||||
- 搜索结果分类计数显示
|
||||
- 空结果友好提示界面
|
||||
- 更精准的匹配算法
|
||||
- **星火应用商店**:直接更新
|
||||
- **GitHub 下载**:https://github.com/shenmo7192/apm-app-store/releases
|
||||
|
||||
### 🔄 兼容性说明
|
||||
|
||||
本版本支持以下操作系统:
|
||||
- Ubuntu 20.04+
|
||||
- Debian 10+
|
||||
- 其他主流 Linux 发行版
|
||||
|
||||
---
|
||||
|
||||
## 三、问题修复
|
||||
|
||||
本次更新还修复了以下问题:
|
||||
|
||||
- 安装弹窗支持点击遮罩层关闭
|
||||
- 取消下载后无法重试的问题
|
||||
- 重复下载包时未删除已有包的问题
|
||||
- 安装管理命令替换(ssaudit → ssinstall)
|
||||
- 下载重试后无日志输出问题
|
||||
|
||||
---
|
||||
|
||||
## 四、技术细节
|
||||
|
||||
本版本基于 **Electron + Vue 3 + TypeScript** 构建,核心改进包括:
|
||||
|
||||
- **虚拟滚动**:基于 `vue-virtual-scroller` 或自研方案
|
||||
- **Deep Link**:自定义 URL Scheme 处理
|
||||
- **性能优化**:批量处理、懒加载、防抖节流
|
||||
|
||||
---
|
||||
|
||||
## 五、获取与反馈
|
||||
|
||||
- **GitHub**:https://github.com/shenmo7192/apm-app-store
|
||||
- **官网**:https://amber-pm.spark-app.store/
|
||||
|
||||
欢迎通过 GitHub Issues 反馈问题!
|
||||
|
||||
---
|
||||
|
||||
**关于 APM 应用商店**
|
||||
|
||||
APM (AmberPM) 是基于 fuse-overlayfs + dpkg + AmberCE 的容器化兼容层,为多发行版提供轻量级的应用运行方案。支持 Arch Linux、Fedora、银河麒麟、统信 UOS 等主流发行版。
|
||||
|
||||
**关于星火应用商店**
|
||||
|
||||
星火应用商店是一个致力于改善 Linux 桌面应用生态的开源社区项目。"星星之火,可以燎原"——每一步改进,都是 Linux 生态的一束光。
|
||||
星火应用商店是一个致力于改善 Linux 桌面应用生态的开源社区项目。
|
||||
|
||||
点击在看,与星火一起成长 ✨
|
||||
|
||||
@@ -1,55 +1,21 @@
|
||||
🔥 APM 应用商店 5.0 来了!这波更新真的绝了✨
|
||||
🔥 Linux 用户看过来!星火应用商店 5.0 重磅更新!
|
||||
|
||||
姐妹们,APM 应用商店刚刚更新了 5.0.0-beta.1!
|
||||
姐妹们,发现一个 Linux 用户刚需神器!😤
|
||||
|
||||
作为一个 Linux 用户,我真的太难了😭
|
||||
之前软件列表一长就卡,用着太痛苦了
|
||||
以前每次在新电脑上装软件都要找半天,软件源兼容性也是个头疼的问题...
|
||||
|
||||
但是!这次更新直接解决了所有问题!👇
|
||||
但是!自从用了星火应用商店 5.0,我直接告别命令行恐惧症!🚀
|
||||
|
||||
## 5.0 版本亮点
|
||||
✨ 亮点速览:
|
||||
• 全新 Electron 重构,界面流畅度飙升 💯
|
||||
• 虚拟滚动技术,万人同时刷都不卡
|
||||
• 支持 `spk://` 协议一键直达应用详情
|
||||
• 来源筛选功能,Spark/APM 应用一目了然
|
||||
• 搜索结果分类计数,找应用快人一步
|
||||
|
||||
### 1️⃣ 流畅度飙升!
|
||||
虚拟滚动技术加持,应用列表再长都不卡
|
||||
之前滚动列表转圈圈的问题彻底没了!🚀
|
||||
👉 适用人群:Linux 新手、追求效率的开发者
|
||||
💻 支持平台:Ubuntu、Debian 等主流发行版
|
||||
|
||||
### 2️⃣ 搜索更好用了
|
||||
搜索结果会显示分类数量
|
||||
再也不用一个个翻了,找软件效率翻倍!🔍
|
||||
家人们谁懂啊,用过之后真的回不去了!😭
|
||||
|
||||
### 3️⃣ 安装 APM 更方便了
|
||||
安装软件前会自动检查 APM
|
||||
没安装会提示一键安装,小白友好!👍
|
||||
|
||||
### 4️⃣ 细节优化超多
|
||||
- 点击遮罩层就能关闭弹窗了
|
||||
- 修复了各种小问题
|
||||
- 界面样式也更好看了
|
||||
|
||||
---
|
||||
|
||||
## 支持这么多发行版!
|
||||
|
||||
• Arch Linux
|
||||
• Fedora
|
||||
• 银河麒麟
|
||||
• 统信 UOS
|
||||
• Debian / Ubuntu
|
||||
• deepin
|
||||
|
||||
wine 应用、安卓应用都能装!🍷
|
||||
|
||||
---
|
||||
|
||||
## 安装方法
|
||||
|
||||
直接去 GitHub 下载:
|
||||
https://github.com/shenmo7192/apm-app-store
|
||||
|
||||
或者通过星火应用商店更新!
|
||||
|
||||
---
|
||||
|
||||
你们的 Linux 系统用的是哪个发行版呀?评论区告诉我!👇
|
||||
|
||||
#Linux #开源 #星火应用商店 #APM #效率工具 #软件推荐 #技术分享 #5.0更新
|
||||
#Linux #开源 #星火应用商店 #技术分享 #效率神器
|
||||
|
||||
@@ -1,138 +1,86 @@
|
||||
# APM 应用商店 5.0 发布:虚拟滚动与 Deep Link 技术解析
|
||||
【技术解读】星火应用商店 5.0:Electron + Vue 3 重构带来的技术革新
|
||||
|
||||
## 前言
|
||||
## 背景
|
||||
|
||||
APM 应用商店近期发布了 5.0.0-beta.1 版本,这是一次重大的版本跨越。本文将从技术视角深度解析这次更新的核心改进。
|
||||
星火应用商店从 Qt 版本(4.8.4)演进到 Electron 版(1.0.2),再到最新的 5.0.0-beta.1,完成了技术架构的全面升级。本文深入分析本次重构的技术亮点。
|
||||
|
||||
---
|
||||
|
||||
## 一、版本背景
|
||||
### 一、虚拟滚动:大型列表渲染的性能优化
|
||||
|
||||
APM (AmberPM) 是星火应用商店的跨发行版包管理解决方案,基于 fuse-overlayfs + dpkg + AmberCE 容器化兼容层构建。
|
||||
**问题背景**:当应用列表达到数百甚至上千个应用时,传统的渲染方式会导致严重的性能问题。
|
||||
|
||||
**技术栈**:Electron + Vue 3 + TypeScript
|
||||
|
||||
**支持发行版**:Arch Linux、Fedora、银河麒麟、统信 UOS、Debian、Ubuntu、deepin 等
|
||||
|
||||
---
|
||||
|
||||
## 二、核心技术改进
|
||||
|
||||
### 2.1 虚拟滚动技术应用
|
||||
|
||||
**问题背景**
|
||||
|
||||
应用商店需要展示大量应用条目,传统渲染方式将所有元素挂载到 DOM,导致:
|
||||
- 首屏加载缓慢
|
||||
- 滚动时帧率下降
|
||||
- 内存占用持续增长
|
||||
|
||||
**解决方案**
|
||||
|
||||
引入虚拟滚动(Virtual Scrolling)技术,核心原理:
|
||||
|
||||
```
|
||||
┌─────────────────────────────────┐
|
||||
│ Viewport(可视区域) │
|
||||
│ ┌───────────────────────────┐ │
|
||||
│ │ Visible Items (N个) │ │
|
||||
│ └───────────────────────────┘ │
|
||||
│ │
|
||||
│ ← Buffer (缓冲区域) → │
|
||||
└─────────────────────────────────┘
|
||||
↓
|
||||
仅渲染可见区域 + 缓冲区域的元素
|
||||
```
|
||||
|
||||
关键实现:
|
||||
- 计算可视区域高度
|
||||
- 动态计算需渲染的起始/结束索引
|
||||
- 使用 `translateY` 定位已渲染元素
|
||||
- 滚动时更新可视区域,触发重新渲染
|
||||
|
||||
### 2.2 Deep Link 协议设计
|
||||
|
||||
**URL Scheme 设计**
|
||||
**解决方案**:采用虚拟滚动技术,只渲染可视区域内的应用卡片,结合懒加载机制,大幅降低 DOM 节点数量。
|
||||
|
||||
```typescript
|
||||
// store://app/detail/{package_name}
|
||||
const deepLinkPattern = /^store:\/\/app\/detail\/(.+)$/;
|
||||
// AppGrid.vue 中的搜索结果为空提示
|
||||
<div v-if="!loading && apps.length === 0" class="flex flex-col items-center...">
|
||||
<i class="fas fa-search text-3xl text-slate-400"></i>
|
||||
<h3>未找到应用</h3>
|
||||
</div>
|
||||
```
|
||||
|
||||
// 处理函数
|
||||
function handleDeepLink(url: string) {
|
||||
const match = url.match(deepLinkPattern);
|
||||
if (match) {
|
||||
const packageName = match[1];
|
||||
router.push(`/app/${packageName}`);
|
||||
}
|
||||
### 二、Deep Link 协议:外部跳转的桥梁
|
||||
|
||||
**技术实现**:新版支持 `spk://` 协议实现应用详情的直接跳转。
|
||||
|
||||
```typescript
|
||||
// electron/main/deeplink.ts
|
||||
const protocols = ["spk"];
|
||||
|
||||
if (action === "search") {
|
||||
// 格式: spk://search/pkgname
|
||||
const pkgname = url.pathname.split("/").filter(Boolean)[0];
|
||||
query.pkgname = pkgname;
|
||||
listeners.emit(action, query);
|
||||
}
|
||||
```
|
||||
|
||||
**Electron 中的处理**
|
||||
**协议格式**:
|
||||
- `spk://search/pkgname` - 搜索并打开应用详情
|
||||
- `spk://store/category/pkgname` - 兼容旧格式
|
||||
|
||||
### 三、来源筛选:多源应用管理
|
||||
|
||||
```typescript
|
||||
// main/handle-url-scheme.ts
|
||||
import { app } from 'electron';
|
||||
// AppDetailModal.vue 中的来源切换
|
||||
<button
|
||||
v-if="app.sparkApp"
|
||||
:class="viewingOrigin === 'spark' ? 'bg-orange-500 text-white' : 'bg-slate-100'"
|
||||
@click="viewingOrigin = 'spark'"
|
||||
>
|
||||
Spark
|
||||
</button>
|
||||
```
|
||||
|
||||
app.setAsDefaultProtocolClient('store');
|
||||
支持在同一界面切换 Spark 和 APM 两个来源的应用,简化多源管理流程。
|
||||
|
||||
app.on('open-url', (event, url) => {
|
||||
event.preventDefault();
|
||||
handleDeepLink(url);
|
||||
### 四、搜索结果分类计数
|
||||
|
||||
```typescript
|
||||
const categoryCounts = computed(() => {
|
||||
const counts: Record<string, number> = { all: apps.value.length };
|
||||
for (const app of filteredApps.value) {
|
||||
const cat = app.category || "other";
|
||||
counts[cat] = (counts[cat] || 0) + 1;
|
||||
}
|
||||
return counts;
|
||||
});
|
||||
```
|
||||
|
||||
### 2.3 安装体验优化
|
||||
### 五、总结
|
||||
|
||||
```typescript
|
||||
// 安装前检查 APM
|
||||
async function preInstallCheck() {
|
||||
const apmInstalled = await checkAPMInstalled();
|
||||
if (!apmInstalled) {
|
||||
showAPMInstallPrompt();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
```
|
||||
5.0.0-beta.1 版本是星火应用商店的重要里程碑,通过 Electron + Vue 3 重构,实现了:
|
||||
- 更好的开发体验(TypeScript、组件化)
|
||||
- 更好的用户体验(性能优化、交互增强)
|
||||
- 更好的扩展性(Deep Link、来源筛选)
|
||||
|
||||
---
|
||||
|
||||
## 三、其他改进
|
||||
**关于星火应用商店**
|
||||
|
||||
| 改进类型 | 内容 |
|
||||
|----------|------|
|
||||
| 搜索增强 | 分类计数、空结果提示 |
|
||||
| 界面优化 | 模态框交互、按钮样式 |
|
||||
| Bug 修复 | 下载重试、列表解析、命令替换 |
|
||||
星火应用商店是一个致力于改善 Linux 桌面应用生态的开源社区项目。
|
||||
|
||||
---
|
||||
欢迎大家体验交流!👀
|
||||
|
||||
## 四、版本变更统计
|
||||
|
||||
| 变更类型 | 数量 |
|
||||
|----------|------|
|
||||
| Features | 10+ |
|
||||
| Bug Fixes | 8+ |
|
||||
| Performance | 3+ |
|
||||
|
||||
---
|
||||
|
||||
## 五、获取与反馈
|
||||
|
||||
- **GitHub**:https://github.com/shenmo7192/apm-app-store
|
||||
- **官网**:https://amber-pm.spark-app.store/
|
||||
|
||||
---
|
||||
|
||||
## 结语
|
||||
|
||||
从 1.x 到 5.0 的跨越体现了项目在技术和体验上的持续投入。虚拟滚动和 Deep Link 的引入标志着应用商店向成熟商业产品迈进的决心。
|
||||
|
||||
期待 5.0 正式版的发布。
|
||||
|
||||
---
|
||||
|
||||
**相关链接**:
|
||||
- 星火应用商店:https://www.spark-app.store/
|
||||
- 星火社区:https://bbs.spark-app.store/
|
||||
#Linux #开源 #Electron #Vue3 #TypeScript
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
5.0.0beta1
|
||||
v1.0.2
|
||||
v1.0.3
|
||||
v1.0.3-beta.1
|
||||
v1.0.4
|
||||
v1.0.4-beta.0
|
||||
v1.0.4-beta.1
|
||||
5.0.0beta1
|
||||
|
||||
Reference in New Issue
Block a user