打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Module:Heartrate:修订间差异

来自OTTOWiki
 
(未显示同一用户的7个中间版本)
第1行: 第1行:
local p = {}
local p = {}


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


return p
return p

2025年6月23日 (一) 20:35的最新版本

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