ルール:
- Markdownの構造を保護する。
- URLやコードは翻訳しない。
- 翻訳された内容のみを返す。
![]()
MoeKoe Music エクステンション
MoeKoe Music ブラウザエクステンション版は、MoeKoeMusic Webをベースに構築され、ブラウザエクステンション内でAPIルートの互換性を完了しています。
特徴
- ブラウザエクステンションのアイコンをクリックして、独立したウィンドウでMoeKoeMusicを起動します。
- ユーザーがAPIアドレスを設定する必要はなく、ローカルのAPIサービスを追加で起動する必要もありません。
- MoeKoeMusicのオリジナルWebページとインタラクションを保持し、ブラウザエクステンションの運行環境に互換性があります。
快速スタート
環境要求
- Node.js 20以降
- Git
- Chrome / EdgeなどのChromiumコアブラウザ
依存関係のインストール
git submodule update --init --recursive
npm install
npm run install:app
npm run install:appは、MoeKoeMusicとMoeKoeMusic/apiの依存関係をそれぞれインストールします。インストール後は、子モジュールのワークスペースを確認し、アップストリームのlockfileの非期待の変更をコミットしないようにしてください。
エクステンションの構築
npm run build
構築物は以下に输出されます:
dist/extension
ブラウザにインストール
chrome://extensionsまたはedge://extensionsを開きます。- 「開発者モード」を有効にします。
- 「既に解凍されたエクステンションをロード」をクリックします。
- プロジェクトの
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
-> extension/api/generated/modules.cjs
-> MoeKoeMusic/api/module/*.js
-> 酷狗関連インターフェース
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 | サービスワークパッケージ |
| Chrome Extensions API | ウィンドウの開き、メッセージ通信、ストレージ |
| KuGouMusicApi | 上流APIモジュールのソース |
関連プロジェクト
- MoeKoeMusic:MoeKoeMusicの多プラットフォームクライアント。
- KuGouMusicApi:MoeKoeMusicで使用されるAPIプロジェクト。
- MoeKoeMusic-mobile:MoeKoeMusicのモバイル版。
免責事項
本项目は学習と技術研究のためにのみ使用されます。プロジェクト内の音楽データ、歌詞、ジャケットなどの内容は、原著作権者に帰属します。本プロジェクトを商業用途や関連サービス条項に違反する場面で使用しないでください。本项目の使用から生じるいかなるリスクも、ユーザーが自己責任で引き受けます。
ライセンス
本项目は、上流のMoeKoeMusicのオープンソースライセンスを継承しています。詳細はMoeKoeMusic/LICENSEを参照してください。
