CeruMusic 插件开发文档

概述

本文档介绍如何为 CeruMusic 开发音乐源插件。CeruMusic 插件是运行在沙箱环境中的 JavaScript 模块,用于从各种音乐平台获取音乐资源。

插件结构

基本结构

每个 CeruMusic 插件必须导出以下三个核心组件:

完整示例

详细说明

1. pluginInfo 对象

插件的基本信息,必须包含以下字段:

2. sources 对象

定义插件支持的音源,键为音源标识,值为音源配置:

3. musicUrl 函数

获取音乐播放链接的核心函数:

musicInfo 对象结构

可用 API

cerumusic 对象

插件运行时可以访问 cerumusic 全局对象:

request 函数

用于发起 HTTP 请求:

参数说明:

响应格式:

utils 对象

提供实用工具函数:

错误处理

最佳实践

  1. 总是检查 API 响应状态

  2. 提供有意义的错误信息

  3. 处理网络异常

常见错误类型

事件驱动插件

对于使用 lx.on(EVENT_NAMES.request) 模式的插件,可以使用转换器:

转换后的插件将兼容 CeruMusicPluginHost。

调试技巧

1. 使用 console.log

2. 检查请求和响应

3. 测试插件

创建测试文件:

发布和分发

文件结构

版本管理

遵循语义化版本规范:

示例插件

查看项目中的示例:

常见问题

Q: 如何处理需要登录的 API?

A: 在请求头中添加认证信息,或使用 Cookie。

Q: 如何处理加密的 API 响应?

A: 在插件中实现解密逻辑,使用 utils 对象提供的工具函数。

Q: 插件可以访问文件系统吗?

A: 不可以,插件运行在受限的沙箱环境中,无法直接访问文件系统。

Q: 如何优化插件性能?

A: 减少不必要的网络请求,使用适当的缓存策略,避免阻塞操作。

贡献指南

  1. Fork 项目仓库
  2. 创建功能分支
  3. 编写插件代码和测试
  4. 提交 Pull Request
  5. 等待代码审查

欢迎贡献新的音源插件!