MoeKoe Music

MoeKoe Music Extension

MoeKoe Music 浏览器插件版,基于 MoeKoeMusic Web 构建,并在浏览器扩展内完成 API 路由兼容。

Manifest V3
Vue
Vite
License

🌎 GitHub仓库

特性

快速开始

环境要求

安装依赖

git submodule update --init --recursive
npm install
npm run install:app

npm run install:app 会分别安装 MoeKoeMusicMoeKoeMusic/api 的依赖。安装后建议检查子模块工作区,避免把上游 lockfile 的非预期变化提交进去。

构建扩展

npm run build

构建产物会输出到:

dist/extension

安装到浏览器

  1. 打开 chrome://extensionsedge://extensions
  2. 启用“开发者模式”。
  3. 点击“加载已解压的扩展程序”。
  4. 选择本项目下的 dist/extension 目录。

不要加载源码目录 extension,否则浏览器会提示清单或背景脚本加载失败。

API 运行方式

相较于 MoeKoe Music Web版本,该插件版不会让用户填写 API 地址。MoeKoeMusic 前端仍然按照自己的 HTTP 路由发起请求,构建时会把 Axios 请求适配到扩展内部消息通道。

请求流程如下:

MoeKoeMusic Web
  -> extension/app/api-adapter.js
  -> extension/api/service-worker.cjs
  -> extension/api/generated/modules.cjs
  -> MoeKoeMusic/api/module/*.js
  -> KuGou 相关接口

extension/api/generated/modules.cjs 是生成文件,由 scripts/generate-extension-api-entry.mjs 扫描 MoeKoeMusic/api/module 后生成。新增或更新 API 模块后,重新运行下面任一命令即可:

npm run generate:api
npm run build

项目结构

.
├── MoeKoeMusic/                         # 上游 MoeKoeMusic 子模块
│   └── api/                             # 上游 API 子模块
├── extension/
│   ├── app/
│   │   ├── api-adapter.js               # Web 端 Axios 适配器
│   │   └── locale-init.js               # 外置语言初始化脚本
│   ├── api/
│   │   ├── generated/modules.cjs        # API 路由映射生成文件
│   │   ├── axios-fetch.cjs              # 浏览器 fetch 版 Axios 兼容层
│   │   ├── service-worker.cjs           # 扩展后台逻辑
│   │   └── url.cjs                      # url 模块兼容层
│   ├── manifest.json                    # 扩展清单
│   └── vite.extension.config.mjs        # 扩展构建配置
├── scripts/
│   ├── build-extension.mjs              # 扩展构建脚本
│   └── generate-extension-api-entry.mjs # API 映射生成脚本
└── dist/extension                       # 构建后的扩展目录

技术栈

技术 用途
Manifest V3 浏览器扩展运行环境
Vue 3 MoeKoeMusic Web 页面
Vite Web 页面构建
esbuild Service Worker 打包
Chrome Extensions API 窗口打开、消息通信、存储
KuGouMusicApi 上游 API 模块来源

相关项目

免责声明

本项目仅用于学习与技术研究。项目中的音乐数据、歌词、封面等内容版权归原版权方所有,请勿将本项目用于商业用途或违反相关服务条款的场景。使用本项目产生的任何风险由使用者自行承担。

License

本项目沿用上游 MoeKoeMusic 的开源协议,详见 MoeKoeMusic/LICENSE

著作権表示

著者: MoeJue

リンク: https://ja.moejue.cn/posts/339/

ライセンス: クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンスに基づいてライセンスされています。

検索を開始

キーワードを入力して記事を検索

↑↓
ESC
⌘K ショートカット