模块:测试调用数据:修订间差异

(创建页面,内容为“local p = {} function p.char_query(frame) -- 查询角色编号 local owner_order = frame.args[1] local dataList = mw.loadData('Module:测试数据库').char_skill_data -- 提取数据 local filteredData = {} for _i, v in ipairs(dataList) do if v.owner_order == owner_order then table.insert(filteredData, v) end end if #filteredData > 0 then -- 按 skill_order 排序 table.sort(filter…”)
 
无编辑摘要
第4行: 第4行:
     -- 查询角色编号
     -- 查询角色编号
     local owner_order = frame.args[1]
     local owner_order = frame.args[1]
    mw.log("收到参数" .. owner_order)
     local dataList = mw.loadData('Module:测试数据库').char_skill_data
     local dataList = mw.loadData('Module:测试数据库').char_skill_data


第11行: 第12行:
         if v.owner_order == owner_order then
         if v.owner_order == owner_order then
             table.insert(filteredData, v)
             table.insert(filteredData, v)
            mw.log("成功查询" .. owner_order)
         end
         end
     end
     end
第19行: 第21行:
             return tonumber(a.skill_order) < tonumber(b.skill_order)
             return tonumber(a.skill_order) < tonumber(b.skill_order)
         end)
         end)
        mw.log("完成排序")


         -- 创建 HTML
         -- 创建 HTML

2024年6月15日 (六) 16:59的版本

可在模块:测试调用数据/doc创建此模块的帮助文档

local p = {}

function p.char_query(frame)
    -- 查询角色编号
    local owner_order = frame.args[1]
    mw.log("收到参数" .. owner_order)
    local dataList = mw.loadData('Module:测试数据库').char_skill_data

    -- 提取数据
    local filteredData = {}
    for _i, v in ipairs(dataList) do
        if v.owner_order == owner_order then
            table.insert(filteredData, v)
            mw.log("成功查询" .. owner_order)
        end
    end

    if #filteredData > 0 then
        -- 按 skill_order 排序
        table.sort(filteredData, function(a, b)
            return tonumber(a.skill_order) < tonumber(b.skill_order)
        end)
        mw.log("完成排序")

        -- 创建 HTML
        local html = mw.html.create('ul')
        for _i, v in ipairs(filteredData) do
            if v.skill_name_cn then
                html:tag('li'):wikitext(v.skill_name_cn):done()
            end
        end

        return tostring(html)
    end

end

return p