打开/关闭菜单
331
1.7K
131
11.8K
星露谷物语扩展百科
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:Qualityprice:修订间差异

来自星露谷物语扩展百科
Sizau留言 | 贡献
无编辑摘要
Sizau留言 | 贡献
无编辑摘要
第4行: 第4行:
local p = {}
local p = {}


local function expandTemplate(args)
function p.render(frame)
local templateArgs = {}
local args = frame.args
    for key, value in pairs(args) do
local name = args[1]:gsub(".png", "")
    if value ~= "" then
local bp = args[2] or "0"
        templateArgs[key] = value
local pm = args['pm'] or "1"
    end
local cacheKey = KEY_PREFIX .. "|Data|" .. name .. "|" .. bp .. "|" .. pm
    end
local priceData
    return mw.getCurrentFrame():expandTemplate{
local cached = cache.get(cacheKey)
        title = '模板:Qualityprice/Base',
 
        args = {
if cached then
            templateArgs[1],
priceData = mw.text.jsonDecode(cached)
            templateArgs[2],
else
            pm = templateArgs['pm'],
priceData = {}
            dsv = templateArgs['dsv'],
local qs = {p0 = 0, p1 = 1, p2 = 2, p4 = 4}
            hide = templateArgs['hide'],
for k, v in pairs(qs) do
            quality = templateArgs['quality'],
priceData[k] = frame:preprocess(string.format("{{#invoke:Templates|csp|im=%s|bp=%s|q=%d|pm=%s|fm=true}}", name, bp, v, pm))
        }
end
    }
cache.set(cacheKey, mw.text.jsonEncode(priceData), EXP_TIME)
end
end


-- =p.render{args={"Pufferfish","200"}}
return frame:expandTemplate{
function p.render(frame)
title = '模板:Qualityprice/Base',
    local args = frame.args
args = {
    args[1] = args[1]:gsub(".png", "") -- 若传入的参数存在图片后缀,移除
args[1],
    local cacheKey = KEY_PREFIX .. "|" .. args[1] .. "|" .. args[2] .. "|" .. (args['pm'] or "") .. "|" .. (args['dsv'] or "").. "|" .. (args['hide'] or "").. "|" .. (args['quality'] or "")
args[2],
    if cache.get(cacheKey) then
pm = pm,
    local result = cache.get(cacheKey)
dsv = args['dsv'],
        return result
hide = args['hide'],
    end
quality = args['quality'],
    local result = expandTemplate(args)
p0 = priceData.p0,
    cache.set(cacheKey, result, EXP_TIME)
p1 = priceData.p1,
    return result
p2 = priceData.p2,
p4 = priceData.p4
}
}
end
end


function p.debug()
function p.debug()
cache.delete("Module:Qualityprice|Fried Egg|35||false||0")
cache.delete("Module:Qp|Data|Fried Egg|35|1")
cache.delete("Module:Qualityprice|Fried Egg|35||false||gold")
end
end


return p
return p

2026年1月12日 (一) 20:58的版本

[ 创建 | 刷新 ]文档页面
当前模块文档缺失,需要扩充。
local cache = require "mw.ext.LuaCache"
local KEY_PREFIX = "Module:Qp"
local EXP_TIME = 172800
local p = {}

function p.render(frame)
	local args = frame.args
	local name = args[1]:gsub(".png", "")
	local bp = args[2] or "0"
	local pm = args['pm'] or "1"
	local cacheKey = KEY_PREFIX .. "|Data|" .. name .. "|" .. bp .. "|" .. pm
	local priceData
	local cached = cache.get(cacheKey)

	if cached then
		priceData = mw.text.jsonDecode(cached)
	else
		priceData = {}
		local qs = {p0 = 0, p1 = 1, p2 = 2, p4 = 4}
		for k, v in pairs(qs) do
			priceData[k] = frame:preprocess(string.format("{{#invoke:Templates|csp|im=%s|bp=%s|q=%d|pm=%s|fm=true}}", name, bp, v, pm))
		end
		cache.set(cacheKey, mw.text.jsonEncode(priceData), EXP_TIME)
	end

	return frame:expandTemplate{
		title = '模板:Qualityprice/Base',
		args = {
			args[1],
			args[2],
			pm = pm,
			dsv = args['dsv'],
			hide = args['hide'],
			quality = args['quality'],
			p0 = priceData.p0,
			p1 = priceData.p1,
			p2 = priceData.p2,
			p4 = priceData.p4
		}
	}
end

function p.debug()
	cache.delete("Module:Qp|Data|Fried Egg|35|1")
end

return p