diff --git a/CHANGELOG.md b/CHANGELOG.md index 7290e23..4a8b33d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,38 +1,48 @@ # 更新日志 -## v4.9.0 +## v5.0.0 ### ✨ 新功能 -- 重新设计pc端歌词页面Mini播放栏 -- 添加清除歌曲自定义解析功能 -- 添加Cookie登录功能及自动获取等相关管理设置 ([16aeaf2](https://github.com/algerkong/AlgerMusicPlayer/commit/16aeaf2)) - 支持通过Cookie方式登录,提供更便捷的登录体验 -- 添加UID登录功能,优化登录流程 ([daa8e75](https://github.com/algerkong/AlgerMusicPlayer/commit/daa8e75)) - 新增用户ID直接登录方式 -- 添加主题根据系统切换功能 ([d5ba218](https://github.com/algerkong/AlgerMusicPlayer/commit/d5ba218)) - 支持跟随系统主题自动切换明暗模式 -- 桌面歌词添加主题颜色面板组件 ([d1f5c8a](https://github.com/algerkong/AlgerMusicPlayer/commit/d1f5c8a)) - 为桌面歌词提供丰富的主题颜色自定义选项 -- 增强播放速度控制,添加滑块控制并改善播放安全性 ([8fb382e](https://github.com/algerkong/AlgerMusicPlayer/commit/8fb382e)) 感谢[Qumo](https://github.com/Hellodwadawd12312312)的pr -- 添加日语和韩语国际化支持,并优化语言相关代码 ([3062156](https://github.com/algerkong/AlgerMusicPlayer/commit/3062156)) -- 添加繁体中文本地化支持 ([2cc03cb](https://github.com/algerkong/AlgerMusicPlayer/commit/2cc03cb)) 感谢[dongguacute](https://github.com/dongguacute)的pr -- 播放速度设置弹窗标题添加速度显示 ([aeb7f03](https://github.com/algerkong/AlgerMusicPlayer/commit/aeb7f03)) +- LX Music 音源脚本导入 +- 逐字歌词,支持全屏歌词和桌面歌词同步显示 +- 心动模式播放 +- 移动设备整体页面风格和效果优化 +- 移动端添加平板模式设置 +- 歌词页面样式控制优化 支持背景、宽度、字体粗细等个性化设置 +- 历史日推查看 +- 播放记录热力图 +- 历史记录支持本地和云端记录 +- 用户页面收藏专辑展示 +- 添加 GPU 硬件加速设置 +- 菜单展开状态保存 - 感谢 [harenchi](https://github.com/souvenp) 的贡献 +- 搜索建议 - 感谢 [harenchi](https://github.com/souvenp) 的贡献 +- 歌词繁体中文翻译模块,集成 OpenCC 引擎 - 感谢 [Leko](https://github.com/lekoOwO) 的贡献 +- 自定义 API源 支持 [自定义源文档](https://github.com/algerkong/AlgerMusicPlayer/blob/main/docs/custom-api-readme.md) - 感谢 [harenchi](https://github.com/souvenp) 的贡献 ### 🐛 Bug 修复 -- 修复mac快捷键关闭窗口报错的问题 ([67ef4d7](https://github.com/algerkong/AlgerMusicPlayer/commit/67ef4d7)) -- 修复mini窗口恢复时导致的应用窗口变小问题 ([9b3019d](https://github.com/algerkong/AlgerMusicPlayer/commit/9b3019d)) -- 修复歌单列表页面翻页类型问题 ([e489ab4](https://github.com/algerkong/AlgerMusicPlayer/commit/e489ab4)) -- 修复歌曲初始化问题 ([b7a58a0](https://github.com/algerkong/AlgerMusicPlayer/commit/b7a58a0)) -- 修复音量调整不同步的问题 ([679089e](https://github.com/algerkong/AlgerMusicPlayer/commit/679089e)) -- 修复菜单显示不全的问题,添加滚动条 ([09ccd9f](https://github.com/algerkong/AlgerMusicPlayer/commit/09ccd9f)) +- 修复随机播放顺序异常 +- 修复音源解析错误处理 +- 修复 Mini 播放栏主题颜色问题 +- 修复桌面歌词透明模式标题栏显示 +- 修复逐字歌词字间距 +- 修复远程控制设置无法保存 +- 修复下载无损格式返回 HiRes 音质 - 感谢 [harenchi](https://github.com/souvenp) 的贡献 +- 兼容 pnpm 包管理器 - 感谢 [Leko](https://github.com/lekoOwO) 的贡献 ### 🎨 优化 -- 更新 eslint 和 prettier 配置,格式化代码 ([c08c2cb](https://github.com/algerkong/AlgerMusicPlayer/commit/c08c2cb)) -- 优化类型处理和登录功能 ([3ba85f3](https://github.com/algerkong/AlgerMusicPlayer/commit/3ba85f3)) -- 优化Cookie相关文字描述 ([1597fbf](https://github.com/algerkong/AlgerMusicPlayer/commit/1597fbf)) +- 音源解析缓存 +- 完善多语言国际化 +- 优化播放检测和错误处理 +- FLAC 元数据和封面图片处理 - 感谢 [harenchi](https://github.com/souvenp) 的贡献 +- 日推不感兴趣调用官方接口 - 感谢 [harenchi](https://github.com/souvenp) 的贡献 +- 代码提交流程优化,添加 lint-staged ## 赞赏支持☕️ -[赞赏列表](http://donate.alger.fun/) +[赞赏列表](https://donate.alger.fun/donate) diff --git a/custom-api-readme.md b/docs/custom-api-readme.md similarity index 56% rename from custom-api-readme.md rename to docs/custom-api-readme.md index b5bae12..e6ee22b 100644 --- a/custom-api-readme.md +++ b/docs/custom-api-readme.md @@ -13,21 +13,21 @@ 导入的配置文件必须是一个合法的 JSON 文件,并包含以下字段: -| 字段名 | 类型 | 是否必须 | 描述 | -| ---------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | `string` | 是 | API 名称,将显示在应用的 UI 界面上。 | -| `apiUrl` | `string` | 是 | API 的基础请求地址。 | -| `method` | `string` | 否 | HTTP 请求方法。可以是 `"GET"` 或 `"POST"`。**如果省略,默认为 "GET"**。 | -| `params` | `object` | 是 | 请求时需要发送的参数。对于 `GET` 请求,它们会作为查询字符串;对于 `POST` 请求,它们会作为请求体。 | -| `qualityMapping` | `object` | 否 | **音质映射表**。用于将应用内部的音质值(如 `"lossless"`)翻译成你的 API 需要的特定值。如果省略,则直接使用应用内部值。 | -| `responseUrlPath`| `string` | 是 | **URL提取路径**。用于从 API 返回的 JSON 响应中找到最终可播放的音乐链接。支持点 `.` 和方括号 `[]` 语法来访问嵌套对象和数组。 | +| 字段名 | 类型 | 是否必须 | 描述 | +| ----------------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------- | +| `name` | `string` | 是 | API 名称,将显示在应用的 UI 界面上。 | +| `apiUrl` | `string` | 是 | API 的基础请求地址。 | +| `method` | `string` | 否 | HTTP 请求方法。可以是 `"GET"` 或 `"POST"`。**如果省略,默认为 "GET"**。 | +| `params` | `object` | 是 | 请求时需要发送的参数。对于 `GET` 请求,它们会作为查询字符串;对于 `POST` 请求,它们会作为请求体。 | +| `qualityMapping` | `object` | 否 | **音质映射表**。用于将应用内部的音质值(如 `"lossless"`)翻译成你的 API 需要的特定值。如果省略,则直接使用应用内部值。 | +| `responseUrlPath` | `string` | 是 | **URL提取路径**。用于从 API 返回的 JSON 响应中找到最终可播放的音乐链接。支持点 `.` 和方括号 `[]` 语法来访问嵌套对象和数组。 | #### 占位符 在 `params` 对象的值中,你可以使用以下占位符,程序在请求时会自动替换它们: -* `{songId}`: 将被替换为当前歌曲的 ID。 -* `{quality}`: 将被替换为当前用户设置的音质字符串 (例如, `"higher"`, `"lossless"`)。 +- `{songId}`: 将被替换为当前歌曲的 ID。 +- `{quality}`: 将被替换为当前用户设置的音质字符串 (例如, `"higher"`, `"lossless"`)。 #### 音质值列表 @@ -45,18 +45,18 @@ ```json { - "name": "Example API", - "apiUrl": "https://api.example.com/music", - "method": "GET", - "params": { - "song_id": "{songId}", - "bitrate": "{quality}" - }, - "qualityMapping": { - "higher": "128000", - "exhigh": "320000", - "lossless": "999000" - }, - "responseUrlPath": "data.play_url" + "name": "Example API", + "apiUrl": "https://api.example.com/music", + "method": "GET", + "params": { + "song_id": "{songId}", + "bitrate": "{quality}" + }, + "qualityMapping": { + "higher": "128000", + "exhigh": "320000", + "lossless": "999000" + }, + "responseUrlPath": "data.play_url" } -``` \ No newline at end of file +``` diff --git a/docs/image6.png b/docs/image6.png index b1ed718..b35dbb2 100644 Binary files a/docs/image6.png and b/docs/image6.png differ diff --git a/package.json b/package.json index dd5c460..bfa5e61 100644 --- a/package.json +++ b/package.json @@ -149,6 +149,12 @@ "gatekeeperAssess": false, "entitlements": "build/entitlements.mac.plist", "entitlementsInherit": "build/entitlements.mac.plist", + "extendInfo": { + "NSMicrophoneUsageDescription": "AlgerMusicPlayer needs access to the microphone for audio visualization.", + "NSCameraUsageDescription": "Application requests access to the device's camera.", + "NSDocumentsFolderUsageDescription": "Application requests access to the user's Documents folder.", + "NSDownloadsFolderUsageDescription": "Application requests access to the user's Downloads folder." + }, "notarize": false, "identity": null, "type": "distribution",