目錄

  1. 概述
  1. 快速開始
  1. 插件配置結構
  1. JavaScript API 參考
  1. 數據模型
  1. 開發流程
  1. 最佳實踐
  1. 示例插件
  1. 調試與測試
  1. 常見問題

概述

Syncnext 插件系統允許開發者通過 JavaScript 擴展應用的內容源。插件運行在隔離的 JavaScriptCore 環境中,通過標準化的 API 與原生應用通信。

核心特性

  • 🔒 安全沙箱環境 - JavaScript 代碼在隔離環境執行
  • 🚀 異步操作支持 - 完整的 Promise 支持
  • 🎯 智能源選擇 - 自動評分選擇最佳播放源
  • 🔗 網絡請求能力 - 內置 HTTP 客戶端
  • 💾 數據持久化 - UserDefaults 存儲支持

快速開始

最小插件示例

  1. 創建插件配置文件 plugin.json:
  1. 創建主要 JavaScript 文件 main.js:

插件配置結構

完整配置文件結構

配置參數說明

參數
類型
必需
說明
name
string
插件名稱
description
string
插件描述
permission
string
特殊權限請求(如 "alidrive")
host
URL
API 基礎地址
files
string[]
JavaScript 文件列表(按順序加載)
pages
Page[]
內容分類頁面列表
episodes
JavascriptModel
劇集獲取配置
player
JavascriptModel
播放地址獲取配置
search
JavascriptModel
搜索功能配置

JavaScript API 參考

全局對象

插件可以使用以下全局對象:

$next - 核心通信接口

與原生應用通信的主要接口。

方法列表

$http - HTTP 客戶端

用於發送網絡請求。

fetch 方法

head 方法

$prefs - 偏好設置存儲

用於持久化存儲插件設置。

console - 日誌輸出

用於調試輸出。

標準 JavaScript API

數據模型

StandardMediaData - 媒體數據

StandardMediaEpisode - 劇集數據

StandardPlayerData - 播放數據

EpisodesCandidateGroup - 劇集候選組

開發流程

1. 環境準備

  1. 創建項目目錄結構:
  1. 配置本地測試服務器(用於開發):

2. 實現核心功能

頁面加載函數

劇集獲取函數

智能播放源選擇

3. 處理複雜場景

加密內容處理

多源劇集選擇

最佳實踐

1. 錯誤處理

2. 性能優化

3. 用戶體驗

4. 安全考慮

示例插件

完整示例:簡單視頻網站插件

plugin.json:
utils.js:
main.js:

調試與測試

1. 開發環境調試

在 Syncnext 應用中:
  1. 進入「設置」→「插件開發」
  1. 輸入本地服務器地址(如 http://localhost:8080/plugin.json
  1. 啟用「調試模式」查看 console 輸出
  1. 測試各項功能

2. 調試技巧

3. 常見調試場景

常見問題

Q1: 如何處理需要登錄的網站?

Q2: 如何處理分頁?

Q3: 如何處理 M3U8 流媒體?

Q4: 如何處理字幕?

Q5: 如何處理複雜的 HTML 解析?

發布插件

1. 部署到服務器

將插件文件部署到支持 HTTPS 的服務器:
  • 確保 plugin.json 可通過 HTTPS 訪問
  • 所有 JavaScript 文件路徑正確
  • 設置適當的 CORS 頭部

2. 提交到插件庫

  1. Fork Syncnext 插件庫
  1. 添加你的插件信息到 plugins.json
  1. 提交 Pull Request

3. 版本更新

plugin.json 中添加版本信息:

支持與社區

許可證

插件開發遵循 MIT 許可證。請確保你的插件遵守相關法律法規,不侵犯版權。

最後更新:2024年
Loading...
目录