diff --git a/LICENSE b/LICENSE index 32b8e08..b17ac7d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,204 @@ -MIT License + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2025 时迁酱 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2025 时迁酱 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md index 7416062..9f8c47a 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ -# Ceru Music +# Ceru Music(澜音) -一个跨平台的音乐播放器应用,支持多来源音乐数据获取与播放。 + + +一个跨平台的音乐播放器应用,支持基于合规插件获取公开音乐信息与播放功能。 ## 项目简介 -Ceru Music 是基于 Electron 和 Vue 开发的跨平台桌面音乐播放器,支持从多个音乐平台获取歌曲信息并播放。该项目结合了现代前端技术和桌面应用开发,提供了流畅的用户体验和灵活的音乐数据源支持。 +Ceru Music 是基于 Electron 和 Vue 开发的跨平台桌面音乐播放器工具,**仅提供插件运行框架与播放功能**,不直接存储、提供任何音乐源文件。用户需通过自行选择、安装合规插件获取音乐相关数据,项目旨在为开发者提供桌面应用技术实践与学习案例,为用户提供合规的音乐播放工具框架。 + +image-20250827175023917image-20250827175109430 ## 技术栈 @@ -13,26 +17,35 @@ Ceru Music 是基于 Electron 和 Vue 开发的跨平台桌面音乐播放器, - **TypeScript**:增强代码可维护性和类型安全 - **Pinia**:状态管理工具 - **Vite**:快速的前端构建工具 -- **Meting API**:作为备用音乐数据源 +- **CeruPlugins**:音乐插件运行环境(仅提供框架,不包含默认插件) +- **AMLL**:音乐生态辅助模块(仅提供功能接口,不关联具体音乐数据源) ## 主要功能 -- 支持从多个音乐平台搜索和播放歌曲 -- 获取歌词和专辑信息 + + +- 提供插件加载与管理功能,支持通过合规插件获取公开音乐信息 +- 支持通过插件获取歌词、专辑封面等公开元数据 - 支持虚拟滚动列表,优化大量数据渲染性能 -- 本地数据存储与播放列表管理 +- 本地播放列表管理(仅存储用户手动创建的列表结构,不包含音乐文件) +- **提示**:本地数据仅保存在用户设备本地,未进行云端备份,用户需自行备份以防止数据丢失 - 精美的用户界面与动画效果 +- **插件生态框架**(插件需用户自行获取并确保合规性) ## 安装与使用 ### 推荐开发环境 + + - **IDE**: VS Code 或 WebStorm -- **Node.js 版本**: 推荐使用最新稳定版 -- **包管理器**: yarn +- **Node.js 版本**: 22 及以上 +- **包管理器**: **yarn** ### 项目设置 + + 1. 安装依赖: ```bash @@ -46,46 +59,115 @@ Ceru Music 是基于 Electron 和 Vue 开发的跨平台桌面音乐播放器, ``` 3. 构建应用: + ```bash yarn build ``` ### 平台构建指令 -- **Windows**: + + +- Windows ```bash yarn build:win ``` -- **macOS**: +- macOS ```bash yarn build:mac ``` -- **Linux**: +- Linux + ```bash yarn build:linux ``` + + +> 提示:构建后的应用仅包含播放器框架,需用户自行配置合规插件方可获取音乐数据。 + ## 文档与资源 -- [API 接口文档](docs/api.md):详细说明了支持的音乐平台和请求格式。 -- [产品设计文档](docs/design.md):涵盖项目架构、核心功能设计和开发规范。 +- [产品设计文档](https://www.doubao.com/thread/docs/design.md):涵盖项目架构、核心功能设计和开发规范(不含任何音乐数据源信息)。 +- [插件开发文档](https://www.doubao.com/thread/docs/CeruMusic插件开发文档.md):仅提供插件开发技术规范,**明确要求插件开发者需遵守数据来源平台的用户协议与版权法**,禁止开发、传播获取非公开数据的插件。 ## 开源许可 -本项目遵循 MIT 许可协议。详情请参阅 [LICENSE](LICENSE) 文件。 +本项目源代码遵循 **Apache License 2.0**,仅授权用户对项目框架进行学习、修改与二次开发,不包含任何音乐数据相关授权。详情请参阅 [LICENSE](./LICENSE) 文件,使用前请务必阅读许可条款。 ## 贡献指南 -欢迎贡献代码和反馈建议!请遵循 [Git 提交规范](docs/design.md#git提交规范) 并确保代码符合项目风格指南。 +欢迎开发者贡献代码与反馈建议,贡献内容需符合以下要求: -## 更新日志 - -请参阅 [更新日志](docs/api.md#更新日志) 了解最新功能和改进。 +1. 仅涉及播放器框架功能优化、bug 修复、文档完善,不包含任何音乐数据源相关代码。 +2. 遵循 [Git 提交规范](https://www.doubao.com/thread/docs/design.md#git提交规范) 并确保代码符合项目风格指南。 +3. 贡献的代码需无第三方版权纠纷,且不违反开源许可协议。 ## 联系方式 -如有问题或合作意向,请通过 Gitee 私信联系项目维护者。 +如有技术问题或合作意向(仅限技术交流),请通过 Gitee 私信联系项目维护者。 + +## 项目开发者 + +- **时迁酱**:产品总体设计与开发 + + head.jpg (940×940) + +- **无聊的霜霜**:首页设计&Ai助手 + + image-20250827181604432 + +- **Star**:**插件管理**相关功能&部分接口封装 + + image-20250827181535681 + +**Tips**: 排名不分先后 + +# 法律声明与免责条款 + +**重要提示:使用本项目前,请务必仔细阅读本条款,使用本项目即视为你已充分理解并同意本条款全部内容。** + +### 一、定义约定 + +- “Apache License 2.0”:指 Ceru Music(澜音)桌面播放器框架及源代码,不包含任何第三方插件或音乐数据。 +- “**用户**”:指下载、安装、使用本项目的个人或组织。 +- “**合规插件**”:指符合数据来源平台用户协议、不侵犯第三方版权、不获取非公开数据的插件。 +- “**版权内容**”:指包括但不限于音乐文件、歌词、专辑封面、艺人信息等受著作权法保护的内容。 + +### 二、数据与内容责任 + +1. 本项目**不直接获取、存储、传输任何音乐数据或版权内容**,仅提供插件运行框架。用户通过插件获取的所有数据,其合法性、准确性由插件提供者及用户**自行负责**,本项目不承担任何责任。 +2. 若用户使用的插件存在获取非公开数据、侵犯第三方版权等违规行为,相关法律责任由用户及插件提供者承担,与本项目无关。 +3. 本项目使用的字体、图片等素材,均来自开源社区或已获得合法授权,若存在侵权请联系项目维护者立即移除,本项目将积极配合处理。 + +### 三、版权合规要求 + +1. 用户承诺:使用本项目时,仅通过合规插件获取音乐相关信息,且获取、使用版权内容的行为符合**《中华人民共和国著作权法》**及相关法律法规,不侵犯**任何第三方**合法权益。 +2. 用户需知晓:任何未经授权下载、传播、使用受版权保护的音乐文件的行为,均可能构成侵权,需自行承担法律后果。 +3. 本项目倡导 “尊重版权、支持正版”,提醒用户通过官方音乐平台获取授权音乐服务。 + +### 四、免责声明 + +1. 因用户使用非合规插件、违反法律法规或第三方协议导致的任何法律责任(包括但不限于侵权赔偿、行政处罚),均由用户自行承担,本项目不承担任何直接、间接、连带或衍生责任。 +2. 因本项目框架本身的 **bug** 导致的用户设备故障、数据丢失,本项目仅承担在合理范围内的技术修复责任,不承担由此产生的间接损失(如商誉损失、业务中断损失等)。 +3. 本项目为开源学习项目,不提供商业服务,对用户使用本项目的效果不做任何明示或暗示的保证。 + +### 五、使用限制 + +1. 本项目仅允许用于**非商业、纯技术学习目的**,禁止用于任何商业运营、盈利活动,禁止修改后用于侵犯第三方权益的场景。 +2. 禁止在违反当地法律法规、本声明或第三方协议的前提下使用本项目,若用户所在地区禁止此类工具的使用,应立即停止使用。 +3. 禁止将本项目源代码或构建后的应用,与违规插件捆绑传播,禁止利用本项目从事任何违法违规活动。 + +### 六、其他 + +1. 本声明的效力、解释及适用,均适用中华人民共和国法律(不含港澳台地区法律)。 +2. 若用户与本项目维护者就本声明产生争议,应首先通过友好协商解决;协商不成的,任何一方均有权向本项目维护者所在地有管辖权的人民法院提起诉讼。 + +## 赞助 + +若您认可本项目的技术价值,欢迎通过以下方式支持开发者(仅用于项目技术维护与迭代): +赞助方式1赞助方式2 diff --git a/assets/head.jpg b/assets/head.jpg new file mode 100644 index 0000000..c15d562 Binary files /dev/null and b/assets/head.jpg differ diff --git a/assets/image-20250827175023917.png b/assets/image-20250827175023917.png new file mode 100644 index 0000000..8ef7603 Binary files /dev/null and b/assets/image-20250827175023917.png differ diff --git a/assets/image-20250827175109430.png b/assets/image-20250827175109430.png new file mode 100644 index 0000000..f38dbb4 Binary files /dev/null and b/assets/image-20250827175109430.png differ diff --git a/assets/image-20250827175356006.png b/assets/image-20250827175356006.png new file mode 100644 index 0000000..253d76e Binary files /dev/null and b/assets/image-20250827175356006.png differ diff --git a/assets/image-20250827175547444.png b/assets/image-20250827175547444.png new file mode 100644 index 0000000..56bb0d8 Binary files /dev/null and b/assets/image-20250827175547444.png differ diff --git a/assets/image-20250827181535681.png b/assets/image-20250827181535681.png new file mode 100644 index 0000000..31d91dd Binary files /dev/null and b/assets/image-20250827181535681.png differ diff --git a/assets/image-20250827181604432.png b/assets/image-20250827181604432.png new file mode 100644 index 0000000..befe040 Binary files /dev/null and b/assets/image-20250827181604432.png differ diff --git a/assets/image-20250827181634134.png b/assets/image-20250827181634134.png new file mode 100644 index 0000000..befe040 Binary files /dev/null and b/assets/image-20250827181634134.png differ