模块:NeteaseMusic

来自异世界百科
落雨枫讨论 | 贡献2021年12月23日 (四) 21:50的版本 (增加网易云音乐功能)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

此模块的文档可以在模块:NeteaseMusic/doc创建

local p = {}

function p.getMusicId(url)
	return string.match(url, "[%?&]id=(%d+)")
end

function p.player(frame)
	local musicUrl = frame.args[1]
	local autoPlay = frame.args["auto"] and (frame.args["auto"] == "1" or frame.args["auto"] == "true")
	local autoPlayStr = "0"
	if autoPlay then
		autoPlayStr = "1"
	end
	
	if musicUrl ~= nil then
		local musicId = getMusicId(musicUrl)
		local dom = mw.html.create( 'div' )
		dom:addClass("netease-music-container")
		local iframe = dom:tag("iframe")
		iframe:attr("frameborder", "no")
			  :attr("border", "0")
			  :attr("marginwidth", "0")
			  :attr("marginheight", "0")
			  :attr("width", "330")
			  :attr("height", "86")
			  :src(string.format(
			  		"https://music.163.com/outchain/player?type=2&id=%s&auto=%s&height=66",
			  		musicId,
			  		autoPlayStr
			  ))
		return tostring(dom)
	else
		error("输入的网易云音乐分享URL错误")
	end
end

return p