# Release 下载功能更新 ## 功能概述 根据用户需求,我们对 Release 下载功能进行了以下更新: ### 1. 下拉列表显示所有 Assets - 下拉列表现在显示 GitHub Release 页面的所有 Assets - 文件名与 GitHub Assets 的文件名完全一致 - 不再区分平台,显示所有可用文件 ### 2. 详细文件信息 下拉列表中每个文件显示: - **文件名**: 与 GitHub Assets 完全一致 - **文件大小**: 格式化显示(B, KB, MB, GB) - **更新时间**: 相对时间显示(如 "2 days ago") - **下载次数**: 显示该文件的下载统计 ### 3. 点击下载 - 整个文件名区域都可以点击 - 点击后直接触发下载,打开新标签页 - 支持鼠标悬停效果,提升用户体验 ### 4. 自定义过滤器系统 替换原有的平台筛选,改为更灵活的自定义过滤器: #### 过滤器管理 - **新建过滤器**: 用户可以创建自定义过滤器 - **编辑过滤器**: 修改现有过滤器的名称和关键词 - **删除过滤器**: 删除不需要的过滤器 - **弹窗操作**: 新增和修改都使用弹窗方式 #### 过滤器配置 - **过滤器名称**: 如 "macOS", "Windows", "Linux" 等 - **关键词匹配**: 支持多个关键词,如: - macOS 过滤器: ["mac", "dmg", "darwin"] - Windows 过滤器: ["win", "exe", "msi"] - Linux 过滤器: ["linux", "deb", "rpm", "appimage"] #### 过滤器使用 - 点击过滤器名称激活/取消激活 - 激活后,Release 列表只显示包含匹配关键词的文件 - 支持多个过滤器同时激活 - 提供清除所有筛选的快捷操作 ## 技术实现 ### 新增组件 1. **FilterModal**: 过滤器编辑弹窗 2. **AssetFilterManager**: 过滤器管理组件 3. **Modal**: 通用弹窗组件 ### 数据结构更新 ```typescript interface AssetFilter { id: string; name: string; keywords: string[]; } ``` ### Store 更新 - 添加 `assetFilters` 状态 - 添加过滤器的增删改查操作 - 持久化过滤器配置 ### UI 改进 - 移除平台图标显示 - 优化下拉列表布局 - 增强文件信息展示 - 改进交互体验 ## 使用示例 ### 创建 macOS 过滤器 1. 点击"新建过滤器"按钮 2. 输入名称: "macOS" 3. 添加关键词: "mac", "dmg", "darwin" 4. 点击"创建" ### 使用过滤器 1. 在过滤器列表中点击"macOS" 2. Release 列表自动筛选,只显示包含 macOS 相关文件的 Release 3. 点击文件名直接下载 这个更新让用户能够更灵活地筛选和下载所需的文件,提供了更好的用户体验。