feat: 插件系统重构 - 支持官方 v3 音源 (wy/tx/kw/kg/mg) + 多格式歌词解析 + 动态加载 webpack bundle + 动态从 /plugins/ 目录加载官方音源

This commit is contained in:
auto-bot
2026-06-13 18:23:05 +00:00
parent d31a6d209a
commit 0856eefa19
6 changed files with 737 additions and 736 deletions

View File

@@ -96,6 +96,54 @@ fi
log_info "项目构建成功!"
echo ""
# ========= 下载官方音源插件 (v3) =========
log_info "正在下载官方音源插件到 dist/plugins/..."
PLUGIN_DIR="$INSTALL_DIR/dist/plugins"
mkdir -p "$PLUGIN_DIR"
FILE_SERVER="http://171.80.3.149:5244"
SHARE_CODE="music"
PLUGIN_FILES=(
"zq_wy_v3.js"
"zq_tx_v3-fix1.js"
"zq_kw_v3-fix1.js"
"zq_kg.js"
"zq_mg_v3.js"
)
DOWNLOADED=0
for fname in "${PLUGIN_FILES[@]}"; do
target="$PLUGIN_DIR/$fname"
# 通过 fs/get API 获取 raw_url (JSON 中 data.raw_url)
api_resp=$(curl -s -X POST "$FILE_SERVER/api/fs/get" \
-H "Content-Type: application/json" \
-d "{\"path\":\"/@s/c6VNt7hG/音源/QZ-Music_v2/官方/v3/$fname\",\"password\":\"$SHARE_CODE\"}" \
--max-time 30 2>/dev/null || echo "")
raw_url=""
if [ -n "$api_resp" ]; then
# 使用 python3 解析 JSON 取 data.raw_url若失败则回退 sd 直链
raw_url=$(echo "$api_resp" | python3 -c "import sys,json;
try:
d=json.load(sys.stdin)
print(d.get('data',{}).get('raw_url',''))
except:
print('')" 2>/dev/null)
fi
if [ -z "$raw_url" ]; then
raw_url="$FILE_SERVER/sd/c6VNt7hG/音源/QZ-Music_v2/官方/v3/$fname?pwd=$SHARE_CODE"
fi
if curl -sL "$raw_url" --max-time 120 -o "$target" -w '%{http_code}' 2>/dev/null | grep -qE "^2"; then
DOWNLOADED=$((DOWNLOADED + 1))
size=$(wc -c < "$target" 2>/dev/null | tr -d ' ')
log_info "$fname ($size bytes)"
else
log_warn "$fname 下载失败"
fi
done
log_info "音源插件下载完成: $DOWNLOADED/${#PLUGIN_FILES[@]}"
echo ""
# ========= 部署 systemd 服务 =========
log_info "正在部署 systemd 服务: $SERVICE_NAME"