模块:Qualityprice:修订间差异
来自星露谷物语扩展百科
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第4行: | 第4行: | ||
local p = {} | local p = {} | ||
function p.render(frame) | |||
local | 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 | 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 | end | ||
function p.debug() | function p.debug() | ||
cache.delete("Module: | cache.delete("Module:Qp|Data|Fried Egg|35|1") | ||
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