模块:Heartrate:修订间差异

来自BinWiki
>琪露若
无编辑摘要
导入37个版本
 
(未显示1个用户的24个中间版本)
第2行: 第2行:


function p.getHeartRate(frame)
function p.getHeartRate(frame)
     local url = frame.args[1] or frame.args.url
     local args = frame.args or {}
      
      
     -- 直接获取数据
     -- 从参数中获取API URL,如果没有提供则使用默认值
     local data = mw.ext.externalData.getWebData{url = "https://public-heart-rate-api.xihan.website/uuid/65070027-f910-4a8b-a5db-ac8d52ecf355/latest-heart-rate", format = "json"}
     local apiurl = args.apiurl or "https://public-heart-rate-api.xihan.website/uuid/65070027-f910-4a8b-a5db-ac8d52ecf355/latest-heart-rate"
      
      
     -- 尝试解析JSON
     -- 直接获取数据(不要用pcall)
     local ok, json = pcall(mw.text.jsonDecode, data)
     local data = mw.ext.externalData.getWebData{
    if not ok then return "ERROR: Invalid JSON" end
        url = apiurl,
        format = "json",
        ['cache seconds'] = args.cache or 2  -- 也可以让缓存时间可配置
    }
      
      
     -- 直接返回heart_rate数值
     -- 直接返回心率值(API结构固定时可用)
     return json.data.heart_rate or "ERROR: No heart rate data"
     return data.heart_rate
end
end


return p
return p

2025年9月16日 (二) 23:11的最新版本

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

local p = {}

function p.getHeartRate(frame)
    local args = frame.args or {}
    
    -- 从参数中获取API URL,如果没有提供则使用默认值
    local apiurl = args.apiurl or "https://public-heart-rate-api.xihan.website/uuid/65070027-f910-4a8b-a5db-ac8d52ecf355/latest-heart-rate"
    
    -- 直接获取数据(不要用pcall)
    local data = mw.ext.externalData.getWebData{
        url = apiurl,
        format = "json",
        ['cache seconds'] = args.cache or 2  -- 也可以让缓存时间可配置
    }
    
    -- 直接返回心率值(API结构固定时可用)
    return data.heart_rate
end

return p