bugfix250107.1
全站通知:

模块:提取灵空模组数据

来自恋与深空WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:提取灵空模组数据/doc创建

local p = {}

function p.getData()
	
	local jsonText = mw.title.new("data:Unicorns/GearSet.json"):getContent()
	
	if not jsonText then 
		return "找不到json文件内容"
	end 
	
	-- 解析 json 内容  
	local data = mw.text.jsonDecode(jsonText)
	if not data then 
		return "无法解析json内容"
	end 
	
	return data 
end


-- 用于在模板中调用
function p.show(frame)
	local data = p.getData()
	if type(data) ~= "table" then 
		return data 
	end 

	local root = mw.html.create()
	
	for _, code in ipairs(data) do
		
	    for moduleName, module in pairs(code) do
	        -- moduleName = "减益模组"等模组名
	        -- module = { desc = "...", groups = {...} }
	
	        local desc = module["desc"]
	
	        for _, group in ipairs(module["groups"]) do
	            for groupName, groupLevels in pairs(group) do
	                -- groupName: "减益增幅器" / "减益核心" / ...
	                -- groupLevels: {Lv.1=...}, {Lv.2=...}
	
	                local levels = {}
	                for _, level in ipairs(groupLevels) do
	                    for lvName, lvDesc in pairs(level) do
	                        table.insert(levels, lvName .. ": " .. lvDesc)
	                    end
	                end
	
	                local levelText = table.concat(levels, "<br>")
	
	                local args = {
	                    ["名称"] = groupName,
	                    ["显示名称"] = groupName,
	                    ["显示图片"] = groupName,
	                    ["单个装备描述"] = levelText,
	                    ["模组组名"] = moduleName, 
	                    ["模组简称"] = moduleName:match("^(.-)模组$"),
	                    ["模组描述"] = desc,
	                    ["获取途径"] = "灵空行动 · 卡莉花的回响",
	                }
	
	                local html = frame:expandTemplate{ title = "灵空模组/个", args = args }
	                root:wikitext(html)
	            end
	        end
	    end
    end
	
	return tostring(root)
end

return p