開始開發
Miru Alpha 的插件系統同時支持 JavaScript 與 Go 兩種語言運行時:
- JavaScript 運行時:基於 goja(純 Go 實現的 ECMAScript 引擎),插件文件後綴為
.js。 - Go 運行時:基於 Scriggo(Go 語言的模板/腳本引擎),插件文件後綴為
.go。
兩種插件使用同一套元數據與數據返回結構,前端對兩者一視同仁。開發插件需要一定的 JavaScript 或 Go 基礎,以及正則表達式知識。如果還不熟悉正則表達式,可以先學習 《正則表達式和字符串的方法》 與 《正則表達式 30 分鐘入門教程》。
本文檔默認你已按 開發環境 配置好環境。
無論是 JS 還是 Go 插件,文件頂部都必須用註釋包裹一份元數據,格式為 // ==MiruExtension== … // ==/MiruExtension==。
// ==MiruExtension==// @name My Extension// @version v0.0.1// @author YourName// @license MIT// @lang zh-cn// @icon https://example.com/icon.png// @package my.extension// @type bangumi// @webSite https://example.com/// @apiVersion 2// ==/MiruExtension==元數據寫好後,按你的語言選擇對應的開發指南,其中包含完整的入口函數、請求/緩存 API 與可運行示例:
- JavaScript:JavaScript 插件 V2(goja)(推薦);沿用舊寫法的請看 JavaScript 插件 V1(舊版)。
- Go:Go 插件(Scriggo)
返回值結構(列表項、詳情、按類型區分的播放結構等)統一在 數據格式 中定義。