思源天气模板
信息
备份收藏,原作者 @wilsons,原帖链接: https://ld246.com/article/1734002304855
//!js
return (async () => {
// 获取天气
getWeather();
async function getWeather() {
// 天气api
const weather = await fetch("https://wttr.in/?format=1");
const text = await weather.text();
// 显示当时的天气
render(text);
// 始终显示今天的天气
//render(text, 2);
}
// 渲染结果
// type 1: 显示当时的天气,2:始终显示今天的天气
async function render(text, type = 1) {
if (type === 1) {
await fetchSyncPost("/api/block/updateBlock", {
dataType: "markdown",
data: text,
id: item.dataset.nodeId,
});
} else {
item.innerHTML = Lute.New().Md2BlockDOM(text);
item.style.backgroundColor = "transparent";
item.style.borderLeft = "none";
item.style.cursor = "text";
item
.querySelector('[contenteditable="true"]')
.setAttribute("contenteditable", false);
}
}
// 渲染时显示正在加载
whenRender().then((el) => {
el.outerHTML = "loading...";
});
function whenRender(selector = ".b3-form__space--small") {
return new Promise((resolve) => {
const check = () => {
let el = item.querySelector(selector);
if (el) resolve(el);
else requestAnimationFrame(check);
};
check();
});
}
return [];
})();