模块:Qualityprice
来自星露谷物语扩展百科
更多操作
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