# 网抑云音乐 **Repository Path**: PhiloKun/AlgerMusic ## Basic Information - **Project Name**: 网抑云音乐 - **Description**: 网抑云音乐 AlgerMusic - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-07 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![网抑云音乐界面预览](./doc/网抑云音乐.png) > 网抑云音乐 - 现代化的桌面音乐播放器,支持网易云、B站等多平台,界面美观,功能丰富。 # Alger-music-player 项目分析 ## 1. 项目概览 - **项目名称**: Alger-music-player - **版本**: 1.0.0 - **描述**: 网抑云音乐 - **作者**: Alger - **主页/仓库**: [https://github.com/algerkong/AlgerMusicPlayer](https://github.com/algerkong/AlgerMusicPlayer) ## 2. 技术栈 本项目主要是一个基于 Electron 构建的桌面音乐播放器应用,其前端界面采用 Vue 3 和 Vite 进行开发。 - **桌面应用框架**: Electron - **前端框架**: Vue 3 - **构建工具**: Vite (通过 `electron-vite` 集成) - **UI 组件库**: Naive UI - **状态管理**: Pinia - **路由管理**: Vue Router - **国际化**: Vue I18n - **CSS 框架**: Tailwind CSS - **CSS 预处理器**: Sass - **API 交互**: Axios - **本地存储**: electron-store - **音乐元数据**: music-metadata, node-id3 - **网络音乐**: @unblockneteasemusic/server, netease-cloud-music-api-alger - **字体列表**: font-list - **其他**: `lodash`, `marked`, `howler`, `tinycolor2`, `tunajs` ## 3. 项目结构 项目结构清晰,遵循 Electron 应用的常见模式,将主进程、预加载脚本和渲染进程代码分离。 ``` AlgerMusicPlayer .husky/ // Git 钩子配置 android/ // 似乎是 Android 相关,待进一步探究 resources/ // 静态资源文件 html/ // HTML 资源 icons/ // 应用图标 src/ i18n/ // 国际化配置和语言文件 lang/ en-US/ // 英文语言包 zh-CN/ // 中文语言包 main/ // Electron 主进程代码 modules/ // 主进程模块 preload/ // Electron 预加载脚本 renderer/ // Electron 渲染进程 (前端 Vue 应用) api/ // API 请求封装 assets/ // 静态资源 (CSS, 图标等) css/ icon/ components/ // 可复用组件 common/ // 通用组件 songItemCom/ // 歌曲列表项组件 home/ // 首页相关组件 lyric/ // 歌词相关组件 player/ // 播放器组件 settings/ // 设置相关组件 const/ // 常量定义 directive/ // Vue 自定义指令 loading/ // 加载指令 hooks/ // Vue Composition API Hooks layout/ // 布局组件 components/ router/ // Vue Router 配置 services/ // 服务层 (业务逻辑) store/ // Pinia 状态管理 modules/ // 模块化 Store type/ // 类型定义 types/ // 类型定义 (重复?需要确认) utils/ // 工具函数 views/ // 页面视图组件 artist/ // 艺术家页面 bilibili/ // Bilibili 相关页面 download/ // 下载页面 favorite/ // 收藏页面 history/ // 历史记录页面 historyAndFavorite/ // 历史和收藏结合页面 home/ // 主页 list/ // 列表页面 login/ // 登录页面 lyric/ // 歌词显示页面 music/ // 音乐详情页面 mv/ // MV 页面 playlist/ // 歌单页面 search/ // 搜索页面 set/ // 设置页面 toplist/ // 排行榜页面 user/ // 用户页面 types/ // 全局类型定义 .env.development // 开发环境变量 .eslintignore // ESLint 忽略文件 .eslintrc.cjs // ESLint 配置 .gitignore // Git 忽略文件 .prettierignore // Prettier 忽略文件 .prettierrc.yaml // Prettier 配置 auto-imports.d.ts // 自动导入声明文件 components.d.ts // 组件自动导入声明文件 dev-app-update.yml // Electron 自动更新配置 electron-builder.yml // Electron Builder 配置 electron.vite.config.ts // Electron Vite 配置 package-lock.json // 包锁定文件 package.json // 项目元数据和脚本 postcss.config.js // PostCSS 配置 tailwind.config.js // Tailwind CSS 配置 tsconfig.json // TypeScript 主配置 tsconfig.node.json // TypeScript Node 配置 tsconfig.web.json // TypeScript Web 配置 (可能用于渲染进程) ``` ## 4. 核心功能 - 音乐播放(本地/在线) - 歌词显示 - 收藏、历史、歌单管理 - 搜索、下载、用户系统 - 国际化(中英文) - 网易云/Bilibili等平台集成 - 自动更新 ## 5. 开发与构建 - **安装依赖**: `npm install` - **开发模式**: `npm run dev` - **构建 Windows 安装包**: - `npm run build:win` - 生成的安装包在 `dist/` 目录下,文件名如 `网抑云音乐-1.0.0-win-x64.exe` - **构建免安装版**: `npm run build:unpack`,输出在 `dist/Alger-music-player-1.0.0-x64.nsis/` ### 打包常见问题与解决方案 - **Electron 下载慢/失败**: - 设置淘宝镜像: ``` set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm run build:win ``` - **Windows 权限问题(符号链接/解压失败)**: - 用"以管理员身份运行"命令行,或开启 Windows 开发者模式。 - **未生成安装包**: - 检查 `dist/` 目录,确认有 `.exe` 安装包。 - 若只有 `.nsis` 文件夹,说明只生成了解包版,需用 `build:win`。 ## 6. 注意事项 - 本项目主要为 Electron 桌面应用,Web 版本需单独适配。 - 打包时如遇网络或权限问题,请参考上方解决方案。 - `package.json` 的 `name` 字段必须为英文、数字、-、_,不能用中文。 - `productName` 字段可用中文,显示在应用和安装包上。 --- 如有更多问题,欢迎在仓库 issue 区反馈!