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

无编辑摘要
无编辑摘要
第6行: 第6行:
p["测试调用"] = function(frame)
p["测试调用"] = function(frame)
     local query_num = frame.args['角色编号']
     local query_num = frame.args['角色编号']
     local html = mw.html.create()
     local result = {}
 
    -- 开始表格
    html:tag('table')
    :addClass('wikitable')
    :css('width', '100%')
 
    -- 表头
    html:tag('tr')
    :tag('th'):wikitext('NAME'):done()
    :tag('th'):wikitext('Base'):done()
    :tag('th'):wikitext('MAX'):done()
    :done()


     if query_num then
     if query_num then
         for _, char in ipairs(dataList) do
         for _, char in ipairs(dataList) do
             if query_num == char.owner_order then
             if query_num == char.owner_order then
                local html = mw.html.create()
                -- 开始表格
                html:tag('table')
                :addClass('wikitable')
                :css('width', '100%')
                -- 表头
                html:tag('tr')
                :tag('th'):wikitext('NAME'):done()
                :tag('th'):wikitext('Base'):done()
                :tag('th'):wikitext('MAX'):done()
                :done()
                -- 填充表格数据
                 for _, element in ipairs(elements) do
                 for _, element in ipairs(elements) do
                     local maxAttr = "MAX" .. element
                     local maxAttr = "MAX" .. element
第31行: 第34行:
                     local baseAttrValue = char.Data_jp[baseAttr] or ""
                     local baseAttrValue = char.Data_jp[baseAttr] or ""


                     -- 输出每行并追加到html对象
                     -- 添加行到表格中
                     html:tag('tr')
                     html:tag('tr')
                     :tag('td'):wikitext(element):done()
                     :tag('td'):wikitext(element):done()
第37行: 第40行:
                     :tag('td'):wikitext(maxAttrValue):done()
                     :tag('td'):wikitext(maxAttrValue):done()
                 end
                 end
                -- 结束表格
                html:done()
                -- 将当前表格的HTML添加到结果表中
                table.insert(result, tostring(html))
             end
             end
         end
         end
     end
     end


     -- 结束表格
     -- 返回第一个表格的HTML内容的字符串表示
    html:done()
     return tostring(result[1])
 
     return tostring(html)
end
end


return p
return p

2024年6月26日 (三) 22:15的版本

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

local p = {}
local db = mw.loadData('模块:角色属性数据')
local dataList = db.char_self_data
local elements = {"HP", "SP", "ATK", "DEF", "MAG", "MDEF", "CRT", "SPD"}

p["测试调用"] = function(frame)
    local query_num = frame.args['角色编号']
    local result = {}

    if query_num then
        for _, char in ipairs(dataList) do
            if query_num == char.owner_order then
                local html = mw.html.create()

                -- 开始表格
                html:tag('table')
                :addClass('wikitable')
                :css('width', '100%')

                -- 表头
                html:tag('tr')
                :tag('th'):wikitext('NAME'):done()
                :tag('th'):wikitext('Base'):done()
                :tag('th'):wikitext('MAX'):done()
                :done()

                -- 填充表格数据
                for _, element in ipairs(elements) do
                    local maxAttr = "MAX" .. element
                    local baseAttr = "Base" .. element

                    -- 获取属性值,如果不存在则设为空白字符串
                    local maxAttrValue = char.Data_jp[maxAttr] or ""
                    local baseAttrValue = char.Data_jp[baseAttr] or ""

                    -- 添加行到表格中
                    html:tag('tr')
                    :tag('td'):wikitext(element):done()
                    :tag('td'):wikitext(baseAttrValue):done()
                    :tag('td'):wikitext(maxAttrValue):done()
                end

                -- 结束表格
                html:done()

                -- 将当前表格的HTML添加到结果表中
                table.insert(result, tostring(html))
            end
        end
    end

    -- 返回第一个表格的HTML内容的字符串表示
    return tostring(result[1])
end

return p