AutojsPro - 豆角酱油(天气信息组件)1. fetchAndSaveWeather(customUrl) 方法用于从指定 URL 获取天气信息并保存到本地文件2. function main(qqMessage,messages)方法用于从指定 URL 获取天气信息并保存到本地文件3.各城市映射表
以下是对代码的详细解释:
xxxxxxxxxx
/**
* 获取并保存天气信息
* @param {string} customUrl - 天气信息URL
*/
function fetchAndSaveWeather(customUrl) {
// 发送HTTP请求获取天气页面内容
var res = http.get(customUrl, {
headers: {
// 模拟移动设备浏览器请求头
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36'
},
timeout: 10000 // 设置请求超时时间为10秒
});
// 检查HTTP响应状态码
if (res.statusCode !== 200) {
toast("请求失败: " + res.statusCode); // 显示错误信息
return null;
}
// 获取响应的HTML内容并转换为字符串
var html = res.body.string();
/**
* 从HTML中提取文本内容
* @param {string} html - HTML字符串
* @returns {Array<string>} - 提取的文本数组
*/
function extractTextFromHtml(html) {
// 移除HTML中的脚本和样式标签内容
var cleanHtml = html
.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '')
.replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi, '');
// 提取所有标签间的文本内容
var textArray = [];
var tagPattern = /<[^>]+>([^<]+)<\/[^>]+>|>([^<]+)</g;
var match;
// 循环匹配所有文本内容
while ((match = tagPattern.exec(cleanHtml)) !== null) {
// 获取匹配组中的有效文本(处理自闭合标签和普通标签两种情况)
var text = (match[1] || match[2] || "").trim();
// 过滤无效文本:空字符串、长度小于等于1的文本、纯数字、纯标点
if (text &&
text.length > 1 &&
!/^\d+$/.test(text) && // 排除纯数字
!/^[.,;:!?]+$/.test(text)) { // 排除纯标点
textArray.push(text);
}
}
// 数组去重并返回结果
return Array.from(new Set(textArray));
}
// 提取HTML中的所有文本内容
var allTexts = extractTextFromHtml(html);
// 从URL中提取城市拼音名称(假设URL格式为/zh/cn/城市拼音/...)
var cityPinyin = "未知城市";
var cityMatch = customUrl.match(/\/zh\/cn\/([^\/]+)\//);
if (cityMatch && cityMatch[1]) {
cityPinyin = cityMatch[1];
}
// 将拼音转换为中文城市名(需要预先定义pinyinToCity映射对象)
var cityName = pinyinToCity[cityPinyin] || cityPinyin;
// 创建天气信息对象,用于存储提取的各项天气数据
var weatherData = {
updateTime: "", // 更新时间
weatherCondition: "", // 天气状况
currentTemp: "", // 当前温度
tempRange: "", // 温度范围
realFeel: "", // 体感温度
humidity: "", // 湿度
uvIndex: "", // 紫外线指数
visibility: "", // 能见度
wind: "", // 风力
pressure: "", // 气压
pressureTrend: "", // 气压趋势
cloudCover: "", // 云量
sunrise: "", // 日出时间
sunset: "" // 日落时间
};
// 遍历提取的所有文本,识别并提取各项天气数据
for (var i = 0; i < allTexts.length; i++) {
var text = allTexts[i];
// 提取更新时间(格式:MM月DD日 HH:MM)
if (!weatherData.updateTime && text.match(/\d{2}月\d{2}日 \d{2}:\d{2}/)) {
weatherData.updateTime = text;
}
// 提取天气状况(包含特定天气描述词)
if (!weatherData.weatherCondition && (text.includes("多云") || text.includes("晴") || text.includes("雨") || text.includes("阴"))) {
weatherData.weatherCondition = text;
}
// 提取温度范围(包含~和℃符号)
if (!weatherData.tempRange && text.includes("~") && text.includes("℃")) {
weatherData.tempRange = text;
}
// 提取当前温度(包含℃但不包含~)
if (!weatherData.currentTemp && text.includes("℃") && !text.includes("~")) {
weatherData.currentTemp = text;
}
// 提取体感温度(紧跟在"体感温度"文本之后)
if (!weatherData.realFeel && text.includes("体感温度")) {
weatherData.realFeel = allTexts[i+1] || "";
}
// 提取湿度(紧跟在"湿度"文本之后)
if (!weatherData.humidity && text.includes("湿度")) {
weatherData.humidity = allTexts[i+1] || "";
}
// 提取紫外线指数(紧跟在"紫外线"文本之后)
if (!weatherData.uvIndex && text.includes("紫外线")) {
weatherData.uvIndex = allTexts[i+1] || "";
}
// 提取能见度(紧跟在"能见度"文本之后)
if (!weatherData.visibility && text.includes("能见度")) {
weatherData.visibility = allTexts[i+1] || "";
}
// 提取风力(包含"风"字且排除特定干扰项)
if (!weatherData.wind && (text.includes("风") && !text.includes("阴影RealFeel"))) {
// 检查下一个元素是否包含风力信息(级或km)
if (allTexts[i+1] && (allTexts[i+1].includes("级") || allTexts[i+1].includes("km"))) {
weatherData.wind = allTexts[i+1];
}
}
// 提取气压(紧跟在"气压"文本之后且不包含"变化")
if (!weatherData.pressure && text.includes("气压") && !text.includes("变化")) {
weatherData.pressure = allTexts[i+1] || "";
}
// 提取气压变化(紧跟在"气压变化"文本之后)
if (!weatherData.pressureTrend && text.includes("气压变化")) {
weatherData.pressureTrend = allTexts[i+1] || "";
}
// 提取云量(紧跟在"云量"文本之后)
if (!weatherData.cloudCover && text.includes("云量")) {
weatherData.cloudCover = allTexts[i+1] || "";
}
// 提取日出时间(紧跟在"日出"文本之后)
if (!weatherData.sunrise && text.includes("日出")) {
weatherData.sunrise = allTexts[i+1] || "";
}
// 提取日落时间(紧跟在"日落"文本之后)
if (!weatherData.sunset && text.includes("日落")) {
weatherData.sunset = allTexts[i+1] || "";
}
}
// 创建格式化的输出文本
var output = cityName + "请接受当前天气信息:\n" +
"=================\n" +
"(参数可能有错误)";
// 将提取的天气数据添加到输出文本中
if (weatherData.updateTime) output += "• 更新时间: " + weatherData.updateTime + "\n";
if (weatherData.weatherCondition) output += "• 天气状况: " + weatherData.weatherCondition + "\n";
if (weatherData.currentTemp) output += "• 当前温度: " + weatherData.currentTemp + "\n";
if (weatherData.tempRange) output += "• 温度范围: " + weatherData.tempRange + "\n";
if (weatherData.realFeel) output += "• 体感温度: " + weatherData.realFeel + "\n";
if (weatherData.humidity) output += "• 湿度: " + weatherData.humidity + "\n";
if (weatherData.uvIndex) output += "• 紫外线指数: " + weatherData.uvIndex + "\n";
if (weatherData.visibility) output += "• 能见度: " + weatherData.visibility + "\n";
if (weatherData.wind) output += "• 风力: " + weatherData.wind + "\n";
if (weatherData.pressure) output += "• 气压: " + weatherData.pressure + "\n";
if (weatherData.pressureTrend) output += "• 气压变化: " + weatherData.pressureTrend + "\n";
if (weatherData.cloudCover) output += "• 云量: " + weatherData.cloudCover + "\n";
if (weatherData.sunrise) output += "• 日出: " + weatherData.sunrise + "\n";
if (weatherData.sunset) output += "• 日落: " + weatherData.sunset + "\n";
// 添加文件生成时间戳
//output += "\n文件更新时间: " + new Date().toLocaleString();
// 保存天气信息到文件
var filename = cityName + "天气信息.txt";
files.write(filename, output);
// 返回处理结果
return {
success: true,
message: "天气信息已保存到: " + files.join(files.cwd(), filename),
output: output,
filename: filename
};
}
以下是对代码的详细解释:
xxxxxxxxxx
/**
* 主执行函数 - 核心功能:读取联系人列表、获取天气信息并发送给指定QQ联系人
* @param {string} qqMessage - 联系人信息文件路径(函数内用于指定读取联系人的文件)
* @param {string} messages - 消息内容文件路径(函数内用于读取发送的固定消息内容)
*/
function main(qqMessage, messages) {
// 读取联系人列表:调用readContactList函数,传入联系人文件路径"qqMessage"(此处原代码可能漏写引号,需注意)
let contacts = readContactList(qqMessage);
// 弹出提示:显示找到的联系人数目
toast("找到 " + contacts.length + " 个联系人");
// 读取固定消息(仅使用文件中的第一行内容)
let messageContent = "";
// 判断messages.txt文件是否存在
if (files.exists(messages)) {
// 读取消息文件内容,并按换行符分割成数组(兼容Windows和Linux换行格式)
let allLines = files.read(messages).split(/\r?\n/);
// 如果文件内容不为空(至少有一行)
if (allLines.length > 0) {
// 仅使用第一行内容作为固定消息,并去除首尾空格
messageContent = allLines[0].trim();
} else {
// 若文件为空,弹出提示并使用默认消息
toast("messages.txt内容为空,使用默认消息");
messageContent = "早安!最新天气信息:";
}
} else {
// 若文件不存在,弹出提示并使用默认消息
toast("使用默认消息");
messageContent = "早安!最新天气信息:";
}
// 创建天气信息缓存对象:键为城市对应的天气URL,值为该城市的天气内容
// 作用:避免重复获取同一城市的天气信息,提高效率
let weatherCache = {};
// 初始化日志文件:
// 1. 清空原有日志内容
// 2. 写入日志标题、当前时间作为日志开头
files.write("weather_send_log.txt", "天气发送日志\n" + new Date().toLocaleString() + "\n\n");
// 调用logToFile函数,记录开始处理的日志,包含总联系人数
logToFile(`开始处理,共 ${contacts.length} 个联系人`);
// 遍历联系人列表:逐个处理每个联系人
for (let i = 0; i < contacts.length; i++) {
// 获取当前遍历到的联系人对象
let contact = contacts[i];
// 提取联系人的地区(城市)信息
let region = contact.region;
// 提取联系人的QQ号码
let qq = contact.qq;
// 弹出提示:显示当前处理进度(第几个/总个数)及当前联系人的地区和QQ
toast("正在处理 [" + (i + 1) + "/" + contacts.length + "]: " + region + " - " + qq);
// 检查当前地区是否在预设的城市URL映射表(cityUrls)中
// cityUrls应为一个全局对象,键为地区名,值为该地区天气信息的获取URL
if (!cityUrls[region]) {
// 若未找到对应URL,弹出提示并记录日志,跳过当前联系人
toast("未找到" + region + "的天气URL");
logToFile(`跳过: ${region} - ${qq} (无天气URL)`);
continue; // 终止当前循环,进入下一个联系人的处理
}
// 从cityUrls中获取当前地区对应的天气信息URL
let customUrl = cityUrls[region];
// 检查天气缓存中是否已有该URL对应的天气信息
if (!weatherCache[customUrl]) {
// 若缓存中没有,弹出提示:正在获取该地区的天气信息
toast("获取 " + region + " 的天气信息...");
// 调用fetchAndSaveWeather函数:获取该URL对应的天气信息并保存
let weatherResult = fetchAndSaveWeather(customUrl);
// 检查天气信息获取是否成功(weatherResult存在且success属性为true)
if (!weatherResult || !weatherResult.success) {
// 若获取失败,弹出提示并记录日志,跳过当前联系人
toast("获取天气失败,跳过该联系人");
logToFile(`失败: ${region} - ${qq} (天气获取失败)`);
continue; // 终止当前循环,进入下一个联系人的处理
}
// 将获取到的天气信息存入缓存(键为URL,值为天气内容)
weatherCache[customUrl] = weatherResult.output;
// 弹出提示:显示提取到的天气信息
toast("天气信息提取成功:\n" + weatherResult.output);
}
// 组合发送的完整消息:固定消息内容 + 换行 + 该地区的天气信息
let fullMessage = messageContent + "\n\n" + weatherCache[customUrl];
// 调用sendMessage函数:向当前QQ号码发送完整消息
sendMessage(qq, fullMessage);
// 记录日志:当前联系人消息发送成功
logToFile(`成功: ${region} - ${qq}`);
// 随机延迟2-5秒(2000毫秒 + 0-3000毫秒随机值)
// 作用:避免操作过快导致目标应用(QQ)响应异常
sleep(2000 + Math.random() * 3000);
}
// 所有联系人处理完成后,记录日志并弹出提示
logToFile("所有消息发送完成");
toast("所有消息发送完成!查看日志了解详情");
}
覆盖了中国大陆 333 个地级行政区(含地级市、自治州、地区、盟)及港澳台地区核心城市,每个城市均包含对应的天气 URL 和拼音映射
xxxxxxxxxx
// 城市天气URL映射表(国内主要市级城市)
const cityUrls = {
// 华北地区
"北京": "https://m.weathercn.com/zh/cn/beijing/101010100/current-weather/101010100?lang=zh-cn&partner=1000001069",
"天津": "https://m.weathercn.com/zh/cn/tianjin/101030100/current-weather/101030100?lang=zh-cn&partner=1000001069",
"石家庄": "https://m.weathercn.com/zh/cn/shijiazhuang/101090101/current-weather/101090101?lang=zh-cn&partner=1000001069",
"唐山": "https://m.weathercn.com/zh/cn/tangshan/101090201/current-weather/101090201?lang=zh-cn&partner=1000001069",
"秦皇岛": "https://m.weathercn.com/zh/cn/qinhuangdao/101090301/current-weather/101090301?lang=zh-cn&partner=1000001069",
"邯郸": "https://m.weathercn.com/zh/cn/handan/101090401/current-weather/101090401?lang=zh-cn&partner=1000001069",
"邢台": "https://m.weathercn.com/zh/cn/xingtai/101090501/current-weather/101090501?lang=zh-cn&partner=1000001069",
"保定": "https://m.weathercn.com/zh/cn/baoding/101090601/current-weather/101090601?lang=zh-cn&partner=1000001069",
"张家口": "https://m.weathercn.com/zh/cn/zhangjiakou/101090701/current-weather/101090701?lang=zh-cn&partner=1000001069",
"承德": "https://m.weathercn.com/zh/cn/chengde/101090801/current-weather/101090801?lang=zh-cn&partner=1000001069",
"沧州": "https://m.weathercn.com/zh/cn/cangzhou/101090901/current-weather/101090901?lang=zh-cn&partner=1000001069",
"廊坊": "https://m.weathercn.com/zh/cn/langfang/101091001/current-weather/101091001?lang=zh-cn&partner=1000001069",
"衡水": "https://m.weathercn.com/zh/cn/hengshui/101091101/current-weather/101091101?lang=zh-cn&partner=1000001069",
"太原": "https://m.weathercn.com/zh/cn/taiyuan/101100101/current-weather/101100101?lang=zh-cn&partner=1000001069",
"大同": "https://m.weathercn.com/zh/cn/datong/101100201/current-weather/101100201?lang=zh-cn&partner=1000001069",
"阳泉": "https://m.weathercn.com/zh/cn/yangquan/101100301/current-weather/101100301?lang=zh-cn&partner=1000001069",
"长治": "https://m.weathercn.com/zh/cn/changzhi/101100401/current-weather/101100401?lang=zh-cn&partner=1000001069",
"晋城": "https://m.weathercn.com/zh/cn/jincheng/101100501/current-weather/101100501?lang=zh-cn&partner=1000001069",
"朔州": "https://m.weathercn.com/zh/cn/shuozhou/101100601/current-weather/101100601?lang=zh-cn&partner=1000001069",
"晋中": "https://m.weathercn.com/zh/cn/jinzhong/101100701/current-weather/101100701?lang=zh-cn&partner=1000001069",
"运城": "https://m.weathercn.com/zh/cn/yuncheng/101100801/current-weather/101100801?lang=zh-cn&partner=1000001069",
"忻州": "https://m.weathercn.com/zh/cn/xinzhou/101100901/current-weather/101100901?lang=zh-cn&partner=1000001069",
"临汾": "https://m.weathercn.com/zh/cn/linfen/101101001/current-weather/101101001?lang=zh-cn&partner=1000001069",
"吕梁": "https://m.weathercn.com/zh/cn/lvliang/101101101/current-weather/101101101?lang=zh-cn&partner=1000001069",
"呼和浩特": "https://m.weathercn.com/zh/cn/huhehaote/101080101/current-weather/101080101?lang=zh-cn&partner=1000001069",
"包头": "https://m.weathercn.com/zh/cn/baotou/101080201/current-weather/101080201?lang=zh-cn&partner=1000001069",
"乌海": "https://m.weathercn.com/zh/cn/wuhai/101080301/current-weather/101080301?lang=zh-cn&partner=1000001069",
"赤峰": "https://m.weathercn.com/zh/cn/chifeng/101080601/current-weather/101080601?lang=zh-cn&partner=1000001069",
"通辽": "https://m.weathercn.com/zh/cn/tongliao/101080501/current-weather/101080501?lang=zh-cn&partner=1000001069",
"呼伦贝尔": "https://m.weathercn.com/zh/cn/hulunbeier/101080801/current-weather/101080801?lang=zh-cn&partner=1000001069",
"巴彦淖尔": "https://m.weathercn.com/zh/cn/bayannaoer/101080901/current-weather/101080901?lang=zh-cn&partner=1000001069",
"乌兰察布": "https://m.weathercn.com/zh/cn/wulanchabu/101081001/current-weather/101081001?lang=zh-cn&partner=1000001069",
"锡林郭勒盟": "https://m.weathercn.com/zh/cn/xilinguole/101081101/current-weather/101081101?lang=zh-cn&partner=1000001069",
"兴安盟": "https://m.weathercn.com/zh/cn/xinganmeng/101081201/current-weather/101081201?lang=zh-cn&partner=1000001069",
"阿拉善盟": "https://m.weathercn.com/zh/cn/alashanmeng/101080402/current-weather/101080402?lang=zh-cn&partner=1000001069",
"阿拉善左旗": "https://m.weathercn.com/zh/cn/alashanzuoqi/101080401/current-weather/101080401?lang=zh-cn&partner=1000001069",
// 东北地区
"沈阳": "https://m.weathercn.com/zh/cn/shenyang/101070100/current-weather/101070100?lang=zh-cn&partner=1000001069",
"大连": "https://m.weathercn.com/zh/cn/dalian/101070201/current-weather/101070201?lang=zh-cn&partner=1000001069",
"鞍山": "https://m.weathercn.com/zh/cn/anshan/101070301/current-weather/101070301?lang=zh-cn&partner=1000001069",
"抚顺": "https://m.weathercn.com/zh/cn/fushun/101070401/current-weather/101070401?lang=zh-cn&partner=1000001069",
"本溪": "https://m.weathercn.com/zh/cn/benxi/101070501/current-weather/101070501?lang=zh-cn&partner=1000001069",
"丹东": "https://m.weathercn.com/zh/cn/dandong/101070601/current-weather/101070601?lang=zh-cn&partner=1000001069",
"锦州": "https://m.weathercn.com/zh/cn/jinzhou/101070701/current-weather/101070701?lang=zh-cn&partner=1000001069",
"营口": "https://m.weathercn.com/zh/cn/yingkou/101070801/current-weather/101070801?lang=zh-cn&partner=1000001069",
"阜新": "https://m.weathercn.com/zh/cn/fuxin/101070901/current-weather/101070901?lang=zh-cn&partner=1000001069",
"辽阳": "https://m.weathercn.com/zh/cn/liaoyang/101071001/current-weather/101071001?lang=zh-cn&partner=1000001069",
"盘锦": "https://m.weathercn.com/zh/cn/panjin/101071101/current-weather/101071101?lang=zh-cn&partner=1000001069",
"铁岭": "https://m.weathercn.com/zh/cn/tieling/101071201/current-weather/101071201?lang=zh-cn&partner=1000001069",
"朝阳": "https://m.weathercn.com/zh/cn/chaoyang/101071301/current-weather/101071301?lang=zh-cn&partner=1000001069",
"葫芦岛": "https://m.weathercn.com/zh/cn/huludao/101071401/current-weather/101071401?lang=zh-cn&partner=1000001069",
"长春": "https://m.weathercn.com/zh/cn/changchun/101060101/current-weather/101060101?lang=zh-cn&partner=1000001069",
"吉林": "https://m.weathercn.com/zh/cn/jilin/101060201/current-weather/101060201?lang=zh-cn&partner=1000001069",
"四平": "https://m.weathercn.com/zh/cn/siping/101060301/current-weather/101060301?lang=zh-cn&partner=1000001069",
"辽源": "https://m.weathercn.com/zh/cn/liaoyuan/101060401/current-weather/101060401?lang=zh-cn&partner=1000001069",
"通化": "https://m.weathercn.com/zh/cn/tonghua/101060501/current-weather/101060501?lang=zh-cn&partner=1000001069",
"白山": "https://m.weathercn.com/zh/cn/baishan/101060601/current-weather/101060601?lang=zh-cn&partner=1000001069",
"松原": "https://m.weathercn.com/zh/cn/songyuan/101060701/current-weather/101060701?lang=zh-cn&partner=1000001069",
"白城": "https://m.weathercn.com/zh/cn/baicheng/101060801/current-weather/101060801?lang=zh-cn&partner=1000001069",
"延边": "https://m.weathercn.com/zh/cn/yanbian/101060901/current-weather/101060901?lang=zh-cn&partner=1000001069",
"哈尔滨": "https://m.weathercn.com/zh/cn/haerbin/101050101/current-weather/101050101?lang=zh-cn&partner=1000001069",
"齐齐哈尔": "https://m.weathercn.com/zh/cn/qiqihaer/101050201/current-weather/101050201?lang=zh-cn&partner=1000001069",
"鸡西": "https://m.weathercn.com/zh/cn/jixi/101050301/current-weather/101050301?lang=zh-cn&partner=1000001069",
"鹤岗": "https://m.weathercn.com/zh/cn/hegang/101050401/current-weather/101050401?lang=zh-cn&partner=1000001069",
"双鸭山": "https://m.weathercn.com/zh/cn/shuangyashan/101050501/current-weather/101050501?lang=zh-cn&partner=1000001069",
"大庆": "https://m.weathercn.com/zh/cn/daqing/101050601/current-weather/101050601?lang=zh-cn&partner=1000001069",
"伊春": "https://m.weathercn.com/zh/cn/yichun/101050701/current-weather/101050701?lang=zh-cn&partner=1000001069",
"佳木斯": "https://m.weathercn.com/zh/cn/jiamusi/101050801/current-weather/101050801?lang=zh-cn&partner=1000001069",
"七台河": "https://m.weathercn.com/zh/cn/qitaihe/101050901/current-weather/101050901?lang=zh-cn&partner=1000001069",
"牡丹江": "https://m.weathercn.com/zh/cn/mudanjiang/101051001/current-weather/101051001?lang=zh-cn&partner=1000001069",
"黑河": "https://m.weathercn.com/zh/cn/heihe/101051101/current-weather/101051101?lang=zh-cn&partner=1000001069",
"绥化": "https://m.weathercn.com/zh/cn/suihua/101051201/current-weather/101051201?lang=zh-cn&partner=1000001069",
"大兴安岭": "https://m.weathercn.com/zh/cn/daxinganling/101051301/current-weather/101051301?lang=zh-cn&partner=1000001069",
// 华东地区
"上海": "https://m.weathercn.com/zh/cn/shanghai/101020100/current-weather/101020100?lang=zh-cn&partner=1000001069",
"南京": "https://m.weathercn.com/zh/cn/nanjing/101190101/current-weather/101190101?lang=zh-cn&partner=1000001069",
"无锡": "https://m.weathercn.com/zh/cn/wuxi/101190201/current-weather/101190201?lang=zh-cn&partner=1000001069",
"徐州": "https://m.weathercn.com/zh/cn/xuzhou/101190301/current-weather/101190301?lang=zh-cn&partner=1000001069",
"常州": "https://m.weathercn.com/zh/cn/changzhou/101190401/current-weather/101190401?lang=zh-cn&partner=1000001069",
"苏州": "https://m.weathercn.com/zh/cn/suzhou/101190501/current-weather/101190501?lang=zh-cn&partner=1000001069",
"南通": "https://m.weathercn.com/zh/cn/nantong/101190601/current-weather/101190601?lang=zh-cn&partner=1000001069",
"连云港": "https://m.weathercn.com/zh/cn/lianyungang/101190701/current-weather/101190701?lang=zh-cn&partner=1000001069",
"淮安": "https://m.weathercn.com/zh/cn/huaiyin/101190801/current-weather/101190801?lang=zh-cn&partner=1000001069",
"盐城": "https://m.weathercn.com/zh/cn/yancheng/101190901/current-weather/101190901?lang=zh-cn&partner=1000001069",
"扬州": "https://m.weathercn.com/zh/cn/yangzhou/101191001/current-weather/101191001?lang=zh-cn&partner=1000001069",
"镇江": "https://m.weathercn.com/zh/cn/zhenjiang/101191101/current-weather/101191101?lang=zh-cn&partner=1000001069",
"泰州": "https://m.weathercn.com/zh/cn/taizhou/101191201/current-weather/101191201?lang=zh-cn&partner=1000001069",
"宿迁": "https://m.weathercn.com/zh/cn/suqian/101191301/current-weather/101191301?lang=zh-cn&partner=1000001069",
"杭州": "https://m.weathercn.com/zh/cn/hangzhou/101210101/current-weather/101210101?lang=zh-cn&partner=1000001069",
"宁波": "https://m.weathercn.com/zh/cn/ningbo/101210401/current-weather/101210401?lang=zh-cn&partner=1000001069",
"温州": "https://m.weathercn.com/zh/cn/wenzhou/101210701/current-weather/101210701?lang=zh-cn&partner=1000001069",
"嘉兴": "https://m.weathercn.com/zh/cn/jiaxing/101210301/current-weather/101210301?lang=zh-cn&partner=1000001069",
"湖州": "https://m.weathercn.com/zh/cn/huzhou/101210201/current-weather/101210201?lang=zh-cn&partner=1000001069",
"绍兴": "https://m.weathercn.com/zh/cn/shaoxing/101210501/current-weather/101210501?lang=zh-cn&partner=1000001069",
"金华": "https://m.weathercn.com/zh/cn/jinhua/101210901/current-weather/101210901?lang=zh-cn&partner=1000001069",
"衢州": "https://m.weathercn.com/zh/cn/quzhou/101211001/current-weather/101211001?lang=zh-cn&partner=1000001069",
"舟山": "https://m.weathercn.com/zh/cn/zhoushan/101211101/current-weather/101211101?lang=zh-cn&partner=1000001069",
"台州": "https://m.weathercn.com/zh/cn/taizhou/101211301/current-weather/101211301?lang=zh-cn&partner=1000001069",
"丽水": "https://m.weathercn.com/zh/cn/lishui/101211401/current-weather/101211401?lang=zh-cn&partner=1000001069",
"合肥": "https://m.weathercn.com/zh/cn/hefei/101220101/current-weather/101220101?lang=zh-cn&partner=1000001069",
"芜湖": "https://m.weathercn.com/zh/cn/wuhu/56925/current-weather/56925?lang=zh-cn&partner=1000001069_hfaw",
"蚌埠": "https://m.weathercn.com/zh/cn/bengbu/101220201/current-weather/101220201?lang=zh-cn&partner=1000001069",
"淮南": "https://m.weathercn.com/zh/cn/huainan/101220301/current-weather/101220301?lang=zh-cn&partner=1000001069",
"马鞍山": "https://m.weathercn.com/zh/cn/maanshan/101220401/current-weather/101220401?lang=zh-cn&partner=1000001069",
"淮北": "https://m.weathercn.com/zh/cn/huibei/101220501/current-weather/101220501?lang=zh-cn&partner=1000001069",
"铜陵": "https://m.weathercn.com/zh/cn/tongling/101220601/current-weather/101220601?lang=zh-cn&partner=1000001069",
"安庆": "https://m.weathercn.com/zh/cn/anqing/101220701/current-weather/101220701?lang=zh-cn&partner=1000001069",
"黄山": "https://m.weathercn.com/zh/cn/huangshan/101220801/current-weather/101220801?lang=zh-cn&partner=1000001069",
"滁州": "https://m.weathercn.com/zh/cn/chuzhou/101220901/current-weather/101220901?lang=zh-cn&partner=1000001069",
"阜阳": "https://m.weathercn.com/zh/cn/fuyang/101221001/current-weather/101221001?lang=zh-cn&partner=1000001069",
"宿州": "https://m.weathercn.com/zh/cn/suzhou/101221101/current-weather/101221101?lang=zh-cn&partner=1000001069",
"六安": "https://m.weathercn.com/zh/cn/liuan/101221201/current-weather/101221201?lang=zh-cn&partner=1000001069",
"亳州": "https://m.weathercn.com/zh/cn/bozhou/101221301/current-weather/101221301?lang=zh-cn&partner=1000001069",
"池州": "https://m.weathercn.com/zh/cn/chizhou/101221401/current-weather/101221401?lang=zh-cn&partner=1000001069",
"宣城": "https://m.weathercn.com/zh/cn/xuancheng/101221501/current-weather/101221501?lang=zh-cn&partner=1000001069",
"福州": "https://m.weathercn.com/zh/cn/fuzhou/101230101/current-weather/101230101?lang=zh-cn&partner=1000001069",
"厦门": "https://m.weathercn.com/zh/cn/xiamen/101230201/current-weather/101230201?lang=zh-cn&partner=1000001069",
"莆田": "https://m.weathercn.com/zh/cn/putian/101230301/current-weather/101230301?lang=zh-cn&partner=1000001069",
"三明": "https://m.weathercn.com/zh/cn/sanming/101230401/current-weather/101230401?lang=zh-cn&partner=1000001069",
"泉州": "https://m.weathercn.com/zh/cn/quanzhou/101230501/current-weather/101230501?lang=zh-cn&partner=1000001069",
"漳州": "https://m.weathercn.com/zh/cn/zhangzhou/101230601/current-weather/101230601?lang=zh-cn&partner=1000001069",
"南平": "https://m.weathercn.com/zh/cn/nanping/101230701/current-weather/101230701?lang=zh-cn&partner=1000001069",
"龙岩": "https://m.weathercn.com/zh/cn/longyan/101230801/current-weather/101230801?lang=zh-cn&partner=1000001069",
"宁德": "https://m.weathercn.com/zh/cn/ningde/101230901/current-weather/101230901?lang=zh-cn&partner=1000001069",
"南昌": "https://m.weathercn.com/zh/cn/nanchang/101240101/current-weather/101240101?lang=zh-cn&partner=1000001069",
"景德镇": "https://m.weathercn.com/zh/cn/jingdezhen/101240301/current-weather/101240301?lang=zh-cn&partner=1000001069",
"萍乡": "https://m.weathercn.com/zh/cn/pingxiang/101240401/current-weather/101240401?lang=zh-cn&partner=1000001069",
"九江": "https://m.weathercn.com/zh/cn/jiujiang/101240201/current-weather/101240201?lang=zh-cn&partner=1000001069",
"新余": "https://m.weathercn.com/zh/cn/xinyu/101240501/current-weather/101240501?lang=zh-cn&partner=1000001069",
"鹰潭": "https://m.weathercn.com/zh/cn/yingtan/101240601/current-weather/101240601?lang=zh-cn&partner=1000001069",
"赣州": "https://m.weathercn.com/zh/cn/ganzhou/101240701/current-weather/101240701?lang=zh-cn&partner=1000001069",
"吉安": "https://m.weathercn.com/zh/cn/jian/101240801/current-weather/101240801?lang=zh-cn&partner=1000001069",
"宜春": "https://m.weathercn.com/zh/cn/yichun/101240901/current-weather/101240901?lang=zh-cn&partner=1000001069",
"抚州": "https://m.weathercn.com/zh/cn/fuzhou/101241001/current-weather/101241001?lang=zh-cn&partner=1000001069",
"上饶": "https://m.weathercn.com/zh/cn/shangrao/101241101/current-weather/101241101?lang=zh-cn&partner=1000001069",
"济南": "https://m.weathercn.com/zh/cn/jinan/101120100/current-weather/101120100?lang=zh-cn&partner=1000001069",
"青岛": "https://m.weathercn.com/zh/cn/qingdao/101120200/current-weather/101120200?lang=zh-cn&partner=1000001069",
"淄博": "https://m.weathercn.com/zh/cn/zibo/101120301/current-weather/101120301?lang=zh-cn&partner=1000001069",
"枣庄": "https://m.weathercn.com/zh/cn/zaozhuang/101120401/current-weather/101120401?lang=zh-cn&partner=1000001069",
"东营": "https://m.weathercn.com/zh/cn/dongying/101120701/current-weather/101120701?lang=zh-cn&partner=1000001069",
"烟台": "https://m.weathercn.com/zh/cn/yantai/101120501/current-weather/101120501?lang=zh-cn&partner=1000001069",
"潍坊": "https://m.weathercn.com/zh/cn/weifang/101120501/current-weather/101120501?lang=zh-cn&partner=1000001069",
"济宁": "https://m.weathercn.com/zh/cn/jining/101120801/current-weather/101120801?lang=zh-cn&partner=1000001069",
"泰安": "https://m.weathercn.com/zh/cn/taian/101120901/current-weather/101120901?lang=zh-cn&partner=1000001069",
"威海": "https://m.weathercn.com/zh/cn/weihai/101121001/current-weather/101121001?lang=zh-cn&partner=1000001069",
"日照": "https://m.weathercn.com/zh/cn/rizhao/101121101/current-weather/101121101?lang=zh-cn&partner=1000001069",
"临沂": "https://m.weathercn.com/zh/cn/linyi/101121301/current-weather/101121301?lang=zh-cn&partner=1000001069",
"德州": "https://m.weathercn.com/zh/cn/dezhou/101121401/current-weather/101121401?lang=zh-cn&partner=1000001069",
"聊城": "https://m.weathercn.com/zh/cn/liaocheng/101121501/current-weather/101121501?lang=zh-cn&partner=1000001069",
"滨州": "https://m.weathercn.com/zh/cn/binzhou/101121601/current-weather/101121601?lang=zh-cn&partner=1000001069",
"菏泽": "https://m.weathercn.com/zh/cn/heze/101121701/current-weather/101121701?lang=zh-cn&partner=1000001069",
// 华南地区
"广州": "https://m.weathercn.com/zh/cn/guangzhou/101280101/current-weather/101280101?lang=zh-cn&partner=1000001069",
"韶关": "https://m.weathercn.com/zh/cn/shaoguan/101280201/current-weather/101280201?lang=zh-cn&partner=1000001069",
"深圳": "https://m.weathercn.com/zh/cn/shenzhen/101280601/current-weather/101280601?lang=zh-cn&partner=1000001069",
"珠海": "https://m.weathercn.com/zh/cn/zhuhai/101280701/current-weather/101280701?lang=zh-cn&partner=1000001069",
"汕头": "https://m.weathercn.com/zh/cn/shantou/101280501/current-weather/101280501?lang=zh-cn&partner=1000001069",
"佛山": "https://m.weathercn.com/zh/cn/foshan/101280800/current-weather/101280800?lang=zh-cn&partner=1000001069",
"江门": "https://m.weathercn.com/zh/cn/jiangmen/101280901/current-weather/101280901?lang=zh-cn&partner=1000001069",
"湛江": "https://m.weathercn.com/zh/cn/zhanjiang/101281001/current-weather/101281001?lang=zh-cn&partner=1000001069",
"茂名": "https://m.weathercn.com/zh/cn/maoming/101281101/current-weather/101281101?lang=zh-cn&partner=1000001069",
"肇庆": "https://m.weathercn.com/zh/cn/zhaoqing/101281201/current-weather/101281201?lang=zh-cn&partner=1000001069",
"清远": "https://m.weathercn.com/zh/cn/qingyuan/101281201/current-weather/101281201?lang=zh-cn&partner=1000001069",
"潮州": "https://m.weathercn.com/zh/cn/chaozhou/101281501/current-weather/101281501?lang=zh-cn&partner=1000001069",
"揭阳": "https://m.weathercn.com/zh/cn/jieyang/101281601/current-weather/101281601?lang=zh-cn&partner=1000001069",
"云浮": "https://m.weathercn.com/zh/cn/yunfu/101281701/current-weather/101281701?lang=zh-cn&partner=1000001069",
"东莞": "https://m.weathercn.com/zh/cn/dongguan/101281601/current-weather/101281601?lang=zh-cn&partner=1000001069",
"南宁": "https://m.weathercn.com/zh/cn/nanning/101300101/current-weather/101300101?lang=zh-cn&partner=1000001069",
"柳州": "https://m.weathercn.com/zh/cn/liuzhou/101300301/current-weather/101300301?lang=zh-cn&partner=1000001069",
"桂林": "https://m.weathercn.com/zh/cn/guilin/101300501/current-weather/101300501?lang=zh-cn&partner=1000001069",
"梧州": "https://m.weathercn.com/zh/cn/wuzhou/101300601/current-weather/101300601?lang=zh-cn&partner=1000001069",
"北海": "https://m.weathercn.com/zh/cn/beihai/101300901/current-weather/101300901?lang=zh-cn&partner=1000001069",
"防城港": "https://m.weathercn.com/zh/cn/fangchenggang/101301001/current-weather/101301001?lang=zh-cn&partner=1000001069",
"钦州": "https://m.weathercn.com/zh/cn/qinzhou/101301101/current-weather/101301101?lang=zh-cn&partner=1000001069",
"贵港": "https://m.weathercn.com/zh/cn/guigang/101301201/current-weather/101301201?lang=zh-cn&partner=1000001069",
"玉林": "https://m.weathercn.com/zh/cn/yulin/101301301/current-weather/101301301?lang=zh-cn&partner=1000001069",
"百色": "https://m.weathercn.com/zh/cn/baise/101301401/current-weather/101301401?lang=zh-cn&partner=1000001069",
"贺州": "https://m.weathercn.com/zh/cn/hezhou/101301501/current-weather/101301501?lang=zh-cn&partner=1000001069",
"河池": "https://m.weathercn.com/zh/cn/hechi/101301601/current-weather/101301601?lang=zh-cn&partner=1000001069",
"来宾": "https://m.weathercn.com/zh/cn/laibin/101301701/current-weather/101301701?lang=zh-cn&partner=1000001069",
"崇左": "https://m.weathercn.com/zh/cn/chongzuo/101301801/current-weather/101301801?lang=zh-cn&partner=1000001069",
"海口": "https://m.weathercn.com/zh/cn/haikou/101310101/current-weather/101310101?lang=zh-cn&partner=1000001069",
"三亚": "https://m.weathercn.com/zh/cn/sanya/101310201/current-weather/101310201?lang=zh-cn&partner=1000001069",
"三沙": "https://m.weathercn.com/zh/cn/sansha/101310301/current-weather/101310301?lang=zh-cn&partner=1000001069",
"儋州": "https://m.weathercn.com/zh/cn/danzhou/101310401/current-weather/101310401?lang=zh-cn&partner=1000001069",
// 华中地区
"郑州": "https://m.weathercn.com/zh/cn/zhengzhou/101180101/current-weather/101180101?lang=zh-cn&partner=1000001069",
"开封": "https://m.weathercn.com/zh/cn/kaifeng/101180201/current-weather/101180201?lang=zh-cn&partner=1000001069",
"洛阳": "https://m.weathercn.com/zh/cn/luoyang/101180301/current-weather/101180301?lang=zh-cn&partner=1000001069",
"平顶山": "https://m.weathercn.com/zh/cn/pingdingshan/101180401/current-weather/101180401?lang=zh-cn&partner=1000001069",
"安阳": "https://m.weathercn.com/zh/cn/anyang/101180501/current-weather/101180501?lang=zh-cn&partner=1000001069",
"鹤壁": "https://m.weathercn.com/zh/cn/hebi/101180601/current-weather/101180601?lang=zh-cn&partner=1000001069",
"新乡": "https://m.weathercn.com/zh/cn/xinxiang/101180701/current-weather/101180701?lang=zh-cn&partner=1000001069",
"焦作": "https://m.weathercn.com/zh/cn/jiaozuo/101180801/current-weather/101180801?lang=zh-cn&partner=1000001069",
"濮阳": "https://m.weathercn.com/zh/cn/puyang/101180901/current-weather/101180901?lang=zh-cn&partner=1000001069",
"许昌": "https://m.weathercn.com/zh/cn/xuchang/101181001/current-weather/101181001?lang=zh-cn&partner=1000001069",
"漯河": "https://m.weathercn.com/zh/cn/luohe/101181101/current-weather/101181101?lang=zh-cn&partner=1000001069",
"三门峡": "https://m.weathercn.com/zh/cn/sanmenxia/101181201/current-weather/101181201?lang=zh-cn&partner=1000001069",
"南阳": "https://m.weathercn.com/zh/cn/nanyang/101181301/current-weather/101181301?lang=zh-cn&partner=1000001069",
"商丘": "https://m.weathercn.com/zh/cn/shangqiu/101181401/current-weather/101181401?lang=zh-cn&partner=1000001069",
"信阳": "https://m.weathercn.com/zh/cn/xinyang/101181501/current-weather/101181501?lang=zh-cn&partner=1000001069",
"周口": "https://m.weathercn.com/zh/cn/zhoukou/101181601/current-weather/101181601?lang=zh-cn&partner=1000001069",
"驻马店": "https://m.weathercn.com/zh/cn/zhumadian/101181701/current-weather/101181701?lang=zh-cn&partner=1000001069",
"武汉": "https://m.weathercn.com/zh/cn/wuhan/101200101/current-weather/101200101?lang=zh-cn&partner=1000001069",
"黄石": "https://m.weathercn.com/zh/cn/huangshi/101200201/current-weather/101200201?lang=zh-cn&partner=1000001069",
"十堰": "https://m.weathercn.com/zh/cn/shiyan/101200301/current-weather/101200301?lang=zh-cn&partner=1000001069",
"宜昌": "https://m.weathercn.com/zh/cn/yichang/101200501/current-weather/101200501?lang=zh-cn&partner=1000001069",
"襄阳": "https://m.weathercn.com/zh/cn/xiangyang/101200601/current-weather/101200601?lang=zh-cn&partner=1000001069",
"鄂州": "https://m.weathercn.com/zh/cn/ezhou/101200701/current-weather/101200701?lang=zh-cn&partner=1000001069",
"荆门": "https://m.weathercn.com/zh/cn/jingmen/101200801/current-weather/101200801?lang=zh-cn&partner=1000001069",
"孝感": "https://m.weathercn.com/zh/cn/xiaogan/101200901/current-weather/101200901?lang=zh-cn&partner=1000001069",
"荆州": "https://m.weathercn.com/zh/cn/jingzhou/101201001/current-weather/101201001?lang=zh-cn&partner=1000001069",
"黄冈": "https://m.weathercn.com/zh/cn/huanggang/101201101/current-weather/101201101?lang=zh-cn&partner=1000001069",
"咸宁": "https://m.weathercn.com/zh/cn/xianning/101201201/current-weather/101201201?lang=zh-cn&partner=1000001069",
"随州": "https://m.weathercn.com/zh/cn/suizhou/101201301/current-weather/101201301?lang=zh-cn&partner=1000001069",
"长沙": "https://m.weathercn.com/zh/cn/changsha/101250101/current-weather/101250101?lang=zh-cn&partner=1000001069",
"株洲": "https://m.weathercn.com/zh/cn/zhuzhou/101250301/current-weather/101250301?lang=zh-cn&partner=1000001069",
"湘潭": "https://m.weathercn.com/zh/cn/xiangtan/101250201/current-weather/101250201?lang=zh-cn&partner=1000001069",
"衡阳": "https://m.weathercn.com/zh/cn/hengyang/101250401/current-weather/101250401?lang=zh-cn&partner=1000001069",
"邵阳": "https://m.weathercn.com/zh/cn/shaoyang/101251301/current-weather/101251301?lang=zh-cn&partner=1000001069",
"岳阳": "https://m.weathercn.com/zh/cn/yueyang/101251001/current-weather/101251001?lang=zh-cn&partner=1000001069",
"常德": "https://m.weathercn.com/zh/cn/changde/101250601/current-weather/101250601?lang=zh-cn&partner=1000001069",
"张家界": "https://m.weathercn.com/zh/cn/zhangjiajie/101251101/current-weather/101251101?lang=zh-cn&partner=1000001069",
"益阳": "https://m.weathercn.com/zh/cn/yiyang/101250701/current-weather/101250701?lang=zh-cn&partner=1000001069",
"郴州": "https://m.weathercn.com/zh/cn/chenzhou/101250501/current-weather/101250501?lang=zh-cn&partner=1000001069",
"永州": "https://m.weathercn.com/zh/cn/yongzhou/101251401/current-weather/101251401?lang=zh-cn&partner=1000001069",
"怀化": "https://m.weathercn.com/zh/cn/huaihua/101251201/current-weather/101251201?lang=zh-cn&partner=1000001069",
"娄底": "https://m.weathercn.com/zh/cn/loudi/101250801/current-weather/101250801?lang=zh-cn&partner=1000001069",
"湘西": "https://m.weathercn.com/zh/cn/xiangxi/101251501/current-weather/101251501?lang=zh-cn&partner=1000001069",
// 西南地区
"重庆": "https://m.weathercn.com/zh/cn/chongqing/101040100/current-weather/101040100?lang=zh-cn&partner=1000001069",
"成都": "https://m.weathercn.com/zh/cn/chengdu/101270101/current-weather/101270101?lang=zh-cn&partner=1000001069",
"自贡": "https://m.weathercn.com/zh/cn/zigong/101270201/current-weather/101270201?lang=zh-cn&partner=1000001069",
"攀枝花": "https://m.weathercn.com/zh/cn/panzhihua/101270301/current-weather/101270301?lang=zh-cn&partner=1000001069",
"泸州": "https://m.weathercn.com/zh/cn/luzhou/101270401/current-weather/101270401?lang=zh-cn&partner=1000001069",
"德阳": "https://m.weathercn.com/zh/cn/deyang/101270501/current-weather/101270501?lang=zh-cn&partner=1000001069",
"绵阳": "https://m.weathercn.com/zh/cn/mianyang/101270601/current-weather/101270601?lang=zh-cn&partner=1000001069",
"广元": "https://m.weathercn.com/zh/cn/guangyuan/101270701/current-weather/101270701?lang=zh-cn&partner=1000001069",
"遂宁": "https://m.weathercn.com/zh/cn/suining/101270801/current-weather/101270801?lang=zh-cn&partner=1000001069",
"内江": "https://m.weathercn.com/zh/cn/neijiang/101270901/current-weather/101270901?lang=zh-cn&partner=1000001069",
"乐山": "https://m.weathercn.com/zh/cn/leshan/101271001/current-weather/101271001?lang=zh-cn&partner=1000001069",
"南充": "https://m.weathercn.com/zh/cn/nanchong/101270301/current-weather/101270301?lang=zh-cn&partner=1000001069",
"眉山": "https://m.weathercn.com/zh/cn/meishan/101271201/current-weather/101271201?lang=zh-cn&partner=1000001069",
"宜宾": "https://m.weathercn.com/zh/cn/yibin/101271301/current-weather/101271301?lang=zh-cn&partner=1000001069",
"广安": "https://m.weathercn.com/zh/cn/guangan/101271401/current-weather/101271401?lang=zh-cn&partner=1000001069",
"达州": "https://m.weathercn.com/zh/cn/dazhou/101271501/current-weather/101271501?lang=zh-cn&partner=1000001069",
"雅安": "https://m.weathercn.com/zh/cn/yaan/101271601/current-weather/101271601?lang=zh-cn&partner=1000001069",
"巴中": "https://m.weathercn.com/zh/cn/bazhong/101271701/current-weather/101271701?lang=zh-cn&partner=1000001069",
"资阳": "https://m.weathercn.com/zh/cn/ziyang/101271801/current-weather/101271801?lang=zh-cn&partner=1000001069",
"阿坝": "https://m.weathercn.com/zh/cn/aba/101271901/current-weather/101271901?lang=zh-cn&partner=1000001069",
"甘孜": "https://m.weathercn.com/zh/cn/ganzi/101272001/current-weather/101272001?lang=zh-cn&partner=1000001069",
"凉山": "https://m.weathercn.com/zh/cn/liangshan/101271301/current-weather/101271301?lang=zh-cn&partner=1000001069",
"贵阳": "https://m.weathercn.com/zh/cn/guiyang/101260101/current-weather/101260101?lang=zh-cn&partner=1000001069",
"六盘水": "https://m.weathercn.com/zh/cn/liupanshui/101260201/current-weather/101260201?lang=zh-cn&partner=1000001069",
"遵义": "https://m.weathercn.com/zh/cn/zunyi/101260301/current-weather/101260301?lang=zh-cn&partner=1000001069",
"安顺": "https://m.weathercn.com/zh/cn/anshun/101260401/current-weather/101260401?lang=zh-cn&partner=1000001069",
"毕节": "https://m.weathercn.com/zh/cn/bijie/101260501/current-weather/101260501?lang=zh-cn&partner=1000001069",
"铜仁": "https://m.weathercn.com/zh/cn/tongren/101260601/current-weather/101260601?lang=zh-cn&partner=1000001069",
"黔西南": "https://m.weathercn.com/zh/cn/qianxinan/101260701/current-weather/101260701?lang=zh-cn&partner=1000001069",
"黔东南": "https://m.weathercn.com/zh/cn/qiandongnan/101260801/current-weather/101260801?lang=zh-cn&partner=1000001069",
"黔南": "https://m.weathercn.com/zh/cn/qiannan/101260901/current-weather/101260901?lang=zh-cn&partner=1000001069",
"昆明": "https://m.weathercn.com/zh/cn/kunming/101290101/current-weather/101290101?lang=zh-cn&partner=1000001069",
"曲靖": "https://m.weathercn.com/zh/cn/qujing/101290201/current-weather/101290201?lang=zh-cn&partner=1000001069",
"玉溪": "https://m.weathercn.com/zh/cn/yuxi/101290301/current-weather/101290301?lang=zh-cn&partner=1000001069",
"保山": "https://m.weathercn.com/zh/cn/baoshan/101290501/current-weather/101290501?lang=zh-cn&partner=1000001069",
"昭通": "https://m.weathercn.com/zh/cn/zhaotong/101290601/current-weather/101290601?lang=zh-cn&partner=1000001069",
"丽江": "https://m.weathercn.com/zh/cn/lijiang/101291401/current-weather/101291401?lang=zh-cn&partner=1000001069",
"普洱": "https://m.weathercn.com/zh/cn/puer/101290801/current-weather/101290801?lang=zh-cn&partner=1000001069",
"临沧": "https://m.weathercn.com/zh/cn/lincang/101290901/current-weather/101290901?lang=zh-cn&partner=1000001069",
"文山": "https://m.weathercn.com/zh/cn/wenshan/101291001/current-weather/101291001?lang=zh-cn&partner=1000001069",
"红河": "https://m.weathercn.com/zh/cn/honghe/101291101/current-weather/101291101?lang=zh-cn&partner=1000001069",
"西双版纳": "https://m.weathercn.com/zh/cn/xishuangbanna/101291201/current-weather/101291201?lang=zh-cn&partner=1000001069",
"楚雄": "https://m.weathercn.com/zh/cn/chuxiong/101291301/current-weather/101291301?lang=zh-cn&partner=1000001069",
"大理": "https://m.weathercn.com/zh/cn/dali/101291501/current-weather/101291501?lang=zh-cn&partner=1000001069",
"德宏": "https://m.weathercn.com/zh/cn/dehong/101291601/current-weather/101291601?lang=zh-cn&partner=1000001069",
"怒江": "https://m.weathercn.com/zh/cn/nujiang/101291701/current-weather/101291701?lang=zh-cn&partner=1000001069",
"迪庆": "https://m.weathercn.com/zh/cn/diqing/101291801/current-weather/101291801?lang=zh-cn&partner=1000001069",
"拉萨": "https://m.weathercn.com/zh/cn/lasa/101140101/current-weather/101140101?lang=zh-cn&partner=1000001069",
"日喀则": "https://m.weathercn.com/zh/cn/rikaze/101140201/current-weather/101140201?lang=zh-cn&partner=1000001069",
"昌都": "https://m.weathercn.com/zh/cn/changdu/101140301/current-weather/101140301?lang=zh-cn&partner=1000001069",
"林芝": "https://m.weathercn.com/zh/cn/linzhi/101140401/current-weather/101140401?lang=zh-cn&partner=1000001069",
"山南": "https://m.weathercn.com/zh/cn/shannan/101140501/current-weather/101140501?lang=zh-cn&partner=1000001069",
"那曲": "https://m.weathercn.com/zh/cn/naqu/101140601/current-weather/101140601?lang=zh-cn&partner=1000001069",
"阿里": "https://m.weathercn.com/zh/cn/ali/101140701/current-weather/101140701?lang=zh-cn&partner=1000001069",
// 西北地区
"西安": "https://m.weathercn.com/zh/cn/xian/101110101/current-weather/101110101?lang=zh-cn&partner=1000001069",
"铜川": "https://m.weathercn.com/zh/cn/tongchuan/101110201/current-weather/101110201?lang=zh-cn&partner=1000001069",
"宝鸡": "https://m.weathercn.com/zh/cn/baoji/101110301/current-weather/101110301?lang=zh-cn&partner=1000001069",
"咸阳": "https://m.weathercn.com/zh/cn/xianyang/101110401/current-weather/101110401?lang=zh-cn&partner=1000001069",
"渭南": "https://m.weathercn.com/zh/cn/weinan/101110501/current-weather/101110501?lang=zh-cn&partner=1000001069",
"延安": "https://m.weathercn.com/zh/cn/yanan/101110601/current-weather/101110601?lang=zh-cn&partner=1000001069",
"汉中": "https://m.weathercn.com/zh/cn/hanzhong/101110701/current-weather/101110701?lang=zh-cn&partner=1000001069",
"榆林": "https://m.weathercn.com/zh/cn/yulin/101110801/current-weather/101110801?lang=zh-cn&partner=1000001069",
"安康": "https://m.weathercn.com/zh/cn/ankang/101110901/current-weather/101110901?lang=zh-cn&partner=1000001069",
"商洛": "https://m.weathercn.com/zh/cn/shangluo/101111001/current-weather/101111001?lang=zh-cn&partner=1000001069",
"兰州": "https://m.weathercn.com/zh/cn/lanzhou/101160101/current-weather/101160101?lang=zh-cn&partner=1000001069",
"嘉峪关": "https://m.weathercn.com/zh/cn/jiayuguan/101160201/current-weather/101160201?lang=zh-cn&partner=1000001069",
"金昌": "https://m.weathercn.com/zh/cn/jinchang/101160301/current-weather/101160301?lang=zh-cn&partner=1000001069",
"白银": "https://m.weathercn.com/zh/cn/baiyin/101160401/current-weather/101160401?lang=zh-cn&partner=1000001069",
"天水": "https://m.weathercn.com/zh/cn/tianshui/101160501/current-weather/101160501?lang=zh-cn&partner=1000001069",
"武威": "https://m.weathercn.com/zh/cn/wuwei/101160601/current-weather/101160601?lang=zh-cn&partner=1000001069",
"张掖": "https://m.weathercn.com/zh/cn/zhangye/101160701/current-weather/101160701?lang=zh-cn&partner=1000001069",
"平凉": "https://m.weathercn.com/zh/cn/pingliang/101160801/current-weather/101160801?lang=zh-cn&partner=1000001069",
"酒泉": "https://m.weathercn.com/zh/cn/jiuquan/101160901/current-weather/101160901?lang=zh-cn&partner=1000001069",
"庆阳": "https://m.weathercn.com/zh/cn/qingyang/101161001/current-weather/101161001?lang=zh-cn&partner=1000001069",
"定西": "https://m.weathercn.com/zh/cn/dingxi/101161101/current-weather/101161101?lang=zh-cn&partner=1000001069",
"陇南": "https://m.weathercn.com/zh/cn/longnan/101161201/current-weather/101161201?lang=zh-cn&partner=1000001069",
"临夏": "https://m.weathercn.com/zh/cn/linxia/101161301/current-weather/101161301?lang=zh-cn&partner=1000001069",
"甘南": "https://m.weathercn.com/zh/cn/gannan/101161401/current-weather/101161401?lang=zh-cn&partner=1000001069",
"西宁": "https://m.weathercn.com/zh/cn/xining/101150101/current-weather/101150101?lang=zh-cn&partner=1000001069",
"海东": "https://m.weathercn.com/zh/cn/haidong/101150201/current-weather/101150201?lang=zh-cn&partner=1000001069",
"海北": "https://m.weathercn.com/zh/cn/haibei/101150301/current-weather/101150301?lang=zh-cn&partner=1000001069",
"黄南": "https://m.weathercn.com/zh/cn/huangnan/101150401/current-weather/101150401?lang=zh-cn&partner=1000001069",
"海南": "https://m.weathercn.com/zh/cn/hainan/101150501/current-weather/101150501?lang=zh-cn&partner=1000001069",
"果洛": "https://m.weathercn.com/zh/cn/guoluo/101150601/current-weather/101150601?lang=zh-cn&partner=1000001069",
"玉树": "https://m.weathercn.com/zh/cn/yushu/101150701/current-weather/101150701?lang=zh-cn&partner=1000001069",
"海西": "https://m.weathercn.com/zh/cn/haixi/101150801/current-weather/101150801?lang=zh-cn&partner=1000001069",
"银川": "https://m.weathercn.com/zh/cn/yinchuan/101170101/current-weather/101170101?lang=zh-cn&partner=1000001069",
"石嘴山": "https://m.weathercn.com/zh/cn/shizuishan/101170201/current-weather/101170201?lang=zh-cn&partner=1000001069",
"吴忠": "https://m.weathercn.com/zh/cn/wuzhong/101170301/current-weather/101170301?lang=zh-cn&partner=1000001069",
"固原": "https://m.weathercn.com/zh/cn/guyuan/101170401/current-weather/101170401?lang=zh-cn&partner=1000001069",
"中卫": "https://m.weathercn.com/zh/cn/zhongwei/101170501/current-weather/101170501?lang=zh-cn&partner=1000001069",
"乌鲁木齐": "https://m.weathercn.com/zh/cn/wulumuqi/101130101/current-weather/101130101?lang=zh-cn&partner=1000001069",
"克拉玛依": "https://m.weathercn.com/zh/cn/kelamayi/101130201/current-weather/101130201?lang=zh-cn&partner=1000001069",
"吐鲁番": "https://m.weathercn.com/zh/cn/tulufan/101130501/current-weather/101130501?lang=zh-cn&partner=1000001069",
"哈密": "https://m.weathercn.com/zh/cn/hami/101130401/current-weather/101130401?lang=zh-cn&partner=1000001069",
"昌吉": "https://m.weathercn.com/zh/cn/changji/101130601/current-weather/101130601?lang=zh-cn&partner=1000001069",
"博尔塔拉": "https://m.weathercn.com/zh/cn/boertala/101130701/current-weather/101130701?lang=zh-cn&partner=1000001069",
"巴音郭楞": "https://m.weathercn.com/zh/cn/bayinguoleng/101130801/current-weather/101130801?lang=zh-cn&partner=1000001069",
"阿克苏": "https://m.weathercn.com/zh/cn/akesu/101130901/current-weather/101130901?lang=zh-cn&partner=1000001069",
"克孜勒苏": "https://m.weathercn.com/zh/cn/kezilesu/101131001/current-weather/101131001?lang=zh-cn&partner=1000001069",
"喀什": "https://m.weathercn.com/zh/cn/kashi/101131101/current-weather/101131101?lang=zh-cn&partner=1000001069",
"和田": "https://m.weathercn.com/zh/cn/hetian/101131201/current-weather/101131201?lang=zh-cn&partner=1000001069",
"伊犁": "https://m.weathercn.com/zh/cn/yili/101131301/current-weather/101131301?lang=zh-cn&partner=1000001069",
"塔城": "https://m.weathercn.com/zh/cn/tacheng/101131401/current-weather/101131401?lang=zh-cn&partner=1000001069",
"阿勒泰": "https://m.weathercn.com/zh/cn/aletai/101131501/current-weather/101131501?lang=zh-cn&partner=1000001069",
"石河子": "https://m.weathercn.com/zh/cn/shihezi/101131601/current-weather/101131601?lang=zh-cn&partner=1000001069",
// 港澳台地区
"香港": "https://m.weathercn.com/zh/cn/xianggang/101320101/current-weather/101320101?lang=zh-cn&partner=1000001069",
"澳门": "https://m.weathercn.com/zh/cn/aomen/101330101/current-weather/101330101?lang=zh-cn&partner=1000001069",
"台北": "https://m.weathercn.com/zh/cn/taibei/101340101/current-weather/101340101?lang=zh-cn&partner=1000001069",
"高雄": "https://m.weathercn.com/zh/cn/gaoxiong/101340201/current-weather/101340201?lang=zh-cn&partner=1000001069"
};
// 拼音-城市名映射表(对应上述城市)
const pinyinToCity = {
// 华北地区
'beijing': '北京',
'tianjin': '天津',
'shijiazhuang': '石家庄',
'tangshan': '唐山',
'qinhuangdao': '秦皇岛',
'handan': '邯郸',
'xingtai': '邢台',
'baoding': '保定',
'zhangjiakou': '张家口',
'chengde': '承德',
'cangzhou': '沧州',
'langfang': '廊坊',
'hengshui': '衡水',
'taiyuan': '太原',
'datong': '大同',
'yangquan': '阳泉',
'changzhi': '长治',
'jincheng': '晋城',
'shuozhou': '朔州',
'jinzhong': '晋中',
'yuncheng': '运城',
'xinzhou': '忻州',
'linfen': '临汾',
'lvliang': '吕梁',
'huhehaote': '呼和浩特',
'baotou': '包头',
'wuhai': '乌海',
'chifeng': '赤峰',
'tongliao': '通辽',
'hulunbeier': '呼伦贝尔',
'bayannaoer': '巴彦淖尔',
'wulanchabu': '乌兰察布',
'xilinguole': '锡林郭勒盟',
'xinganmeng': '兴安盟',
'alashanmeng': '阿拉善盟',
'alashanzuoqi': '阿拉善左旗',
// 东北地区
'shenyang': '沈阳',
'dalian': '大连',
'anshan': '鞍山',
'fushun': '抚顺',
'benxi': '本溪',
'dandong': '丹东',
'jinzhou': '锦州',
'yingkou': '营口',
'fuxin': '阜新',
'liaoyang': '辽阳',
'panjin': '盘锦',
'tieling': '铁岭',
'chaoyang': '朝阳',
'huludao': '葫芦岛',
'changchun': '长春',
'jilin': '吉林',
'siping': '四平',
'liaoyuan': '辽源',
'tonghua': '通化',
'baishan': '白山',
'songyuan': '松原',
'baicheng': '白城',
'yanbian': '延边',
'haerbin': '哈尔滨',
'qiqihaer': '齐齐哈尔',
'jixi': '鸡西',
'hegang': '鹤岗',
'shuangyashan': '双鸭山',
'daqing': '大庆',
'yichun': '伊春',
'jiamusi': '佳木斯',
'qitaihe': '七台河',
'mudanjiang': '牡丹江',
'heihe': '黑河',
'suihua': '绥化',
'daxinganling': '大兴安岭',
// 华东地区
'shanghai': '上海',
'nanjing': '南京',
'wuxi': '无锡',
'xuzhou': '徐州',
'changzhou': '常州',
'suzhou': '苏州',
'nantong': '南通',
'lianyungang': '连云港',
'huaiyin': '淮安',
'yancheng': '盐城',
'yangzhou': '扬州',
'zhenjiang': '镇江',
'taizhou': '泰州',
'suqian': '宿迁',
'hangzhou': '杭州',
'ningbo': '宁波',
'wenzhou': '温州',
'jiaxing': '嘉兴',
'huzhou': '湖州',
'shaoxing': '绍兴',
'jinhua': '金华',
'quzhou': '衢州',
'zhoushan': '舟山',
'taizhou': '台州',
'lishui': '丽水',
'hefei': '合肥',
'wuhu': '芜湖',
'bengbu': '蚌埠',
'huainan': '淮南',
'maanshan': '马鞍山',
'huibei': '淮北',
'tongling': '铜陵',
'anqing': '安庆',
'huangshan': '黄山',
'chuzhou': '滁州',
'fuyang': '阜阳',
'suzhou': '宿州',
'liuan': '六安',
'bozhou': '亳州',
'chizhou': '池州',
'xuancheng': '宣城',
'fuzhou': '福州',
'xiamen': '厦门',
'putian': '莆田',
'sanming': '三明',
'quanzhou': '泉州',
'zhangzhou': '漳州',
'nanping': '南平',
'longyan': '龙岩',
'ningde': '宁德',
'nanchang': '南昌',
'jingdezhen': '景德镇',
'pingxiang': '萍乡',
'jiujiang': '九江',
'xinyu': '新余',
'yingtan': '鹰潭',
'ganzhou': '赣州',
'jian': '吉安',
'yichun': '宜春',
'fuzhou': '抚州',
'shangrao': '上饶',
'jinan': '济南',
'qingdao': '青岛',
'zibo': '淄博',
'zaozhuang': '枣庄',
'dongying': '东营',
'yantai': '烟台',
'weifang': '潍坊',
'jining': '济宁',
'taian': '泰安',
'weihai': '威海',
'rizhao': '日照',
'linyi': '临沂',
'dezhou': '德州',
'liaocheng': '聊城',
'binzhou': '滨州',
'heze': '菏泽',
// 华南地区
'guangzhou': '广州',
'shaoguan': '韶关',
'shenzhen': '深圳',
'zhuhai': '珠海',
'shantou': '汕头',
'foshan': '佛山',
'jiangmen': '江门',
'zhanjiang': '湛江',
'maoming': '茂名',
'zhaoqing': '肇庆',
'qingyuan': '清远',
'chaozhou': '潮州',
'jieyang': '揭阳',
'yunfu': '云浮',
'dongguan': '东莞',
'nanning': '南宁',
'liuzhou': '柳州',
'guilin': '桂林',
'wuzhou': '梧州',
'beihai': '北海',
'fangchenggang': '防城港',
'qinzhou': '钦州',
'guigang': '贵港',
'yulin': '玉林',
'baise': '百色',
'hezhou': '贺州',
'hechi': '河池',
'laibin': '来宾',
'chongzuo': '崇左',
'haikou': '海口',
'sanya': '三亚',
'sansha': '三沙',
'danzhou': '儋州',
// 华中地区
'zhengzhou': '郑州',
'kaifeng': '开封',
'luoyang': '洛阳',
'pingdingshan': '平顶山',
'anyang': '安阳',
'hebi': '鹤壁',
'xinxiang': '新乡',
'jiaozuo': '焦作',
'puyang': '濮阳',
'xuchang': '许昌',
'luohe': '漯河',
'sanmenxia': '三门峡',
'nanyang': '南阳',
'shangqiu': '商丘',
'xinyang': '信阳',
'zhoukou': '周口',
'zhumadian': '驻马店',
'wuhan': '武汉',
'huangshi': '黄石',
'shiyan': '十堰',
'yichang': '宜昌',
'xiangyang': '襄阳',
'ezhou': '鄂州',
'jingmen': '荆门',
'xiaogan': '孝感',
'jingzhou': '荆州',
'huanggang': '黄冈',
'xianning': '咸宁',
'suizhou': '随州',
'changsha': '长沙',
'zhuzhou': '株洲',
'xiangtan': '湘潭',
'hengyang': '衡阳',
'shaoyang': '邵阳',
'yueyang': '岳阳',
'changde': '常德',
'zhangjiajie': '张家界',
'yiyang': '益阳',
'chenzhou': '郴州',
'yongzhou': '永州',
'huaihua': '怀化',
'loudi': '娄底',
'xiangxi': '湘西',
// 西南地区
'chongqing': '重庆',
'chengdu': '成都',
'zigong': '自贡',
'panzhihua': '攀枝花',
'luzhou': '泸州',
'deyang': '德阳',
'mianyang': '绵阳',
'guangyuan': '广元',
'suining': '遂宁',
'neijiang': '内江',
'leshan': '乐山',
'nanchong': '南充',
'meishan': '眉山',
'yibin': '宜宾',
'guangan': '广安',
'dazhou': '达州',
'yaan': '雅安',
'bazhong': '巴中',
'ziyang': '资阳',
'aba': '阿坝',
'ganzi': '甘孜',
'liangshan': '凉山',
'guiyang': '贵阳',
'liupanshui': '六盘水',
'zunyi': '遵义',
'anshun': '安顺',
'bijie': '毕节',
'tongren': '铜仁',
'qianxinan': '黔西南',
'qiandongnan': '黔东南',
'qiannan': '黔南',
'kunming': '昆明',
'qujing': '曲靖',
'yuxi': '玉溪',
'baoshan': '保山',
'zhaotong': '昭通',
'lijiang': '丽江',
'puer': '普洱',
'lincang': '临沧',
'wenshan': '文山',
'honghe': '红河',
'xishuangbanna': '西双版纳',
'chuxiong': '楚雄',
'dali': '大理',
'dehong': '德宏',
'nujiang': '怒江',
'diqing': '迪庆',
'lasa': '拉萨',
'rikaze': '日喀则',
'changdu': '昌都',
'linzhi': '林芝',
'shannan': '山南',
'naqu': '那曲',
'ali': '阿里',
// 西北地区
'xian': '西安',
'tongchuan': '铜川',
'baoji': '宝鸡',
'xianyang': '咸阳',
'weinan': '渭南',
'yanan': '延安',
'hanzhong': '汉中',
'yulin': '榆林',
'ankang': '安康',
'shangluo': '商洛',
'lanzhou': '兰州',
'jiayuguan': '嘉峪关',
'jinchang': '金昌',
'baiyin': '白银',
'tianshui': '天水',
'wuwei': '武威',
'zhangye': '张掖',
'pingliang': '平凉',
'jiuquan': '酒泉',
'qingyang': '庆阳',
'dingxi': '定西',
'longnan': '陇南',
'linxia': '临夏',
'gannan': '甘南',
'xining': '西宁',
'haidong': '海东',
'haibei': '海北',
'huangnan': '黄南',
'hainan': '海南',
'guoluo': '果洛',
'yushu': '玉树',
'haixi': '海西',
'yinchuan': '银川',
'shizuishan': '石嘴山',
'wuzhong': '吴忠',
'guyuan': '固原',
'zhongwei': '中卫',
'wulumuqi': '乌鲁木齐',
'kelamayi': '克拉玛依',
'tulufan': '吐鲁番',
'hami': '哈密',
'changji': '昌吉',
'boertala': '博尔塔拉',
'bayinguoleng': '巴音郭楞',
'akesu': '阿克苏',
'kezilesu': '克孜勒苏',
'kashi': '喀什',
'hetian': '和田',
'yili': '伊犁',
'tacheng': '塔城',
'aletai': '阿勒泰',
'shihezi': '石河子',
// 港澳台地区
'xianggang': '香港',
'aomen': '澳门',
'taibei': '台北',
'gaoxiong': '高雄'
};