---
atlas: "[[DailyNote]]"
completed: 0
created: <% tp.date.now("YYYY-MM-DD HH:mm:ss") %>
incomplete: 3
modified: 
tags:
  - DailyNote
title: <% tp.file.title %>
total: 3
---
<%*
/** 使用 Obsidian 的 requestUrl 绕过 CORS，并且所有正则结果都做了空值保护 **/
const resp = await requestUrl ({
  url: 'https://www.tianqi.com/yuexiuqu/',
  method: 'GET',
  // 可选：有些站会根据 UA 返回不同内容
  headers: { 'user-agent': 'Mozilla/5.0 Obsidian-Templater' },
  throw: false,           // 出错时不要直接抛异常
  contentType: null       // 让它按文本处理
});

if (! resp || resp. status >= 400) {
  let 错误 = resp ? `HTTP ${resp. status}` : '无响应';
  let 提示 = `天气获取失败（${错误}）`;
  // 给下面的变量提供安全默认值，避免后续渲染时报错
  tR += ''; // 不输出提示到正文的话，保留空字符串
  var 天气 = 提示, 温度范围 = '', 湿度 = '', 风向 = '', 紫外线 = '', 空气质量 = '', 日出日落 = '';
} else {
  let html = String (resp. text || ''). replace (/\n/g, '');

  // 正则执行+容错
  const mNow = /<p class="now"><b>(\d+)<\/b><i>℃<\/i><\/p>/. exec (html);
  const mRange = /<span><b>(.*?)<\/b>(.*?)<\/span>/. exec (html);
  const mShidu = /<dd class="shidu"><b>(.*?)<\/b><b>(.*?)<\/b><b>(.*?)<\/b><\/dd>/. exec (html);
  const mKq = /<dd class="kongqi"\s*><h5 style="background-color:#[0-9a-z]{6};">(.*?)<\/h5><h6>(.*?)<\/h6><span>(.*?)<br \/>((?:.|\s)*?)<\/span><\/dd>/. exec (html);

  // 安全取值
  const 当前温度 = mNow?.[1] ? `${mNow[1]}℃` : '';
  const 天气文本 = mRange?.[1] ?? '';
  const 温度段 = mRange?.[2] ?? '';
  const 湿度文本 = mShidu?.[1] ?? '';
  const 风向文本 = mShidu?.[2] ?? '';
  const 紫外线文本 = mShidu?.[3] ?? '';
  const 空气级别 = mKq?.[1] ?? '';     // 如优/良/轻度污染...
  const 空气描述 = mKq?.[2] ?? '';     // 如 AQI 数值或说明
  const 日出 = mKq?.[3] ?? '';
  const 日落 = mKq?.[4]?.replace (/<.*?>/g, '') ?? ''; // 去掉可能的标签

  // 暴露给下方模板使用的变量（沿用你的命名）
  var 天气 = '天气：' + (天气文本 || '未知');
  var 温度范围 = '温度：' + ([当前温度, 温度段]. filter (Boolean). join (' / ') || '未知');
  var 湿度 = 湿度文本 || '';
  var 风向 = 风向文本 || '';
  var 紫外线 = 紫外线文本 || '';
  var 空气质量 = (空气描述 && 空气级别) ? `${空气描述}，${空气级别}` : (空气描述 || 空气级别 || '');
  var 日出日落 = [日出, 日落]. filter (Boolean). join (' ');
}
-%>

> [!tip] << [[<% tp.date.now("YYYY-MM-DD", -1) %>]] | [[<% tp.date.now("YYYY-MM-DD", 1) %>]] >>
> <% 天气 %>，<% 温度范围 %>，<% 湿度 %>，<% 空气质量 %> <br>
> <% 风向 %>，<% 紫外线 %>，<% 日出日落 %>

# 生活

- [ ] <% tp.file.cursor() %>

# 学习

- [ ] 

# 工作

- [ ] 

# 随笔

# 复盘

- 