跳转到内容

模組:CCHPaward

维基百科,自由的百科全书

这是本页的一个历史版本,由Kcx36留言 | 贡献2025年6月3日 (二) 13:59 (// InPageEdit)编辑。这可能和当前版本存在着巨大的差异。

require("strict")

local getArgs = require("Module:Arguments").getArgs

-- 数据
local RECORD_MODULE = "Module:CCHPaward/list"

local function load_record()
    return mw.loadData(RECORD_MODULE)
end

-- 获取用户名(页面名称或指定参数)
local function fetch_username(user)
    if user == nil or user == "" then
        return mw.title.getCurrentTitle().baseText
    end
    return user
end

-- 计算等级
local function calculate_level(article, image, review)
    local total_score = article * 1 + image * 0.2 + review * 0.4
    return math.floor(total_score / 10)
end

local p = {}

-- 获取用户等级
function p.level(frame)
    local args = getArgs(frame)
    local user = args.user
    local record = load_record()
    local username = fetch_username(user)
    
    -- 获取得分
    local user_data = record[username] or {article = 0, image = 0, review = 0}
    
    -- 计算并返回等级
    return tostring(calculate_level(user_data.article, user_data.image, user_data.review))
end

return p