天气代码转换
将天气代码转换为可读的中文描述,方便在前端展示。
当接口返回天气代码(weather_id)时,可以使用下表或参考实现将其转换为中文描述。
代码对照表
| 代码 | 描述 |
|---|---|
| 0 | 晴 |
| 1 | 多云 |
| 2 | 阴 |
| 3 | 阵雨 |
| 4 | 雷阵雨 |
| 5 | 雷阵雨伴有冰雹 |
| 6 | 雨夹雪 |
| 7 | 小雨 |
| 8 | 中雨 |
| 9 | 大雨 |
| 10 | 暴雨 |
| 11 | 大暴雨 |
| 12 | 特大暴雨 |
| 13 | 阵雪 |
| 14 | 小雪 |
| 15 | 中雪 |
| 16 | 大雪 |
| 17 | 暴雪 |
| 18 | 雾 |
| 19 | 冻雨 |
| 20 | 沙尘暴 |
| 21 | 小到中雨 |
| 22 | 中到大雨 |
| 23 | 大到暴雨 |
| 24 | 暴雨到大暴雨 |
| 25 | 大暴雨到特大暴雨 |
| 26 | 小到中雪 |
| 27 | 中到大雪 |
| 28 | 大到暴雪 |
| 29 | 浮尘 |
| 30 | 扬沙 |
| 31 | 强沙尘暴 |
| 32 | 浓雾 |
| 33 | 龙卷风 |
| 34 | 弱高吹雪 |
| 35 | 轻雾 |
| 49 | 强浓雾 |
| 53 | 霾 |
| 54 | 中度霾 |
| 55 | 重度霾 |
| 56 | 严重霾 |
| 57 | 大雾 |
| 58 | 特强浓雾 |
| 301 | 雨 |
| 302 | 雪 |
| 999999 | 缺测 |
参考实现
export function getWeatherDescription(code: number | string): string {
const codeStr = String(code);
switch (codeStr) {
case "0": return "晴";
case "1": return "多云";
case "2": return "阴";
case "3": return "阵雨";
case "4": return "雷阵雨";
case "5": return "雷阵雨伴有冰雹";
case "6": return "雨夹雪";
case "7": return "小雨";
case "8": return "中雨";
case "9": return "大雨";
case "10": return "暴雨";
case "11": return "大暴雨";
case "12": return "特大暴雨";
case "13": return "阵雪";
case "14": return "小雪";
case "15": return "中雪";
case "16": return "大雪";
case "17": return "暴雪";
case "18": return "雾";
case "19": return "冻雨";
case "20": return "沙尘暴";
case "21": return "小到中雨";
case "22": return "中到大雨";
case "23": return "大到暴雨";
case "24": return "暴雨到大暴雨";
case "25": return "大暴雨到特大暴雨";
case "26": return "小到中雪";
case "27": return "中到大雪";
case "28": return "大到暴雪";
case "29": return "浮尘";
case "30": return "扬沙";
case "31": return "强沙尘暴";
case "32": return "浓雾";
case "33": return "龙卷风";
case "34": return "弱高吹雪";
case "35": return "轻雾";
case "49": return "强浓雾";
case "53": return "霾";
case "54": return "中度霾";
case "55": return "重度霾";
case "56": return "严重霾";
case "57": return "大雾";
case "58": return "特强浓雾";
case "301": return "雨";
case "302": return "雪";
case "999999": return "缺测";
default: return "未知";
}
}
note
如果遇到未列出的代码,请统一展示为“未知”。