模块:HttpTest:修订间差异
来自夜幕之下
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第6行: | 第6行: | ||
end | end | ||
return v | return v | ||
end | end | ||
function p.get(frame) | function p.get(frame) | ||
local cardname = frame.args[1] or "" | local cardname = frame.args[1] or "" | ||
local url = | local url = | ||
"https://data.saltedkiss.org/items/cards?filter[stylename][_eq]=" | "https://data.saltedkiss.org/items/cards?filter[stylename][_eq]=" | ||
.. mw.uri.encode(cardname) | .. mw.uri.encode(cardname) | ||
.. "&limit=1&fields= | .. "&limit=1&fields=*,character.*,profession.*,desire.*,skill_normal_attack.*,skill_passive.*,skill_ultimate.*,feats.stages.*,stories.story" | ||
-- | -- 从 ExternalData 获取数据 | ||
local | local data = mw.ext.externalData.getExternalData({ | ||
if not | url = url, | ||
return " | format = "json" | ||
}) | |||
if not data or not data[1] then | |||
return "未获取到卡牌数据" | |||
end | end | ||
local card = | local card = data[1] | ||
-- | -- 创建变量 | ||
local stylename = val(card.stylename) | local stylename = val(card.stylename) | ||
local rarity = val(card.rarity) | local rarity = val(card.rarity) | ||
| 第54行: | 第35行: | ||
local desire = val(card.desire and card.desire.name) | local desire = val(card.desire and card.desire.name) | ||
local skill_normal_attack = card.skill_normal_attack or {} | |||
local skill_normal_attack = | local skill_passive = card.skill_passive or {} | ||
local skill_ultimate = card.skill_ultimate or {} | |||
local | local feats = card.feats or {} | ||
local stories = card.stories or {} | |||
local | -- 简单输出测试(可换成你后续处理) | ||
local output = "<pre>" | |||
output = output .. "卡牌名: " .. stylename .. "\n" | |||
output = output .. "稀有度: " .. rarity .. "\n" | |||
output = output .. "角色: " .. character .. "\n" | |||
output = output .. "职业: " .. profession .. "\n" | |||
output = output .. "欲望: " .. desire .. "\n" | |||
-- | -- 技能输出示例 | ||
output = output .. "\n普通攻击: " .. val(skill_normal_attack.name) .. " - " .. val(skill_normal_attack.description) .. "\n" | |||
output = output .. "被动技能: " .. val(skill_passive.name) .. " - " .. val(skill_passive.description) .. "\n" | |||
output = output .. "必杀技能: " .. val(skill_ultimate.name) .. " - " .. val(skill_ultimate.description) .. "\n" | |||
-- | -- 输出故事数量 | ||
output = output .. "\n故事条数: " .. #stories .. "\n" | |||
output = output .. "</pre>" | |||
return output | |||
return | |||
end | end | ||
return p | return p | ||
2026年3月11日 (三) 22:32的版本
此模块的文档可以在模块:HttpTest/doc创建
local p = {}
local function val(v, fallback)
if v == nil or v == "" then
return fallback or "—"
end
return v
end
function p.get(frame)
local cardname = frame.args[1] or ""
local url =
"https://data.saltedkiss.org/items/cards?filter[stylename][_eq]="
.. mw.uri.encode(cardname)
.. "&limit=1&fields=*,character.*,profession.*,desire.*,skill_normal_attack.*,skill_passive.*,skill_ultimate.*,feats.stages.*,stories.story"
-- 从 ExternalData 获取数据
local data = mw.ext.externalData.getExternalData({
url = url,
format = "json"
})
if not data or not data[1] then
return "未获取到卡牌数据"
end
local card = data[1]
-- 创建变量
local stylename = val(card.stylename)
local rarity = val(card.rarity)
local character = val(card.character and card.character.name)
local profession = val(card.profession and card.profession.name)
local desire = val(card.desire and card.desire.name)
local skill_normal_attack = card.skill_normal_attack or {}
local skill_passive = card.skill_passive or {}
local skill_ultimate = card.skill_ultimate or {}
local feats = card.feats or {}
local stories = card.stories or {}
-- 简单输出测试(可换成你后续处理)
local output = "<pre>"
output = output .. "卡牌名: " .. stylename .. "\n"
output = output .. "稀有度: " .. rarity .. "\n"
output = output .. "角色: " .. character .. "\n"
output = output .. "职业: " .. profession .. "\n"
output = output .. "欲望: " .. desire .. "\n"
-- 技能输出示例
output = output .. "\n普通攻击: " .. val(skill_normal_attack.name) .. " - " .. val(skill_normal_attack.description) .. "\n"
output = output .. "被动技能: " .. val(skill_passive.name) .. " - " .. val(skill_passive.description) .. "\n"
output = output .. "必杀技能: " .. val(skill_ultimate.name) .. " - " .. val(skill_ultimate.description) .. "\n"
-- 输出故事数量
output = output .. "\n故事条数: " .. #stories .. "\n"
output = output .. "</pre>"
return output
end
return p