模块:Heartrate:修订间差异

来自BinWiki
>琪露若
无编辑摘要
>琪露若
// Edit via Wikiplus
第4行: 第4行:
     -- 获取URL参数
     -- 获取URL参数
     local url = frame.args[1] or frame.args.url
     local url = frame.args[1] or frame.args.url
    if not url then return "ERROR: 缺少URL参数" end
      
      
     -- 获取JSON数据
     -- 获取并自动解析JSON数据
     local jsonText = mw.ext.externalData.getWebData {url = "https://public-heart-rate-api.xihan.website/uuid/65070027-f910-4a8b-a5db-ac8d52ecf355/latest-heart-rate", format = "json"}
     local ok, data = pcall(mw.ext.externalData.getWebData, {
        url = url,
        format = "json"
    })
      
      
     -- 解析JSON
     if not ok then return "ERROR: 获取数据失败" end
    local data = mw.text.jsonDecode(jsonText)
      
      
     -- 直接返回心率数值
     -- 检查数据结构
     return data.data.heart_rate
     if type(data) == 'table' and
      data.message == 'ok' and
      type(data.data) == 'table' and
      type(data.data.heart_rate) == 'number' then
        return data.data.heart_rate
    end
   
    return "ERROR: 无效的数据结构"
end
end


return p
return p

2025年6月20日 (五) 12:52的版本

此模块的文档可以在模块:Heartrate/doc创建

local p = {}

function p.getHeartRate(frame)
    -- 获取URL参数
    local url = frame.args[1] or frame.args.url
    if not url then return "ERROR: 缺少URL参数" end
    
    -- 获取并自动解析JSON数据
    local ok, data = pcall(mw.ext.externalData.getWebData, {
        url = url,
        format = "json"
    })
    
    if not ok then return "ERROR: 获取数据失败" end
    
    -- 检查数据结构
    if type(data) == 'table' and 
       data.message == 'ok' and 
       type(data.data) == 'table' and 
       type(data.data.heart_rate) == 'number' then
        return data.data.heart_rate
    end
    
    return "ERROR: 无效的数据结构"
end

return p