ルール:

MoeKoe Music

MoeKoe Music エクステンション

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は、MoeKoeMusicとMoeKoeMusic/apiの依存関係をそれぞれインストールします。インストール後は、子モジュールのワークスペースを確認し、アップストリームのlockfileの非期待の変更をコミットしないようにしてください。

エクステンションの構築

npm run build

構築物は以下に输出されます:

dist/extension

ブラウザにインストール

  1. chrome://extensionsまたはedge://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
  -> 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/LICENSE を参照してください。

著作権表示

著者: MoeJue

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

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

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

検索を開始

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

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