ng-cw-v12
Version:
Angular UI Component Library
2,290 lines • 194 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, NgModule } from '@angular/core';
import { __awaiter } from 'tslib';
import * as i1 from '@angular/platform-browser';
class NcWeatherService {
constructor(sanitizer) {
this.sanitizer = sanitizer;
this.skyconEnum = {
"CLEAR_DAY": {
"word": "晴",
"icon": `<svg t="1715568927980" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1691" width="64" height="64"><path d="M944.3 414.4c-87.7 3.2-113.4-18.9-81.6-70.4-60.1-7.2-61.4-41.1-4.2-107.7-77.7 41-110.4 32.2-104-28.1-57.3 19.6-73.2-10.4-50.5-95.2-52.2 70.6-85.5 76.9-105.9 19.9-43.1 42.5-70.4 22.4-86.8-63.8-16.4 86.3-43.7 106.4-86.8 63.8-20.4 57-53.7 50.8-105.9-19.9 22.7 84.8 6.8 114.8-50.5 95.2 6.4 60.2-26.4 69-104 28.1 57.2 66.6 55.9 100.5-4.2 107.7 31.8 51.5 6.2 73.6-81.6 70.4 80.5 35.2 94 66.3 42.9 98.8 51 32.6 37.5 63.7-42.9 98.8 87.8-3.2 113.4 18.9 81.6 70.4 60.1 7.2 61.4 41.1 4.2 107.7 77.6-41 110.4-32.2 104 28.1 57.3-19.6 73.2 10.4 50.5 95.2 52.2-70.6 85.5-76.9 105.9-19.9 43.1-42.5 70.4-22.4 86.8 63.8 16.4-86.3 43.7-106.4 86.8-63.8 20.4-57 53.7-50.8 105.9 19.9-22.7-84.8-6.8-114.8 50.5-95.2-6.4-60.2 26.4-69 104-28.1-57.2-66.6-55.9-100.5 4.2-107.7-31.9-51.5-6.2-73.7 81.6-70.4-80.5-35.2-94-66.3-42.9-98.8-51.1-32.5-37.6-63.7 42.9-98.8z m-433 458.2c-172.2-47-312.4-187.1-359.4-359.4 47-172.2 187.2-312.4 359.4-359.4 172.2 47 312.4 187.2 359.4 359.4-47.1 172.3-187.2 312.4-359.4 359.4z" fill="#F9A433" p-id="1692"></path><path d="M878.9 513.3c0-4-13.4-29.7-13.5-33.7-0.8-22.1-3.6-22-8.2-42.9 1-1 1.8-2 2.8-2.9-1.3-0.4-2.6-1-3.8-1.4-11.8-50.3-34.5-97.3-66.5-137.8 0.5-1.4 0.9-2.8 1.4-4.1-1.4 0.2-2.9 0.3-4.3 0.4-32.5-40.1-73.3-72.7-119.6-95.5-0.2-1.4-0.4-2.7-0.5-4.1-1.1 0.8-2.4 1.4-3.5 2.1-45.3-21.6-71.9-33.8-125.3-34.1-0.7-1.2-25.6-20.5-26.3-21.7-0.7 1.2-28.9 20.6-29.6 21.7-53.4 0.3-76.6 12.5-122 34.1-1.2-0.7-2.4-1.4-3.5-2.1-0.1 1.4-0.4 2.7-0.5 4.1-46.3 22.8-87 55.4-119.5 95.5-1.4-0.2-2.9-0.2-4.3-0.4 0.5 1.4 0.9 2.8 1.4 4.1-32 40.5-54.7 87.5-66.5 137.8-1.3 0.5-2.6 1-3.9 1.4 1 0.9 1.9 2 2.8 2.9-4.8 21.5-7.6 23.9-8.3 46.7-0.1 3.3-13.9 26.6-13.9 29.9 0 3 13.8 29.7 13.9 32.6 0.6 23.2 3.5 22.1 8.3 43.9-1 1-1.8 2-2.8 3 1.3 0.4 2.6 1 3.9 1.4 11.8 50.2 34.5 97.3 66.5 137.8-0.5 1.4-0.8 2.8-1.4 4.1 1.4-0.2 2.9-0.3 4.3-0.4 32.5 40.1 73.2 72.7 119.5 95.5 0.2 1.4 0.4 2.7 0.5 4.1 1.2-0.8 2.4-1.4 3.5-2.1 45.3 21.6 62.9 33.7 116.3 34.1 0.7 1.2 34.6 20.4 35.3 21.6 0.7-1.2 29.4-20.5 30.1-21.6 53.4-0.3 76.1-12.5 121.5-34.1 1.2 0.7 2.4 1.4 3.5 2.1 0.1-1.4 0.4-2.7 0.5-4.1 46.3-22.8 87.1-55.4 119.6-95.5 1.4 0.2 2.9 0.2 4.3 0.4-0.5-1.4-0.9-2.8-1.4-4.1 32-40.5 54.7-87.5 66.5-137.8 1.3-0.5 2.5-1 3.8-1.4-1-0.9-1.9-2-2.9-3 4.8-21.6 7.7-20.2 8.3-43 0.1-3.2 13.5-30.2 13.5-33.5zM511.3 830.1c-175 0-316.9-141.9-316.9-316.9s141.8-316.9 316.9-316.9 316.9 141.9 316.9 316.9-141.9 316.9-316.9 316.9z" fill="#F9A433" p-id="1693"></path><path d="M511.3 513.2m-281.2 0a281.2 281.2 0 1 0 562.4 0 281.2 281.2 0 1 0-562.4 0Z" fill="#F58A33" p-id="1694"></path><path d="M511.3 232c-131.5 0-241.9 90.3-272.7 212.2 30.8 122 141.2 212.2 272.7 212.2S753.2 566.1 784 444.2C753.2 322.3 642.8 232 511.3 232z" fill="#F79A4D" p-id="1695"></path><path d="M400.4 348.9a123.8 100.6 0 1 0 247.6 0 123.8 100.6 0 1 0-247.6 0Z" fill="#F4B04E" p-id="1696"></path><path d="M481 296.2a51 33.9 0 1 0 102 0 51 33.9 0 1 0-102 0Z" fill="#FFEEC5" p-id="1697"></path></svg>`,
"bg": `<svg viewBox="0 0 1024 1200" xmlns="http://www.w3.org/2000/svg">
<!-- 天空背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#64B5F6;stop-opacity:1" />
<stop offset="100%" style="stop-color:#E3F2FD;stop-opacity:1" />
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 太阳 -->
<defs>
<linearGradient id="sunGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#FFD54F;stop-opacity:1" />
<stop offset="100%" style="stop-color:#FFA726;stop-opacity:1" />
</linearGradient>
</defs>
<circle cx="800" cy="100" r="60" fill="url(#sunGradient)">
<animate attributeName="opacity" values="0.8;1;0.8" dur="8s" repeatCount="indefinite" />
</circle>
<!-- 光晕效果 -->
<circle cx="800" cy="100" r="80" fill="url(#sunGradient)" opacity="0.3">
<animate attributeName="r" values="80;90;80" dur="8s" repeatCount="indefinite" />
</circle>
</svg>`
},
"CLEAR_NIGHT": {
"word": "晴",
"icon": `<svg t="1715570184311" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1858" width="64" height="64"><path d="M791.1 766.5c-38.6-4.6-75.6-13.5-109.6-27.4-50.7-20.8-99.1-57.1-133.1-98.1-50.1-60.7-87-125.8-87.4-244.4-0.2-68.7 25.4-142 57.4-190.9 21-32.1 43.5-56.8 73.3-82.9 5.1-4.4 19.8-11.7 19.4-15.6-0.4-4-13.2-6-21.7-7.1-8.7-1.2-17.4-1.8-26.1-1.9-229.2 0-415 185.8-415 415s185.8 416.2 415 415c114.4-0.6 204.9-41.6 274.4-104.5 10.5-9.5 21.1-19.2 30.2-30 14-16.7 14.8-28.4 8.2-29.1-5.4-0.6-42.2 6.9-85 1.9z" fill="#FDBC11" p-id="1859"></path><path d="M823 781.9c-208.3 0-377.2-168.9-377.2-377.2 0-117.5 53.7-222.4 138-291.6-7.3-0.4-14.7-0.6-22.1-0.6-221.3 0-400.6 179.3-400.6 400.6s179.3 400.6 400.6 400.6C680.4 913.7 787 862 860.3 780c-12.3 1.2-24.8 1.9-37.3 1.9z" fill="#F58A33" p-id="1860"></path><path d="M562.2 677.2c-74.5-71.1-116.5-169.6-116.4-272.5 0-117.5 53.7-222.4 138-291.6-7.3-0.4-14.7-0.6-22.1-0.6-221.3 0-400.6 179.3-400.6 400.6 0 25.4 2.4 50.8 7.1 75.8 64.1 72.2 155.6 117.3 257.2 117.3 47.2 0 93.7-9.8 136.8-29z" fill="#F79A4D" p-id="1861"></path><path d="M223.6 297.9C256.1 385 340 447 438.5 447c3.2 0 6.4-0.1 9.6-0.2-1.5-13.9-2.3-28-2.3-42 0-117.5 53.7-222.4 138-291.6-7.3-0.4-14.7-0.6-22.1-0.6-142.1-0.1-266.9 73.9-338.1 185.3z" fill="#F4B04E" p-id="1862"></path><path d="M377.9 157c7 52.8 41.5 97.9 90.6 118.5 23.2-63.4 63-119.5 115.2-162.4-7.3-0.4-14.7-0.6-22.1-0.6-63.9-0.1-127 15.2-183.7 44.5z" fill="#F2C051" p-id="1863"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- Night sky background -->
<rect width="100%" height="100%" fill="#0C1445"/>
<!-- Stars -->
<g fill="#FFFFFF">
<circle cx="200" cy="30" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="50" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4s" repeatCount="indefinite" />
</circle>
<circle cx="450" cy="40" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="5s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="120" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3.5s" repeatCount="indefinite" />
</circle>
<circle cx="650" cy="70" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4.5s" repeatCount="indefinite" />
</circle>
</g>
<!-- Moon -->
<circle cx="750" cy="100" r="70" fill="#FFEFD5"/>
<circle cx="715" cy="100" r="60" fill="#0C1445"/> <!-- Crescent effect -->
</svg>`
},
"PARTLY_CLOUDY_DAY": {
"word": "多云",
"icon": `<svg t="1715570207244" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2024" width="64" height="64"><path d="M958.1 273.4c-53.2 1.9-68.8-11.5-49.5-42.7-36.4-4.4-37.2-25-2.5-65.4-47.1 24.9-67 19.5-63.1-17-34.7 11.9-44.3-6.3-30.7-57.7-31.7 42.8-51.9 46.6-64.2 12.1-26.2 25.8-42.7 13.6-52.7-38.8-10 52.4-26.5 64.5-52.7 38.8-12.4 34.6-32.6 30.7-64.2-12.1 13.8 51.4 4.2 69.6-30.7 57.7 3.9 36.5-16 41.9-63.1 17 34.7 40.4 33.9 60.9-2.5 65.4 19.3 31.3 3.8 44.7-49.5 42.7 48.8 21.3 57 40.2 26.1 60 31 19.8 22.7 38.7-26.1 60 53.2-1.9 68.8 11.5 49.5 42.7 36.4 4.4 37.2 25 2.5 65.4 47.1-24.9 67-19.5 63.1 17 34.7-11.9 44.3 6.3 30.7 57.7 31.7-42.8 51.9-46.6 64.2-12.1 26.2-25.8 42.7-13.6 52.7 38.8 10-52.4 26.5-64.5 52.7-38.8 12.4-34.6 32.6-30.8 64.2 12.1-13.8-51.5-4.1-69.6 30.7-57.7-3.9-36.5 16-41.9 63.1-17-34.7-40.4-33.9-61 2.5-65.4-19.3-31.3-3.8-44.6 49.5-42.7-48.8-21.3-57-40.2-26.1-60-30.8-19.8-22.7-38.7 26.1-60z m-262.6 278c-104.5-28.6-189.5-113.6-218-218C506 229 591 143.9 695.5 115.4c104.4 28.5 189.5 113.6 218 218-28.6 104.4-113.5 189.5-218 218z" fill="#F9A433" p-id="2025"></path><path d="M918.5 333.4c0-2.4-8.1-18.1-8.2-20.4-0.5-13.4-2.1-13.3-5-26 0.6-0.6 1.1-1.2 1.7-1.8-0.8-0.3-1.5-0.6-2.3-0.9-7.2-30.5-21-59-40.4-83.6 0.3-0.8 0.5-1.6 0.8-2.5-0.9 0.1-1.8 0.2-2.6 0.2-19.7-24.3-44.5-44.1-72.6-57.9-0.2-0.8-0.3-1.7-0.3-2.5-0.7 0.5-1.4 0.8-2.1 1.3-27.5-13.1-43.6-20.5-76-20.7-0.4-0.7-15.5-12.5-15.9-13.2-0.4 0.7-17.6 12.5-18 13.2-32.4 0.2-46.5 7.6-74 20.7-0.7-0.4-1.4-0.8-2.1-1.3-0.1 0.8-0.2 1.6-0.3 2.5-28.1 13.8-52.8 33.6-72.5 57.9-0.9-0.1-1.7-0.1-2.6-0.2 0.3 0.8 0.5 1.6 0.8 2.5-19.4 24.6-33.2 53.1-40.4 83.5-0.8 0.3-1.5 0.6-2.3 0.9 0.6 0.6 1.1 1.2 1.7 1.8-2.9 13.1-4.7 14.5-5.1 28.3 0 2-8.4 16.1-8.4 18.2 0 1.8 8.4 18 8.4 19.8 0.4 14.1 2.1 13.4 5.1 26.7-0.6 0.6-1.1 1.2-1.7 1.8 0.8 0.3 1.6 0.6 2.3 0.9 7.2 30.5 20.9 59 40.4 83.5-0.3 0.8-0.5 1.7-0.8 2.5 0.9-0.1 1.8-0.2 2.6-0.2 19.7 24.3 44.4 44.1 72.5 57.9 0.2 0.8 0.3 1.7 0.3 2.5 0.7-0.5 1.4-0.8 2.1-1.3 27.5 13.1 38.2 20.5 70.5 20.7 0.4 0.7 21 12.4 21.4 13.1 0.4-0.7 17.8-12.4 18.3-13.1 32.4-0.2 46.2-7.6 73.7-20.7 0.7 0.4 1.4 0.8 2.1 1.3 0.1-0.8 0.2-1.6 0.3-2.5 28.1-13.9 52.8-33.6 72.6-58 0.8 0.1 1.7 0.1 2.6 0.2-0.3-0.8-0.5-1.6-0.8-2.5 19.4-24.6 33.2-53.1 40.4-83.5 0.8-0.3 1.5-0.6 2.3-0.9-0.6-0.6-1.1-1.2-1.7-1.8 2.9-13.1 4.7-12.3 5.1-26.1 0-1.9 8.1-18.3 8.1-20.3z m-223 192.2c-106.2 0-192.2-86.1-192.2-192.2s86.1-192.2 192.2-192.2 192.2 86.1 192.2 192.2-86.1 192.2-192.2 192.2z" fill="#F9A433" p-id="2026"></path><path d="M695.5 333.4m-170.6 0a170.6 170.6 0 1 0 341.2 0 170.6 170.6 0 1 0-341.2 0Z" fill="#F58A33" p-id="2027"></path><path d="M695.5 162.8c-78.1 0-146.2 53-165.4 128.7 23.2 91.4 116 146.6 207.4 123.4 60.7-15.4 108-62.8 123.4-123.4-19.2-75.7-87.4-128.7-165.4-128.7z" fill="#F79A4D" p-id="2028"></path><path d="M628.3 233.7a75.1 61 0 1 0 150.2 0 75.1 61 0 1 0-150.2 0Z" fill="#F4B04E" p-id="2029"></path><path d="M677 201.8a31 20.6 0 1 0 62 0 31 20.6 0 1 0-62 0Z" fill="#FFEEC5" p-id="2030"></path><path d="M237.1 411.1S91.3 388.2 67.3 515.2C54.1 585.3 86.7 628 128.4 653.8c38.8 24 77.5 26.6 77.5 26.6h573.3s29.2-1.5 55.5-11.4c41.2-15.6 87.3-50.6 75.7-133.1-13.4-96-116.2-92.4-116.2-92.4s3.2-74.9-75.5-98.7c-54.2-16.3-89.3 7-89.3 7s-63-108-194.3-100.7c-173.2 9.8-198 160-198 160z" fill="#78A4D6" p-id="2031"></path><path d="M898.4 536.2c-16.3-86.2-115.2-81.8-115.2-81.8s4.6-74.4-69.8-98.4c-45.2-14.6-88.1 7.9-88.1 7.9s-65.7-110.7-189-101.8C270 274.2 245.1 424.8 245.1 424.8S105.5 395 79.2 516.3C50.8 647.8 202.9 668.4 202.9 668.4h268.7s58.9-4.6 82.7-30.8c32.4-35.4 34.1-87.4-4.1-115.3-34.4-25.2-76.2-19.6-105.5-8.5-11.9 4.5-13 6.2-14.5 5.9-1.1-0.2-4.4-3.5 2.7-8.6 8.9-6.5 19.1-12.7 36.6-16.7 59.5-13.7 115.4 16 130.8 61.4 11 31.7 9.6 66.3-3.9 97-4.2 9.3-6.1 9.1-6 12.5 0.1 3.7 4.6 3.2 4.6 3.2h190.3c0.2-0.2 136.1-11.4 113.1-132.3z" fill="#C0E7FA" p-id="2032"></path><path d="M471.5 668.3s58.9-4.6 82.7-30.8c21.7-23.8 29.5-54.8 20.9-81.2-3.2-9.5-8.5-18.2-15.3-25.5-0.5-0.6-1.1-1.2-1.7-1.7-0.7-0.7-1.4-1.4-2.2-2.1-1.8-1.6-3.8-3.2-5.8-4.8-12.2-9-26.5-14.7-41.5-16.7h-0.6c46.9 28.6 31.2 77.7-0.6 95.2-25.1 13.8-79.8 16.3-97 12.8-103.4-20.9-100-75.8-97.5-97.2 0.6-5.8 4.2-7.7 1.5-9.1s-10.5 4.1-13.8 6.6c-38.1 28.6-29.4 68.1-29.4 68.1s-57.5 18.9-116-11.7C101 541.8 96 484.6 95.7 474l-1.5 2.4c-1.4 2.5-3.7 6.3-6.1 11.6-0.9 2-1.8 4.2-2.7 6.3-0.3 0.7-0.5 1.4-0.8 2.1-0.9 2.4-1.7 5-2.5 7.5-0.3 0.9-0.6 1.9-0.9 2.9-0.7 2.4-1.3 4.9-1.8 7.4-0.9 3.9-1.7 7.9-2.4 12.5-0.6 3.7-0.9 7.1-1.2 10.5 0 0.4-0.1 0.7-0.1 1.1-0.2 2.8-0.3 5.6-0.3 8.3v3.3c0 1.9 0.1 3.9 0.2 5.8 6.5 96.2 127 112.5 127 112.5l268.9 0.1zM901 557.9c-0.3-7.2-1.2-14.3-2.5-21.4-0.3-1.7-0.7-3.3-1-4.9l-0.3-1.5c-0.2-1-0.5-1.9-0.7-2.9-5.8-21-16.8-35.9-29.8-46.6-3.4-2.7-7-5.3-10.7-7.6-0.3-0.2 30.8 90.6-79.8 121.8-38.9 11-129.8 13.2-169.6-14.5 3.5 24.5 0.1 49.5-9.7 72.2-4.2 9.3-6.1 9.1-6 12.5 0.1 3.7 4.6 3.2 4.6 3.2h190.2c-0.2 0.1 118.9-9.8 115.3-110.3z" fill="#9CDCF8" p-id="2033"></path><path d="M411.3 333.4a76.9 49.6 0 1 0 153.8 0 76.9 49.6 0 1 0-153.8 0Z" fill="#FFFFFF" p-id="2034"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- Sky background - slightly darker to represent cloudier weather -->
<rect width="100%" height="100%" fill="#78A5CB"/>
<!-- Partially visible sun -->
<circle cx="800" cy="50" r="30" fill="#FFD700" opacity="0.7">
<animate attributeName="opacity" values="0.5;0.7;0.5" dur="5s" repeatCount="indefinite" />
</circle>
<!-- Large cloud covering part of the sun -->
<g fill="#FFFFFF">
<ellipse cx="800" cy="80" rx="50" ry="30" />
<ellipse cx="810" cy="80" rx="50" ry="35" />
<ellipse cx="890" cy="60" rx="50" ry="30" />
</g>
<!-- Additional clouds -->
<g fill="#FFFFFF">
<ellipse cx="600" cy="60" rx="40" ry="25">
<animate attributeName="cx" values="600;610;600" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="640" cy="50" rx="40" ry="30">
<animate attributeName="cx" values="640;650;640" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="620" cy="55" rx="40" ry="25">
<animate attributeName="cx" values="620;630;620" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
<g fill="#E6E6E6">
<ellipse cx="830" cy="100" rx="50" ry="30">
<animate attributeName="cx" values="830;840;830" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="870" cy="100" rx="50" ry="35">
<animate attributeName="cx" values="870;880;870" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="850" cy="80" rx="50" ry="30">
<animate attributeName="cx" values="850;860;850" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
</svg>`
},
"PARTLY_CLOUDY_NIGHT": {
"word": "多云",
"icon": `<svg t="1715570219124" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2195" width="64" height="64"><path d="M913 309.4c-20.3 12.9-41.4 23.1-63.1 29.6-32.3 9.8-69.6 11.4-101.8 4.9-47.5-9.5-90.6-26.3-137-82.8-26.9-32.8-43.1-77.8-46.9-113.6-2.5-23.5-1.4-44.1 2.8-68.2 0.8-4.1 4.8-13.3 3.2-15-1.6-1.7-8.6 2.2-13.2 5s-9 5.9-13.2 9.2c-109.5 89.3-126 250.5-36.7 360.1s251 126.6 360.1 36.7c54.5-44.8 81.7-99.8 90.4-156.8 1.3-8.7 2.6-17.4 2.7-26.1 0.2-13.4-4.1-19.3-7.4-17-2.8 1.7-17.5 19.7-39.9 34z" fill="#FDBC11" p-id="2196"></path><path d="M934.2 304.3c-99.6 81.2-246 66.2-327.2-33.3-44.1-53.9-61.6-124.8-47.7-193.1-3.7 2.7-7.3 5.5-10.8 8.4-105.7 86.2-121.6 241.7-35.4 347.5s241.8 121.6 347.5 35.4c54.6-44.4 87.5-109.9 90.6-180.2-5.3 5.2-11 10.4-17 15.3z" fill="#F58A33" p-id="2197"></path><path d="M768.8 355.8c-128-10.2-223.6-122.3-213.4-250.3 0.7-9.3 2-18.6 3.9-27.7-3.7 2.7-7.3 5.5-10.8 8.4-105.8 86.2-121.6 241.7-35.4 347.5C523 445.8 534 457 546 467.1c58.8 9.5 120.1-4.5 168.6-44.1 22.6-18.3 41-41.2 54.2-67.2z" fill="#F79A4D" p-id="2198"></path><path d="M459.3 306.4c50.9 29.8 115 24.8 160.7-12.4l4.5-3.9c-6.2-6.1-12-12.5-17.5-19.2-44-53.9-61.5-124.8-47.6-193.1-3.7 2.7-7.3 5.5-10.8 8.4-65.5 53.2-99.2 136.3-89.3 220.2z" fill="#F4B04E" p-id="2199"></path><path d="M478 179c23.9 22.5 58 30.7 89.5 21.3-13.6-39.4-16.4-81.7-8.2-122.5-3.7 2.7-7.3 5.5-10.8 8.4-30.7 24.8-54.8 56.6-70.5 92.8z" fill="#F2C051" p-id="2200"></path><path d="M246.8 424.3S92.7 400.1 67.4 534.4C53.5 608.5 87.9 653.7 132 680.9c41 25.3 81.9 28.1 81.9 28.1h605.9s30.9-1.5 58.7-12c43.5-16.5 92.2-53.5 80-140.7-14.2-101.5-122.8-97.6-122.8-97.6s3.4-79.2-79.8-104.4c-57.3-17.3-94.4 7.4-94.4 7.4S594.8 247.6 456 255.3c-182.9 10.3-209.2 169-209.2 169z" fill="#78A4D6" p-id="2201"></path><path d="M945.8 556.5C928.5 465.4 824 470 824 470s4.8-78.6-73.8-104c-47.7-15.4-93.1 8.4-93.1 8.4s-69.4-117-199.7-107.6c-175.8 12.8-202.1 171.9-202.1 171.9s-147.6-31.4-175.4 96.7c-30 139 130.8 160.8 130.8 160.8h284s62.2-4.8 87.4-32.5c34.2-37.4 36-92.3-4.3-121.8-36.4-26.6-80.5-20.7-111.5-9-12.5 4.7-13.7 6.5-15.3 6.2-1.2-0.2-4.6-3.7 2.9-9.1 9.4-6.9 20.2-13.4 38.7-17.7 62.9-14.5 122 17 138.2 64.9 11.6 33.5 10.1 70.1-4.1 102.5-4.4 9.9-6.4 9.7-6.3 13.2 0.1 3.9 4.8 3.3 4.8 3.3h201.1c0.1-0.1 143.7-11.9 119.5-139.7z" fill="#C0E7FA" p-id="2202"></path><path d="M494.6 696.1s62.2-4.8 87.4-32.5c23-25.1 31.2-57.9 22.1-85.8-3.4-10-8.9-19.2-16.2-26.9-0.6-0.7-1.2-1.3-1.8-1.8-0.8-0.8-1.5-1.5-2.4-2.2-1.9-1.7-4-3.4-6.1-5-12.9-9.5-28-15.6-43.9-17.7h-0.6c49.5 30.2 32.9 82.2-0.6 100.6-26.5 14.6-84.3 17.3-102.5 13.5-109.3-22.1-105.6-80.1-103.1-102.8 0.6-6.1 4.4-8.2 1.6-9.7s-11 4.3-14.6 7c-40.2 30.2-31.1 72-31.1 72s-60.8 20-122.6-12.3c-56.9-30-62.1-90.6-62.4-101.9l-1.6 2.6c-1.5 2.7-3.9 6.6-6.4 12.2-1 2.1-1.9 4.4-2.9 6.6-0.3 0.8-0.5 1.5-0.9 2.2-1 2.6-1.8 5.3-2.7 7.9-0.3 1-0.6 2-1 3.1-0.8 2.6-1.4 5.2-1.9 7.8-1 4.1-1.8 8.4-2.6 13.2-0.6 3.9-1 7.5-1.3 11.2 0 0.4-0.1 0.8-0.1 1.2-0.2 3-0.3 5.9-0.3 8.8v3.5c0 2 0.1 4.1 0.2 6.1 6.9 101.7 134.2 119 134.2 119h284.1zM948.5 579.4c-0.4-7.6-1.3-15.2-2.7-22.6-0.3-1.8-0.8-3.5-1.1-5.2l-0.3-1.6c-0.2-1.1-0.5-2-0.8-3.1-6.1-22.2-17.8-38-31.5-49.2-3.6-2.9-7.4-5.5-11.3-8-0.3-0.2 32.5 95.8-84.3 128.7-41 11.6-137.1 13.9-179.2-15.4 3.7 25.9 0.1 52.3-10.3 76.3-4.4 9.9-6.4 9.7-6.3 13.2 0.1 3.9 4.8 3.3 4.8 3.3h201.1c-0.2 0.3 125.7-10.1 121.9-116.4z" fill="#9CDCF8" p-id="2203"></path><path d="M430.9 342.2a81.3 52.5 0 1 0 162.6 0 81.3 52.5 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="2204"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- Night sky background -->
<rect width="100%" height="100%" fill="#1a237e"/>
<!-- Stars -->
<g fill="#FFFFFF">
<circle cx="630" cy="30" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="3s" repeatCount="indefinite" />
</circle>
<circle cx="670" cy="80" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4s" repeatCount="indefinite" />
</circle>
<circle cx="980" cy="30" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="5s" repeatCount="indefinite" />
</circle>
<circle cx="950" cy="80" r="3">
<animate attributeName="opacity" values="0.5;1;0.5" dur="4.5s" repeatCount="indefinite" />
</circle>
</g>
<!-- Moon -->
<g>
<circle cx="850" cy="60" r="30" fill="#FFEFD5"/>
<circle cx="865" cy="60" r="28" fill="#1a237e"/> <!-- Crescent effect -->
</g>
<!-- Clouds -->
<g fill="#3a3f5a">
<ellipse cx="720" cy="70" rx="50" ry="30">
<animate attributeName="cx" values="720;730;720" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="760" cy="70" rx="50" ry="35">
<animate attributeName="cx" values="760;770;760" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="740" cy="70" rx="50" ry="30">
<animate attributeName="cx" values="740;750;740" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
<g fill="#2c3247">
<ellipse cx="620" cy="110" rx="60" ry="35">
<animate attributeName="cx" values="620;630;620" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="660" cy="110" rx="60" ry="40">
<animate attributeName="cx" values="660;670;660" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="640" cy="90" rx="60" ry="35">
<animate attributeName="cx" values="640;650;640" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
</svg>`
},
"CLOUDY": {
"word": "阴",
"icon": `<svg t="1715570246121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2365" width="64" height="64"><path d="M957 459.1c-14.69-77.16-103.25-76.6-103.25-76.6s4.1-66.67-62.57-88.26c-40.48-13.09-79 7.1-79 7.1s-58.87-99.15-169.31-91.15C393.79 221 371.5 355.92 371.5 355.92s-93.35-21.29-116.84 87.36c-25.49 117.84 79.06 130.93 79.06 130.93H574.5s52.67-4.1 74.16-27.49c29-31.78 30.48-78.26-3.6-103.35-30.78-22.59-68.37-17.59-94.55-7.7-10.59 4-11.59 5.5-13 5.3-1-0.2-3.9-3.1 2.5-7.7a82.81 82.81 0 0 1 32.88-15c53.37-12.29 103.35 14.39 117.24 55a119.67 119.67 0 0 1-3.4 87c-3.7 8.4-5.5 8.2-5.3 11.19 0.1 3.3 4.1 2.8 4.1 2.8h170.53c-0.23 0.08 71.11-2.53 95.34-54 7.41-15.77 10.41-35.76 5.6-61.16z" fill="#8DD7F7" p-id="2366"></path><path d="M246.76 424.34S92.63 400.1 67.32 534.39C53.38 608.5 87.81 653.66 131.89 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4S594.81 247.59 456 255.31c-183 10.3-209.24 169.03-209.24 169.03z" fill="#78A4D6" p-id="2367"></path><path d="M945.75 556.48C928.48 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.78 12.76-202.17 171.93-202.17 171.93s-147.58-31.43-175.36 96.74c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.13c0.11-0.11 143.73-11.91 119.48-139.76z" fill="#C0E7FA" p-id="2368"></path><path d="M494.52 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7H533c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.27-22.13-105.62-80.16-103.05-102.79 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.89-122.59-12.39c-56.85-29.93-62.1-90.53-62.43-101.79l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11C83.09 678.86 210.4 696.13 210.4 696.13h284.12zM948.43 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71C775.43 630 679.33 632.32 637.28 603A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.09c-0.21 0.33 125.7-10.07 121.84-116.36z" fill="#9CDCF8" p-id="2369"></path><path d="M430.92 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="2370"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- Overcast sky background -->
<rect width="100%" height="100%" fill="#708090"/>
<!-- Subtle light effect -->
<radialGradient id="lightGradient" cx="50%" cy="0%" r="70%" fx="50%" fy="0%">
<stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.2"/>
<stop offset="100%" style="stop-color:#708090;stop-opacity:0"/>
</radialGradient>
<rect width="100%" height="100%" fill="url(#lightGradient)"/>
<!-- Reduced and smaller clouds -->
<!-- Light gray cloud layer -->
<g fill="#A9A9A9">
<ellipse cx="870" cy="40" rx="40" ry="15">
<animate attributeName="cx" values="870;880;870" dur="4s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="830" cy="30" rx="50" ry="20">
<animate attributeName="cx" values="830;840;830" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- Medium gray cloud layer -->
<g fill="#808080">
<ellipse cx="520" cy="80" rx="60" ry="25">
<animate attributeName="cx" values="520;530;520" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- Dark gray cloud layer -->
<g fill="#696969">
<ellipse cx="850" cy="120" rx="70" ry="30">
<animate attributeName="cx" values="850;860;850" dur="5s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="820" cy="140" rx="80" ry="35">
<animate attributeName="cx" values="820;830;820" dur="6s" repeatCount="indefinite" />
</ellipse>
</g>
</svg>`
},
"LIGHT_HAZE": {
"word": "轻度雾霾",
"icon": `<svg t="1715570280382" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2531" width="64" height="64"><path d="M686.21 327.5A182.32 182.32 0 0 0 512.34 455a182.29 182.29 0 0 0-173.87-127.51c-100.64 0-182.24 81.6-182.24 182.24a182.25 182.25 0 0 0 356.1 54.71A182.3 182.3 0 0 0 686.21 692c100.63 0 182.23-81.59 182.23-182.23S786.84 327.5 686.21 327.5z m0 320.59a138.36 138.36 0 1 1 138.35-138.36 138.35 138.35 0 0 1-138.35 138.36z m-347.74 0a138.36 138.36 0 1 1 138.35-138.36 138.35 138.35 0 0 1-138.35 138.36z" fill="#9CDCF8" p-id="2532"></path><path d="M646.95 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2533"></path><path d="M296.98 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2534"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- Smoggy sky background -->
<defs>
<filter id="smogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
</defs>
<!-- Base sky color -->
<rect width="100%" height="100%" fill="#D3D3D3"/>
<!-- Smog layer -->
<rect width="100%" height="100%" fill="rgba(255, 230, 179, 0.3)"/>
<!-- Subtle sun effect -->
<circle cx="850" cy="50" r="30" fill="rgba(255, 204, 0, 0.3)" filter="url(#smogFilter)"/>
<!-- Hazy clouds -->
<g fill="rgba(192, 192, 192, 0.6)" filter="url(#smogFilter)">
<ellipse cx="700" cy="40" rx="50" ry="20">
<animate attributeName="cx" values="700;800;700" dur="9s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="820" cy="60" rx="60" ry="25">
<animate attributeName="cx" values="820;880;820" dur="7s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="730" cy="90" rx="70" ry="30">
<animate attributeName="cx" values="730;760;730" dur="8s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- Foreground smog effect -->
<rect width="100%" height="100%" fill="rgba(255, 230, 179, 0.1)"/>
</svg>`
},
"MODERATE_HAZE": {
"word": "中度雾霾",
"icon": `<svg t="1715570303502" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2695" width="64" height="64"><path d="M686.22 327.5A182.32 182.32 0 0 0 512.35 455a182.29 182.29 0 0 0-173.86-127.51c-100.64 0-182.24 81.6-182.24 182.24a182.25 182.25 0 0 0 356.1 54.71A182.3 182.3 0 0 0 686.22 692c100.63 0 182.23-81.59 182.23-182.23S786.85 327.5 686.22 327.5z m0 320.59a138.36 138.36 0 1 1 138.35-138.36 138.35 138.35 0 0 1-138.35 138.36z m-347.74 0a138.36 138.36 0 1 1 138.35-138.36 138.35 138.35 0 0 1-138.34 138.36z" fill="#9CDCF8" p-id="2696"></path><path d="M646.96 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2697"></path><path d="M296.99 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2698"></path><path d="M296.99 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2699"></path><path d="M646.96 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="2700"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雾霾天空背景 -->
<defs>
<filter id="smogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="2" />
</filter>
<filter id="lightSmogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="4" />
</filter>
</defs>
<!-- 基础天空颜色 -->
<rect width="100%" height="100%" fill="#CFCFCF"/>
<!-- 更轻的雾霾层 -->
<rect width="100%" height="100%" fill="rgba(210, 180, 140, 0.2)"/>
<!-- 更清晰的太阳效果 -->
<circle cx="850" cy="50" r="35" fill="rgba(255, 204, 0, 0.4)" filter="url(#lightSmogFilter)"/>
<!-- 更淡的雾霾云 -->
<g fill="rgba(200, 200, 200, 0.5)" filter="url(#lightSmogFilter)">
<ellipse cx="700" cy="40" rx="50" ry="18">
<animate attributeName="cx" values="700;790;700" dur="12s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="820" cy="60" rx="60" ry="24">
<animate attributeName="cx" values="820;880;820" dur="10s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="730" cy="90" rx="70" ry="28">
<animate attributeName="cx" values="730;770;730" dur="11s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 更轻的前景雾霾效果 -->
<rect width="100%" height="100%" fill="rgba(210, 180, 140, 0.1)"/>
<!-- 更轻微的额外雾霾层 -->
<rect width="100%" height="100%" fill="rgba(200, 200, 200, 0.05)" filter="url(#smogFilter)"/>
</svg>`
},
"HEAVY_HAZE": {
"word": "重度雾霾",
"icon": `<svg t="1715570333455" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3029" width="64" height="64"><path d="M686.87 327.5A182.32 182.32 0 0 0 513 455a182.29 182.29 0 0 0-173.86-127.51c-100.64 0-182.24 81.6-182.24 182.24a182.25 182.25 0 0 0 356.1 54.7A182.3 182.3 0 0 0 686.87 692c100.63 0 182.23-81.63 182.23-182.27S787.5 327.5 686.87 327.5z m0 320.59a138.36 138.36 0 1 1 138.35-138.36 138.35 138.35 0 0 1-138.35 138.36z m-347.74 0a138.36 138.36 0 1 1 138.36-138.36 138.35 138.35 0 0 1-138.35 138.36z" fill="#9CDCF8" p-id="3030"></path><path d="M647.61 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3031"></path><path d="M297.64 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3032"></path><path d="M469.96 257.96a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3033"></path><path d="M297.64 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3034"></path><path d="M469.96 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3035"></path><path d="M647.61 765.06a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="3036"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雾霾天空背景 -->
<defs>
<filter id="smogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
<filter id="heavySmogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="8" />
</filter>
</defs>
<!-- 基础天空颜色 -->
<rect width="100%" height="100%" fill="#A9A9A9"/>
<!-- 加重的雾霾层 -->
<rect width="100%" height="100%" fill="rgba(210, 180, 140, 0.5)"/>
<!-- 更模糊的太阳效果 -->
<circle cx="850" cy="50" r="40" fill="rgba(255, 204, 0, 0.2)" filter="url(#heavySmogFilter)"/>
<!-- 更浓的雾霾云 -->
<g fill="rgba(169, 169, 169, 0.8)" filter="url(#heavySmogFilter)">
<ellipse cx="700" cy="40" rx="60" ry="25">
<animate attributeName="cx" values="700;750;700" dur="12s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="820" cy="60" rx="70" ry="30">
<animate attributeName="cx" values="820;850;820" dur="10s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="730" cy="90" rx="80" ry="35">
<animate attributeName="cx" values="730;760;730" dur="11s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 前景雾霾效果 -->
<rect width="100%" height="100%" fill="rgba(210, 180, 140, 0.3)"/>
<!-- 额外的雾霾层 -->
<rect width="100%" height="100%" fill="rgba(169, 169, 169, 0.2)" filter="url(#smogFilter)"/>
</svg>`
},
"LIGHT_RAIN": {
"word": "小雨",
"icon": `<svg t="1715570360919" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3197" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="3198"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="3199"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="3200"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="3201"></path><path d="M651.61 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1zM374.41 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c-0.01-37.35-34.3-91.25-36.6-117.1z" fill="#9CDCF8" p-id="3202"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雨天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#4A6FA5" />
<stop offset="100%" style="stop-color:#7B98B2" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#B8C6D1" filter="url(#cloudBlur)">
<ellipse cx="300" cy="100" rx="120" ry="60">
<animate attributeName="cx" values="300;320;300" dur="20s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="700" cy="140" rx="180" ry="90">
<animate attributeName="cx" values="700;660;700" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="500" cy="60" rx="150" ry="75">
<animate attributeName="cx" values="500;540;500" dur="18s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雨滴 -->
<g>
<line x1="300" y1="200" x2="290" y2="250" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="200;1200;200" dur="1.2s" repeatCount="indefinite" />
<animate attributeName="y2" values="250;1250;250" dur="1.2s" repeatCount="indefinite" />
</line>
<line x1="450" y1="180" x2="440" y2="230" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="180;1180;180" dur="1s" repeatCount="indefinite" />
<animate attributeName="y2" values="230;1230;230" dur="1s" repeatCount="indefinite" />
</line>
<line x1="600" y1="220" x2="590" y2="270" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="220;1220;220" dur="1.4s" repeatCount="indefinite" />
<animate attributeName="y2" values="270;1270;270" dur="1.4s" repeatCount="indefinite" />
</line>
<line x1="750" y1="190" x2="740" y2="240" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="190;1190;190" dur="1.1s" repeatCount="indefinite" />
<animate attributeName="y2" values="240;1240;240" dur="1.1s" repeatCount="indefinite" />
</line>
<line x1="200" y1="210" x2="190" y2="260" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="210;1210;210" dur="1.3s" repeatCount="indefinite" />
<animate attributeName="y2" values="260;1260;260" dur="1.3s" repeatCount="indefinite" />
</line>
</g>
</svg>`
},
"MODERATE_RAIN": {
"word": "中雨",
"icon": `<svg t="1715570393416" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3363" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="3364"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="3365"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="3366"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="3367"></path><path d="M651.61 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1zM513 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0.01-37.35-34.29-91.25-36.6-117.1zM374.41 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c-0.01-37.35-34.3-91.25-36.6-117.1z" fill="#9CDCF8" p-id="3368"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雨天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#3A5F8A" />
<stop offset="100%" style="stop-color:#6B88A2" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#A8B6C1" filter="url(#cloudBlur)">
<ellipse cx="200" cy="100" rx="150" ry="70">
<animate attributeName="cx" values="200;220;200" dur="20s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="600" cy="140" rx="200" ry="100">
<animate attributeName="cx" values="600;560;600" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="900" cy="80" rx="180" ry="90">
<animate attributeName="cx" values="900;940;900" dur="21s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="400" cy="60" rx="170" ry="85">
<animate attributeName="cx" values="400;440;400" dur="18s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雨滴 -->
<g>
<!-- 第一组雨滴 -->
<g>
<line x1="100" y1="200" x2="90" y2="270" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="200;1200;200" dur="0.8s" repeatCount="indefinite" />
<animate attributeName="y2" values="270;1270;270" dur="0.8s" repeatCount="indefinite" />
</line>
<line x1="300" y1="180" x2="290" y2="250" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="180;1180;180" dur="0.7s" repeatCount="indefinite" />
<animate attributeName="y2" values="250;1250;250" dur="0.7s" repeatCount="indefinite" />
</line>
<line x1="500" y1="220" x2="490" y2="290" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="220;1220;220" dur="0.9s" repeatCount="indefinite" />
<animate attributeName="y2" values="290;1290;290" dur="0.9s" repeatCount="indefinite" />
</line>
<line x1="700" y1="190" x2="690" y2="260" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="190;1190;190" dur="0.75s" repeatCount="indefinite" />
<animate attributeName="y2" values="260;1260;260" dur="0.75s" repeatCount="indefinite" />
</line>
<line x1="900" y1="210" x2="890" y2="280" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="210;1210;210" dur="0.85s" repeatCount="indefinite" />
<animate attributeName="y2" values="280;1280;280" dur="0.85s" repeatCount="indefinite" />
</line>
</g>
<!-- 第二组雨滴(错开位置和时间) -->
<g>
<line x1="200" y1="150" x2="190" y2="220" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="150;1150;150" dur="0.9s" begin="0.1s" repeatCount="indefinite" />
<animate attributeName="y2" values="220;1220;220" dur="0.9s" begin="0.1s" repeatCount="indefinite" />
</line>
<line x1="400" y1="130" x2="390" y2="200" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="130;1130;130" dur="0.8s" begin="0.2s" repeatCount="indefinite" />
<animate attributeName="y2" values="200;1200;200" dur="0.8s" begin="0.2s" repeatCount="indefinite" />
</line>
<line x1="600" y1="170" x2="590" y2="240" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="170;1170;170" dur="0.7s" begin="0.15s" repeatCount="indefinite" />
<animate attributeName="y2" values="240;1240;240" dur="0.7s" begin="0.15s" repeatCount="indefinite" />
</line>
<line x1="800" y1="140" x2="790" y2="210" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="140;1140;140" dur="0.85s" begin="0.05s" repeatCount="indefinite" />
<animate attributeName="y2" values="210;1210;210" dur="0.85s" begin="0.05s" repeatCount="indefinite" />
</line>
</g>
</g>
</svg>`
},
"HEAVY_RAIN": {
"word": "大雨",
"icon": `<svg t="1715570418992" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3529" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="3530"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="3531"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="3532"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="3533"></path><path d="M676.49 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1zM430.57 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1zM553.53 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1zM307.61 743c-2.7 25.2-36.6 81.3-36.6 117.1 0 25.7 16.4 46.5 36.6 46.5s36.6-20.8 36.6-46.5c0-37.35-34.3-91.25-36.6-117.1z" fill="#9CDCF8" p-id="3534"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雨天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#2A4F7A" />
<stop offset="100%" style="stop-color:#5B7892" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="6" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#98A6B1" filter="url(#cloudBlur)">
<ellipse cx="150" cy="100" rx="180" ry="80">
<animate attributeName="cx" values="150;170;150" dur="25s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="550" cy="140" rx="220" ry="110">
<animate attributeName="cx" values="550;510;550" dur="28s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="950" cy="80" rx="200" ry="100">
<animate attributeName="cx" values="950;990;950" dur="26s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="350" cy="60" rx="190" ry="95">
<animate attributeName="cx" values="350;390;350" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="750" cy="120" rx="210" ry="105">
<animate attributeName="cx" values="750;710;750" dur="27s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雨滴 -->
<g>
<!-- 第一组雨滴 -->
<g>
<line x1="50" y1="200" x2="40" y2="290" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="200;1200;200" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="290;1290;290" dur="0.6s" repeatCount="indefinite" />
</line>
<line x1="250" y1="180" x2="240" y2="270" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="180;1180;180" dur="0.5s" repeatCount="indefinite" />
<animate attributeName="y2" values="270;1270;270" dur="0.5s" repeatCount="indefinite" />
</line>
<line x1="450" y1="220" x2="440" y2="310" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="220;1220;220" dur="0.7s" repeatCount="indefinite" />
<animate attributeName="y2" values="310;1310;310" dur="0.7s" repeatCount="indefinite" />
</line>
<line x1="650" y1="190" x2="640" y2="280" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="190;1190;190" dur="0.55s" repeatCount="indefinite" />
<animate attributeName="y2" values="280;1280;280" dur="0.55s" repeatCount="indefinite" />
</line>
<line x1="850" y1="210" x2="840" y2="300" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="210;1210;210" dur="0.65s" repeatCount="indefinite" />
<animate attributeName="y2" values="300;1300;300" dur="0.65s" repeatCount="indefinite" />
</line>
</g>
<!-- 第二组雨滴 -->
<g>
<line x1="150" y1="150" x2="140" y2="240" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="150;1150;150" dur="0.7s" begin="0.1s" repeatCount="indefinite" />
<animate attributeName="y2" values="240;1240;240" dur="0.7s" begin="0.1s" repeatCount="indefinite" />
</line>
<line x1="350" y1="130" x2="340" y2="220" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="130;1130;130" dur="0.6s" begin="0.2s" repeatCount="indefinite" />
<animate attributeName="y2" values="220;1220;220" dur="0.6s" begin="0.2s" repeatCount="indefinite" />
</line>
<line x1="550" y1="170" x2="540" y2="260" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="170;1170;170" dur="0.5s" begin="0.15s" repeatCount="indefinite" />
<animate attributeName="y2" values="260;1260;260" dur="0.5s" begin="0.15s" repeatCount="indefinite" />
</line>
<line x1="750" y1="140" x2="740" y2="230" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="140;1140;140" dur="0.65s" begin="0.05s" repeatCount="indefinite" />
<animate attributeName="y2" values="230;1230;230" dur="0.65s" begin="0.05s" repeatCount="indefinite" />
</line>
<line x1="950" y1="160" x2="940" y2="250" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="160;1160;160" dur="0.55s" begin="0.25s" repeatCount="indefinite" />
<animate attributeName="y2" values="250;1250;250" dur="0.55s" begin="0.25s" repeatCount="indefinite" />
</line>
</g>
<!-- 第三组雨滴 -->
<g>
<line x1="100" y1="100" x2="90" y2="190" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="100;1100;100" dur="0.5s" begin="0.3s" repeatCount="indefinite" />
<animate attributeName="y2" values="190;1190;190" dur="0.5s" begin="0.3s" repeatCount="indefinite" />
</line>
<line x1="300" y1="80" x2="290" y2="170" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="80;1080;80" dur="0.6s" begin="0.35s" repeatCount="indefinite" />
<animate attributeName="y2" values="170;1170;170" dur="0.6s" begin="0.35s" repeatCount="indefinite" />
</line>
<line x1="500" y1="120" x2="490" y2="210" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="120;1120;120" dur="0.55s" begin="0.4s" repeatCount="indefinite" />
<animate attributeName="y2" values="210;1210;210" dur="0.55s" begin="0.4s" repeatCount="indefinite" />
</line>
<line x1="700" y1="90" x2="690" y2="180" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="90;1090;90" dur="0.65s" begin="0.45s" repeatCount="indefinite" />
<animate attributeName="y2" values="180;1180;180" dur="0.65s" begin="0.45s" repeatCount="indefinite" />
</line>
<line x1="900" y1="110" x2="890" y2="200" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="110;1110;110" dur="0.7s" begin="0.5s" repeatCount="indefinite" />
<animate attributeName="y2" values="200;1200;200" dur="0.7s" begin="0.5s" repeatCount="indefinite" />
</line>
</g>
</g>
</svg>`
},
"STORM_RAIN": {
"word": "暴雨",
"icon": `<svg t="1715570441553" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3695" width="64" height="64"><path d="M250.4 836.18a15.78 15.78 0 0 1-20.22 9.43 15.78 15.78 0 0 1-9.43-20.22l45.5-125a15.78 15.78 0 0 1 20.22-9.43 15.78 15.78 0 0 1 9.43 20.23zM681.66 836.18a15.77 15.77 0 0 1-20.22 9.43 15.77 15.77 0 0 1-9.44-20.22l45.5-125a15.78 15.78 0 0 1 20.22-9.43 15.78 15.78 0 0 1 9.43 20.23zM466 836.18a15.77 15.77 0 0 1-20.22 9.43 15.77 15.77 0 0 1-9.43-20.22l45.5-125a15.78 15.78 0 0 1 20.22-9.43 15.78 15.78 0 0 1 9.43 20.23zM566 876.34a15.76 15.76 0 0 1-20.21 9.43 15.77 15.77 0 0 1-9.43-20.22l20.6-58.23a15.78 15.78 0 0 1 20.23-9.43 15.77 15.77 0 0 1 9.43 20.22zM780.11 876.34a15.76 15.76 0 0 1-20.21 9.43 15.77 15.77 0 0 1-9.43-20.22l20.6-58.23a15.78 15.78 0 0 1 20.22-9.43 15.77 15.77 0 0 1 9.43 20.22zM351.78 876.34a15.76 15.76 0 0 1-20.21 9.43 15.77 15.77 0 0 1-9.43-20.22l20.61-58.23a15.78 15.78 0 0 1 20.25-9.44 15.77 15.77 0 0 1 9.43 20.22z" fill="#9CDCF8" p-id="3696"></path><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="3697"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="3698"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="3699"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="3700"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雨天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#1A3F6A" />
<stop offset="100%" style="stop-color:#4B6882" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="6" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#88969F" filter="url(#cloudBlur)">
<ellipse cx="150" cy="100" rx="180" ry="80">
<animate attributeName="cx" values="150;170;150" dur="25s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="550" cy="140" rx="220" ry="110">
<animate attributeName="cx" values="550;510;550" dur="28s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="950" cy="80" rx="200" ry="100">
<animate attributeName="cx" values="950;990;950" dur="26s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="350" cy="60" rx="190" ry="95">
<animate attributeName="cx" values="350;390;350" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="750" cy="120" rx="210" ry="105">
<animate attributeName="cx" values="750;710;750" dur="27s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雨滴 -->
<g>
<!-- 第一组雨滴 -->
<line x1="100" y1="0" x2="90" y2="90" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="0;1200;0" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="90;1290;90" dur="0.6s" repeatCount="indefinite" />
</line>
<line x1="120" y1="100" x2="110" y2="190" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="100;1300;100" dur="0.5s" repeatCount="indefinite" />
<animate attributeName="y2" values="190;1390;190" dur="0.5s" repeatCount="indefinite" />
</line>
<!-- 第二组雨滴 -->
<line x1="300" y1="50" x2="290" y2="140" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="50;1250;50" dur="0.7s" repeatCount="indefinite" />
<animate attributeName="y2" values="140;1340;140" dur="0.7s" repeatCount="indefinite" />
</line>
<line x1="320" y1="150" x2="310" y2="240" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="150;1350;150" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="240;1440;240" dur="0.6s" repeatCount="indefinite" />
</line>
<!-- 第三组雨滴 -->
<line x1="500" y1="20" x2="490" y2="110" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="20;1220;20" dur="0.5s" repeatCount="indefinite" />
<animate attributeName="y2" values="110;1310;110" dur="0.5s" repeatCount="indefinite" />
</line>
<line x1="520" y1="120" x2="510" y2="210" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="120;1320;120" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="210;1410;210" dur="0.6s" repeatCount="indefinite" />
</line>
<!-- 第四组雨滴 -->
<line x1="700" y1="30" x2="690" y2="120" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="30;1230;30" dur="0.7s" repeatCount="indefinite" />
<animate attributeName="y2" values="120;1320;120" dur="0.7s" repeatCount="indefinite" />
</line>
<line x1="720" y1="130" x2="710" y2="220" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="130;1330;130" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="220;1420;220" dur="0.6s" repeatCount="indefinite" />
</line>
<!-- 第五组雨滴 -->
<line x1="900" y1="10" x2="890" y2="100" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="10;1210;10" dur="0.5s" repeatCount="indefinite" />
<animate attributeName="y2" values="100;1300;100" dur="0.5s" repeatCount="indefinite" />
</line>
<line x1="920" y1="110" x2="910" y2="200" stroke="#B8C6D1" stroke-width="2">
<animate attributeName="y1" values="110;1310;110" dur="0.6s" repeatCount="indefinite" />
<animate attributeName="y2" values="200;1400;200" dur="0.6s" repeatCount="indefinite" />
</line>
</g>
<!-- 闪电 -->
<g>
<path d="M300,50 L320,150 L280,170 L310,300" stroke="#FFD700" stroke-width="3" fill="none">
<animate attributeName="opacity" values="0;1;0" dur="3s" repeatCount="indefinite" />
</path>
<path d="M700,30 L680,160 L720,190 L690,320" stroke="#FFD700" stroke-width="3" fill="none">
<animate attributeName="opacity" values="0;1;0" dur="4s" begin="2s" repeatCount="indefinite" />
</path>
</g>
</svg>`
},
"FOG": {
"word": "雾",
"icon": `<svg t="1715570467036" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3861" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="3862"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="3863"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="3864"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="3865"></path><path d="M909.61 906a22.26 22.26 0 0 1-22.26 22.27h-748.7A22.26 22.26 0 0 1 116.39 906a22.26 22.26 0 0 1 22.26-22.26h748.7A22.26 22.26 0 0 1 909.61 906zM343.9 765.09a22.26 22.26 0 0 1-22.26 22.27h-183a22.26 22.26 0 0 1-22.26-22.27 22.26 22.26 0 0 1 22.26-22.26h183a22.26 22.26 0 0 1 22.26 22.26zM887.35 742.83H421.51a22.26 22.26 0 0 0 0 44.53h465.84a22.26 22.26 0 0 0 0-44.53z" fill="#9CDCF8" p-id="3866"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 雾天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#B8C4CC" />
<stop offset="100%" style="stop-color:#E6E9EB" />
</linearGradient>
<filter id="fogFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="10" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 远处的建筑或树木剪影 -->
<g fill="#8B9AA6" filter="url(#fogFilter)">
<rect x="100" y="400" width="100" height="300" />
<rect x="300" y="500" width="80" height="200" />
<rect x="500" y="450" width="120" height="250" />
<rect x="700" y="550" width="90" height="150" />
<rect x="900" y="500" width="70" height="200" />
</g>
<!-- 雾气层 -->
<g fill="#FFFFFF" opacity="0.7" filter="url(#fogFilter)">
<ellipse cx="200" cy="600" rx="300" ry="100">
<animate attributeName="cy" values="600;580;600" dur="10s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="600" cy="500" rx="350" ry="120">
<animate attributeName="cy" values="500;520;500" dur="12s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="900" cy="650" rx="250" ry="90">
<animate attributeName="cy" values="650;630;650" dur="11s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 前景雾气 -->
<rect width="100%" height="100%" fill="url(#skyGradient)" opacity="0.3" />
<!-- 额外的雾气效果 -->
<g fill="#FFFFFF" opacity="0.5" filter="url(#fogFilter)">
<ellipse cx="100" cy="900" rx="200" ry="80">
<animate attributeName="cx" values="100;150;100" dur="15s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="500" cy="1000" rx="300" ry="100">
<animate attributeName="cx" values="500;450;500" dur="18s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="900" cy="950" rx="250" ry="90">
<animate attributeName="cx" values="900;950;900" dur="16s" repeatCount="indefinite" />
</ellipse>
</g>
</svg>`
},
"LIGHT_SNOW": {
"word": "小雪",
"icon": `<svg t="1715570487208" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4027" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="4028"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="4029"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="4030"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="4031"></path><path d="M576.72 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.1-10.44 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.19l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L502.6 782v23.1L481.69 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.83 9.72-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.58 11.09a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77l-13.9 19.59a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.45l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.38z" fill="#9CDCF8" p-id="4032"></path><path d="M547.33 830.92L531 821.49l16.33-9.49a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.46-16.39z" fill="#C0E7FA" p-id="4033"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 小雪天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#708090" />
<stop offset="100%" style="stop-color:#A9A9A9" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#B0C4DE" filter="url(#cloudBlur)">
<ellipse cx="200" cy="100" rx="160" ry="60">
<animate attributeName="cx" values="200;220;200" dur="20s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="600" cy="80" rx="180" ry="70">
<animate attributeName="cx" values="600;580;600" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="900" cy="120" rx="150" ry="55">
<animate attributeName="cx" values="900;920;900" dur="21s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雪花 -->
<g fill="#FFFFFF">
<!-- 雪花1 -->
<circle cx="100" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="10s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;110;90;100" dur="10s" repeatCount="indefinite" />
</circle>
<!-- 雪花2 -->
<circle cx="300" cy="-50" r="2">
<animate attributeName="cy" from="-50" to="1200" dur="12s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;310;290;300" dur="12s" repeatCount="indefinite" />
</circle>
<!-- 雪花3 -->
<circle cx="500" cy="-100" r="3">
<animate attributeName="cy" from="-100" to="1200" dur="11s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;510;490;500" dur="11s" repeatCount="indefinite" />
</circle>
<!-- 雪花4 -->
<circle cx="700" cy="-30" r="2">
<animate attributeName="cy" from="-30" to="1200" dur="13s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;710;690;700" dur="13s" repeatCount="indefinite" />
</circle>
<!-- 雪花5 -->
<circle cx="900" cy="-80" r="3">
<animate attributeName="cy" from="-80" to="1200" dur="14s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;910;890;900" dur="14s" repeatCount="indefinite" />
</circle>
</g>
</svg>`
},
"MODERATE_SNOW": {
"word": "中雪",
"icon": `<svg t="1715570507488" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4194" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="4195"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="4196"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="4197"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="4198"></path><path d="M475 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.18l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L400.92 782v23.1L380 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L387 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.39z" fill="#9CDCF8" p-id="4199"></path><path d="M445.65 830.92l-16.34-9.44 16.34-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.46-16.39z" fill="#C0E7FA" p-id="4200"></path><path d="M679 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.08-10.44 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.19l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42l14.1 19.91v23.1L584 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L591 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.39z" fill="#9CDCF8" p-id="4201"></path><path d="M649.64 830.92l-16.34-9.44 16.34-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.46-16.39z" fill="#C0E7FA" p-id="4202"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 中雪天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#4A5459" />
<stop offset="100%" style="stop-color:#7D8487" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="6" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#9EADB5" filter="url(#cloudBlur)">
<ellipse cx="150" cy="100" rx="180" ry="70">
<animate attributeName="cx" values="150;170;150" dur="22s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="550" cy="80" rx="200" ry="80">
<animate attributeName="cx" values="550;530;550" dur="25s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="850" cy="120" rx="170" ry="65">
<animate attributeName="cx" values="850;870;850" dur="23s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雪花 -->
<g fill="#FFFFFF">
<!-- 较大的雪花 -->
<circle cx="100" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="7s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;120;80;100" dur="7s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="-50" r="3">
<animate attributeName="cy" from="-50" to="1200" dur="8s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;320;280;300" dur="8s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="-30" r="3">
<animate attributeName="cy" from="-30" to="1200" dur="7.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;520;480;500" dur="7.5s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="-20" r="3">
<animate attributeName="cy" from="-20" to="1200" dur="8.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;720;680;700" dur="8.5s" repeatCount="indefinite" />
</circle>
<circle cx="900" cy="-40" r="3">
<animate attributeName="cy" from="-40" to="1200" dur="9s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;920;880;900" dur="9s" repeatCount="indefinite" />
</circle>
<!-- 较小的雪花 -->
<circle cx="200" cy="-10" r="2">
<animate attributeName="cy" from="-10" to="1200" dur="6s" repeatCount="indefinite" />
<animate attributeName="cx" values="200;220;180;200" dur="6s" repeatCount="indefinite" />
</circle>
<circle cx="400" cy="-60" r="2">
<animate attributeName="cy" from="-60" to="1200" dur="6.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="400;420;380;400" dur="6.5s" repeatCount="indefinite" />
</circle>
<circle cx="600" cy="-30" r="2">
<animate attributeName="cy" from="-30" to="1200" dur="7s" repeatCount="indefinite" />
<animate attributeName="cx" values="600;620;580;600" dur="7s" repeatCount="indefinite" />
</circle>
<circle cx="800" cy="-50" r="2">
<animate attributeName="cy" from="-50" to="1200" dur="7.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="800;820;780;800" dur="7.5s" repeatCount="indefinite" />
</circle>
<circle cx="1000" cy="-40" r="2">
<animate attributeName="cy" from="-40" to="1200" dur="8s" repeatCount="indefinite" />
<animate attributeName="cx" values="1000;1020;980;1000" dur="8s" repeatCount="indefinite" />
</circle>
</g>
</svg>`
},
"HEAVY_SNOW": {
"word": "大雪",
"icon": `<svg t="1715570528381" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4363" width="64" height="64"><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="4364"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="4365"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="4366"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="4367"></path><path d="M373 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.93 23.45-17.26 10v-23.2l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L298.93 782v23.1L278 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L285 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.39z" fill="#9CDCF8" p-id="4368"></path><path d="M343.65 830.92l-16.34-9.44 16.35-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.45-16.39z" fill="#C0E7FA" p-id="4369"></path><path d="M785 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.93 23.45-17.26 10v-23.2l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L710.93 782v23.1L690 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L697 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.39z" fill="#9CDCF8" p-id="4370"></path><path d="M755.65 830.92l-16.34-9.44 16.35-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.45-16.39z" fill="#C0E7FA" p-id="4371"></path><path d="M579 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.93 23.45-17.26 10v-23.2l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L504.93 782v23.1L484 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L491 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.39z" fill="#9CDCF8" p-id="4372"></path><path d="M549.65 830.92l-16.34-9.44 16.35-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.45-16.39z" fill="#C0E7FA" p-id="4373"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 大雪天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#3A4045" />
<stop offset="100%" style="stop-color:#6D7275" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="8" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#8E9CA4" filter="url(#cloudBlur)">
<ellipse cx="150" cy="100" rx="200" ry="80">
<animate attributeName="cx" values="150;170;150" dur="20s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="550" cy="80" rx="220" ry="90">
<animate attributeName="cx" values="550;530;550" dur="23s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="850" cy="120" rx="190" ry="75">
<animate attributeName="cx" values="850;870;850" dur="21s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雪花 -->
<g fill="#FFFFFF">
<!-- 大雪花 -->
<circle cx="100" cy="0" r="4">
<animate attributeName="cy" from="0" to="1200" dur="5s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;120;80;100" dur="5s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="-50" r="4">
<animate attributeName="cy" from="-50" to="1200" dur="5.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;320;280;300" dur="5.5s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="-30" r="4">
<animate attributeName="cy" from="-30" to="1200" dur="5.2s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;520;480;500" dur="5.2s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="-20" r="4">
<animate attributeName="cy" from="-20" to="1200" dur="5.7s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;720;680;700" dur="5.7s" repeatCount="indefinite" />
</circle>
<circle cx="900" cy="-40" r="4">
<animate attributeName="cy" from="-40" to="1200" dur="5.4s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;920;880;900" dur="5.4s" repeatCount="indefinite" />
</circle>
<!-- 中等雪花 -->
<circle cx="200" cy="-10" r="3">
<animate attributeName="cy" from="-10" to="1200" dur="4.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="200;220;180;200" dur="4.5s" repeatCount="indefinite" />
</circle>
<circle cx="400" cy="-60" r="3">
<animate attributeName="cy" from="-60" to="1200" dur="4.8s" repeatCount="indefinite" />
<animate attributeName="cx" values="400;420;380;400" dur="4.8s" repeatCount="indefinite" />
</circle>
<circle cx="600" cy="-30" r="3">
<animate attributeName="cy" from="-30" to="1200" dur="5s" repeatCount="indefinite" />
<animate attributeName="cx" values="600;620;580;600" dur="5s" repeatCount="indefinite" />
</circle>
<circle cx="800" cy="-50" r="3">
<animate attributeName="cy" from="-50" to="1200" dur="5.3s" repeatCount="indefinite" />
<animate attributeName="cx" values="800;820;780;800" dur="5.3s" repeatCount="indefinite" />
</circle>
<circle cx="1000" cy="-40" r="3">
<animate attributeName="cy" from="-40" to="1200" dur="5.1s" repeatCount="indefinite" />
<animate attributeName="cx" values="1000;1020;980;1000" dur="5.1s" repeatCount="indefinite" />
</circle>
<!-- 小雪花 -->
<circle cx="150" cy="-20" r="2">
<animate attributeName="cy" from="-20" to="1200" dur="4s" repeatCount="indefinite" />
<animate attributeName="cx" values="150;170;130;150" dur="4s" repeatCount="indefinite" />
</circle>
<circle cx="350" cy="-70" r="2">
<animate attributeName="cy" from="-70" to="1200" dur="4.2s" repeatCount="indefinite" />
<animate attributeName="cx" values="350;370;330;350" dur="4.2s" repeatCount="indefinite" />
</circle>
<circle cx="550" cy="-40" r="2">
<animate attributeName="cy" from="-40" to="1200" dur="4.4s" repeatCount="indefinite" />
<animate attributeName="cx" values="550;570;530;550" dur="4.4s" repeatCount="indefinite" />
</circle>
<circle cx="750" cy="-30" r="2">
<animate attributeName="cy" from="-30" to="1200" dur="4.6s" repeatCount="indefinite" />
<animate attributeName="cx" values="750;770;730;750" dur="4.6s" repeatCount="indefinite" />
</circle>
<circle cx="950" cy="-50" r="2">
<animate attributeName="cy" from="-50" to="1200" dur="4.3s" repeatCount="indefinite" />
<animate attributeName="cx" values="950;970;930;950" dur="4.3s" repeatCount="indefinite" />
</circle>
</g>
</svg>`
},
"STORM_SNOW": {
"word": "暴雪",
"icon": `<svg t="1715570548584" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4534" width="64" height="64"><path d="M368.44 907.34a14.31 14.31 0 0 1-18.35 8.56 14.32 14.32 0 0 1-8.56-18.36l70.78-190.23a14.33 14.33 0 0 1 18.36-8.56 14.32 14.32 0 0 1 8.56 18.36zM610.62 909.12a14.31 14.31 0 0 1-18.35 8.56 14.32 14.32 0 0 1-8.56-18.36l70.78-190.23a14.33 14.33 0 0 1 18.36-8.56 14.32 14.32 0 0 1 8.56 18.36z" fill="#9CDCF8" p-id="4535"></path><path d="M246.79 424.34S92.67 400.1 67.35 534.39C53.41 608.5 87.84 653.66 131.92 680.9c41 25.31 81.94 28.1 81.94 28.1h605.9s30.89-1.5 58.67-12c43.55-16.52 92.24-53.52 80-140.72-14.16-101.46-122.81-97.6-122.81-97.6s3.43-79.16-79.8-104.36c-57.28-17.27-94.39 7.4-94.39 7.4s-66.61-114.12-205.4-106.4c-182.96 10.29-209.24 169.02-209.24 169.02z" fill="#78A4D6" p-id="4536"></path><path d="M945.79 556.48C928.52 465.42 824 470 824 470s4.83-78.62-73.79-104c-47.73-15.44-93.1 8.37-93.1 8.37s-69.4-117-199.71-107.58c-175.75 12.76-202.13 171.93-202.13 171.93S107.68 407.29 79.9 535.46c-30 139 130.75 160.78 130.75 160.78h284s62.21-4.83 87.41-32.5c34.21-37.43 36-92.35-4.29-121.84-36.36-26.6-80.55-20.7-111.55-9-12.55 4.72-13.73 6.54-15.34 6.22-1.18-0.21-4.61-3.65 2.9-9.12 9.44-6.86 20.16-13.41 38.72-17.7 62.85-14.48 122 16.95 138.25 64.89a140.63 140.63 0 0 1-4.08 102.54c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32H826.3c0.11-0.11 143.7-11.91 119.49-139.76z" fill="#C0E7FA" p-id="4537"></path><path d="M494.56 696.13s62.21-4.83 87.41-32.5c23-25.1 31.21-57.92 22.09-85.81a74.09 74.09 0 0 0-16.2-26.92 14.64 14.64 0 0 0-1.82-1.82c-0.75-0.75-1.5-1.5-2.36-2.25-1.93-1.72-4-3.43-6.11-5a95.79 95.79 0 0 0-43.87-17.7h-0.64c49.55 30.25 32.93 82.16-0.64 100.61-26.49 14.59-84.3 17.27-102.54 13.51-109.29-22.09-105.65-80.12-103.07-102.75 0.64-6.11 4.4-8.15 1.61-9.65s-11 4.29-14.59 7c-40.22 30.25-31.1 72-31.1 72s-60.81 19.95-122.59-12.33C103.28 562.49 98 501.89 97.71 490.63l-1.61 2.57c-1.5 2.68-3.86 6.65-6.44 12.23-1 2.15-1.93 4.4-2.9 6.65-0.32 0.75-0.54 1.5-0.86 2.25-1 2.57-1.82 5.26-2.68 7.94-0.32 1-0.64 2-1 3.11-0.75 2.57-1.39 5.15-1.93 7.83-1 4.08-1.82 8.37-2.57 13.19-0.64 3.86-1 7.51-1.29 11.15 0 0.43-0.11 0.75-0.11 1.18-0.21 3-0.32 5.9-0.32 8.8v3.54c0 2 0.11 4.08 0.21 6.11 6.86 101.68 134.18 118.95 134.18 118.95h284.17zM948.47 579.44a161.72 161.72 0 0 0-2.68-22.63c-0.32-1.82-0.75-3.54-1.07-5.15l-0.32-1.61c-0.21-1.07-0.54-2-0.75-3.11-6.11-22.2-17.8-38-31.53-49.23a131.37 131.37 0 0 0-11.26-8c-0.32-0.21 32.5 95.78-84.3 128.71-41.1 11.58-137.2 13.9-179.24-15.42A140.72 140.72 0 0 1 627 679.29c-4.4 9.87-6.44 9.65-6.33 13.19 0.11 3.86 4.83 3.32 4.83 3.32h201.12c-0.21 0.33 125.71-10.07 121.85-116.36z" fill="#9CDCF8" p-id="4538"></path><path d="M430.95 342.19a81.3 52.45 0 1 0 162.6 0 81.3 52.45 0 1 0-162.6 0Z" fill="#FFFFFF" p-id="4539"></path><path d="M332.83 847.89L321 841.05l11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.12-10.44 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.19l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42l14.1 19.91v23.1L237.79 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.83 9.72L213 778.7a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.34l12.35-7.13-4.58 11.09a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77l-13.9 19.59a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.44l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.38z" fill="#9CDCF8" p-id="4540"></path><path d="M303.44 830.92l-16.34-9.44 16.34-9.48a36.49 36.49 0 0 0-9.44-16.34l-16.36 9.44v-18.9a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.47 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.37 9.44a36.49 36.49 0 0 0 9.44-16.39z" fill="#C0E7FA" p-id="4541"></path><path d="M819.28 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19L805 803.34l14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.2l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L745.16 782v23.1L724.25 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.83 9.72-11.78-6.8a9.46 9.46 0 0 0-9.44 16.41l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.25a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.58 11.09a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77l-13.9 19.59a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67a9.46 9.46 0 1 0 9.46-16.38z" fill="#9CDCF8" p-id="4542"></path><path d="M789.89 830.92l-16.34-9.44 16.34-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.46-16.39z" fill="#C0E7FA" p-id="4543"></path><path d="M576.05 847.89l-11.84-6.84 11-0.18a4.69 4.69 0 0 0-0.16-9.37l-26.62 0.43-18.09-10.45 19.16-11.07 22 4.43a4.69 4.69 0 1 0 1.85-9.19l-11.54-2.33 14.3-8.26a9.46 9.46 0 1 0-9.46-16.39l-11.9 6.87 5.39-9.06a4.69 4.69 0 0 0-8.06-4.79l-13.92 23.43-17.26 10v-23.18l14.25-20.08a4.69 4.69 0 0 0-7.65-5.42l-6.6 9.31v-13.46a9.46 9.46 0 1 0-18.92 0v13.53l-6.48-9.15a4.69 4.69 0 0 0-7.65 5.42L501.93 782v23.1L481 793l-8.14-20.68a4.68 4.68 0 0 0-8.72 3.43l3.86 9.75-11.78-6.8a9.46 9.46 0 0 0-9.47 16.39l11.95 6.9-12.23 0.47a4.69 4.69 0 0 0 0.36 9.36l27.11-1 18.56 10.72-20 11.53-24.88-1.35a4.69 4.69 0 0 0-0.5 9.36l10.54 0.57-10.91 6.29a9.46 9.46 0 0 0 9.47 16.38l12.35-7.13-4.57 11.04a4.69 4.69 0 0 0 8.67 3.57l9.21-22.34 20.08-11.59v26.77L488 884.23a4.69 4.69 0 0 0 7.65 5.42l6.24-8.81v9.84a9.46 9.46 0 0 0 18.92 0v-10.43l6.84 9.65a4.69 4.69 0 0 0 7.65-5.42l-14.49-20.42v-26.19l19.77 11.41 7.88 21.38a4.68 4.68 0 1 0 8.79-3.24l-4-10.81 13.29 7.67A9.46 9.46 0 1 0 576 847.9z" fill="#9CDCF8" p-id="4544"></path><path d="M546.66 830.92l-16.34-9.44 16.34-9.48a36.49 36.49 0 0 0-9.45-16.39l-16.36 9.44V786.2a36.6 36.6 0 0 0-18.92 0v18.9l-16.39-9.46a36.48 36.48 0 0 0-9.46 16.36l16.39 9.47-16.39 9.46a36.49 36.49 0 0 0 9.47 16.38l16.38-9.46v18.91a36.6 36.6 0 0 0 18.92 0v-18.89l16.35 9.44a36.49 36.49 0 0 0 9.46-16.39z" fill="#C0E7FA" p-id="4545"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 暴雪天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#2A3035" />
<stop offset="100%" style="stop-color:#4D5255" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="10" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 云层 -->
<g fill="#6E7C84" filter="url(#cloudBlur)">
<ellipse cx="150" cy="100" rx="220" ry="90">
<animate attributeName="cx" values="150;170;150" dur="18s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="550" cy="80" rx="240" ry="100">
<animate attributeName="cx" values="550;530;550" dur="20s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="850" cy="120" rx="210" ry="85">
<animate attributeName="cx" values="850;870;850" dur="19s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 雪花 -->
<g fill="#FFFFFF">
<!-- 大雪花 -->
<circle cx="100" cy="0" r="4">
<animate attributeName="cy" from="0" to="1200" dur="3s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;130;70;100" dur="3s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="-50" r="4">
<animate attributeName="cy" from="-50" to="1200" dur="3.2s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;330;270;300" dur="3.2s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="-30" r="4">
<animate attributeName="cy" from="-30" to="1200" dur="2.8s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;530;470;500" dur="2.8s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="-20" r="4">
<animate attributeName="cy" from="-20" to="1200" dur="3.1s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;730;670;700" dur="3.1s" repeatCount="indefinite" />
</circle>
<circle cx="900" cy="-40" r="4">
<animate attributeName="cy" from="-40" to="1200" dur="2.9s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;930;870;900" dur="2.9s" repeatCount="indefinite" />
</circle>
<!-- 中等雪花 -->
<circle cx="200" cy="-10" r="3">
<animate attributeName="cy" from="-10" to="1200" dur="2.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="200;230;170;200" dur="2.5s" repeatCount="indefinite" />
</circle>
<circle cx="400" cy="-60" r="3">
<animate attributeName="cy" from="-60" to="1200" dur="2.7s" repeatCount="indefinite" />
<animate attributeName="cx" values="400;430;370;400" dur="2.7s" repeatCount="indefinite" />
</circle>
<circle cx="600" cy="-30" r="3">
<animate attributeName="cy" from="-30" to="1200" dur="2.6s" repeatCount="indefinite" />
<animate attributeName="cx" values="600;630;570;600" dur="2.6s" repeatCount="indefinite" />
</circle>
<circle cx="800" cy="-50" r="3">
<animate attributeName="cy" from="-50" to="1200" dur="2.8s" repeatCount="indefinite" />
<animate attributeName="cx" values="800;830;770;800" dur="2.8s" repeatCount="indefinite" />
</circle>
<circle cx="1000" cy="-40" r="3">
<animate attributeName="cy" from="-40" to="1200" dur="2.4s" repeatCount="indefinite" />
<animate attributeName="cx" values="1000;1030;970;1000" dur="2.4s" repeatCount="indefinite" />
</circle>
<!-- 小雪花 -->
<circle cx="150" cy="-20" r="2">
<animate attributeName="cy" from="-20" to="1200" dur="2s" repeatCount="indefinite" />
<animate attributeName="cx" values="150;180;120;150" dur="2s" repeatCount="indefinite" />
</circle>
<circle cx="350" cy="-70" r="2">
<animate attributeName="cy" from="-70" to="1200" dur="2.2s" repeatCount="indefinite" />
<animate attributeName="cx" values="350;380;320;350" dur="2.2s" repeatCount="indefinite" />
</circle>
<circle cx="550" cy="-40" r="2">
<animate attributeName="cy" from="-40" to="1200" dur="2.1s" repeatCount="indefinite" />
<animate attributeName="cx" values="550;580;520;550" dur="2.1s" repeatCount="indefinite" />
</circle>
<circle cx="750" cy="-30" r="2">
<animate attributeName="cy" from="-30" to="1200" dur="2.3s" repeatCount="indefinite" />
<animate attributeName="cx" values="750;780;720;750" dur="2.3s" repeatCount="indefinite" />
</circle>
<circle cx="950" cy="-50" r="2">
<animate attributeName="cy" from="-50" to="1200" dur="1.9s" repeatCount="indefinite" />
<animate attributeName="cx" values="950;980;920;950" dur="1.9s" repeatCount="indefinite" />
</circle>
</g>
<!-- 前景雪幕 -->
<rect width="100%" height="100%" fill="url(#skyGradient)" opacity="0.3" />
</svg>`
},
"DUST": {
"word": "浮尘",
"icon": `<svg t="1715570584591" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4706" width="64" height="64"><path d="M946.34 871.63a22.26 22.26 0 0 1-22.26 22.27H100.49a22.26 22.26 0 0 1-22.26-22.27 22.26 22.26 0 0 1 22.26-22.26h823.59a22.26 22.26 0 0 1 22.26 22.26zM161 512.84a41.38 41.38 0 1 1-41.38-41.39A41.39 41.39 0 0 1 161 512.84z" fill="#9CDCF8" p-id="4707"></path><path d="M340.01 512.84a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="4708"></path><path d="M904.95 512.84m-41.38 0a41.38 41.38 0 1 0 82.76 0 41.38 41.38 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="4709"></path><path d="M684.56 512.84a41.39 41.39 0 1 1-41.39-41.39 41.4 41.4 0 0 1 41.39 41.39z" fill="#9CDCF8" p-id="4710"></path><path d="M250.5 323.42m-41.38 0a41.38 41.38 0 1 0 82.76 0 41.38 41.38 0 1 0-82.76 0Z" fill="#9CDCF8" p-id="4711"></path><path d="M553.67 323.42A41.39 41.39 0 1 1 512.28 282a41.38 41.38 0 0 1 41.39 41.42z" fill="#9CDCF8" p-id="4712"></path><path d="M732.66 323.42a41.39 41.38 0 1 0 82.78 0 41.39 41.38 0 1 0-82.78 0Z" fill="#9CDCF8" p-id="4713"></path><path d="M291.88 702.27a41.38 41.38 0 1 1-41.39-41.4 41.39 41.39 0 0 1 41.39 41.4zM553.67 702.27a41.39 41.39 0 1 1-41.38-41.4 41.38 41.38 0 0 1 41.38 41.4zM815.45 702.27a41.39 41.39 0 1 1-41.4-41.4 41.4 41.4 0 0 1 41.4 41.4z" fill="#9CDCF8" p-id="4714"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 浮尘天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#C8D0D8" />
<stop offset="100%" style="stop-color:#E0E5E8" />
</linearGradient>
<filter id="dustBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="1" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 远处的建筑轮廓 -->
<g fill="#A0A8B0" opacity="0.3">
<rect x="50" y="100" width="100" height="200" />
<rect x="200" y="150" width="80" height="150" />
<rect x="350" y="50" width="120" height="250" />
<rect x="550" y="120" width="90" height="180" />
<rect x="700" y="80" width="70" height="220" />
<rect x="850" y="130" width="110" height="170" />
</g>
<!-- 浮尘颗粒 -->
<g fill="#B0B8C0" opacity="0.6" filter="url(#dustBlur)">
<circle cx="100" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="30s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;110;90;100" dur="30s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="35s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;310;290;300" dur="35s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="32s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;510;490;500" dur="32s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="38s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;710;690;700" dur="38s" repeatCount="indefinite" />
</circle>
<circle cx="900" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="33s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;910;890;900" dur="33s" repeatCount="indefinite" />
</circle>
<circle cx="200" cy="0" r="2">
<animate attributeName="cy" from="0" to="1200" dur="36s" repeatCount="indefinite" />
<animate attributeName="cx" values="200;210;190;200" dur="36s" repeatCount="indefinite" />
</circle>
<circle cx="400" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="34s" repeatCount="indefinite" />
<animate attributeName="cx" values="400;410;390;400" dur="34s" repeatCount="indefinite" />
</circle>
<circle cx="600" cy="0" r="2">
<animate attributeName="cy" from="0" to="1200" dur="37s" repeatCount="indefinite" />
<animate attributeName="cx" values="600;610;590;600" dur="37s" repeatCount="indefinite" />
</circle>
<circle cx="800" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="31s" repeatCount="indefinite" />
<animate attributeName="cx" values="800;810;790;800" dur="31s" repeatCount="indefinite" />
</circle>
</g>
<!-- 轻微的前景浮尘层 -->
<rect width="100%" height="100%" fill="url(#skyGradient)" opacity="0.1" />
</svg>`
},
"SAND": {
"word": "沙尘",
"icon": `<svg t="1715570594786" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4875" width="64" height="64"><path d="M921.08 523c-18.37-32.55-49.66-50.41-88.22-50.41h-1.31c-37.86 0.4-76.54 21-90 47.83-24.17 48.35-11.49 93.33-10.94 95.22h0.12a22.17 22.17 0 0 0 43.24-7 21.87 21.87 0 0 0-1.13-6.64c-1.3-5.86-6.1-32.91 8.33-61.78 4.78-9.57 26.44-23.09 50.82-23.34 23.07-0.31 39.91 9.14 50.49 27.88a78.47 78.47 0 0 1 10 35.65c0.68 14.35-5.24 26.61-12.47 40-14.75 27.33-62.17 33.3-79.34 33.3H112.09c-0.23 0-0.45-0.07-0.67-0.07s-0.45 0.07-0.67 0.07h-1.2v0.13a22.11 22.11 0 0 0 0 44.08v0.08h1c0.31 0 0.61 0.1 0.92 0.1s0.61-0.08 0.92-0.1h688.3c6 0 88.3-1 118.27-56.55 9.23-17.1 19-37.49 17.74-63.17-0.97-20.28-6.08-38.36-15.62-55.28zM110.41 393.07v0.2h498.35l2-0.38c3.43-0.63 34-7.12 52.77-37.62 8.84-14.36 12.95-28.35 12.55-42.79a78 78 0 0 0-10.22-38c-13-22.94-34.41-35.35-62.05-35.88-24.4-0.7-46.71 10.62-61.33 30.44a70.72 70.72 0 0 0-13.62 38 21.07 21.07 0 0 0-0.29 2.85 21.65 21.65 0 0 0 0.24 2.34c0 0.57 0.06 1 0.07 1.25h0.06a22.19 22.19 0 0 0 44.1-3.58v-0.14a26.76 26.76 0 0 1 5.13-14.39 29.65 29.65 0 0 1 24.19-12.44h0.64c12.05 0.24 19.1 4.11 24.34 13.38 3.53 6.25 4.34 11.3 4.51 17.42 0.16 5.7-1.68 11.37-6 18.36A40.16 40.16 0 0 1 604 349H114a22.14 22.14 0 1 0-3.58 44.1z" fill="#9CDCF8" p-id="4876"></path><path d="M210.39 513.98a41.38 41.39 0 1 0 82.76 0 41.38 41.39 0 1 0-82.76 0Z" fill="#F2C051" p-id="4877"></path><path d="M554.93 514a41.39 41.39 0 1 1-41.39-41.39A41.4 41.4 0 0 1 554.93 514z" fill="#9CDCF8" p-id="4878"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 沙尘天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#D2B48C" />
<stop offset="100%" style="stop-color:#E6C9A8" />
</linearGradient>
<filter id="dustBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="1.5" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 远处的建筑轮廓 -->
<g fill="#B8926A" opacity="0.4">
<rect x="50" y="100" width="100" height="200" />
<rect x="200" y="150" width="80" height="150" />
<rect x="350" y="50" width="120" height="250" />
<rect x="550" y="120" width="90" height="180" />
<rect x="700" y="80" width="70" height="220" />
<rect x="850" y="130" width="110" height="170" />
</g>
<!-- 沙尘颗粒 -->
<g fill="#C19A6B" opacity="0.7" filter="url(#dustBlur)">
<circle cx="100" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="25s" repeatCount="indefinite" />
<animate attributeName="cx" values="100;120;80;100" dur="25s" repeatCount="indefinite" />
</circle>
<circle cx="300" cy="0" r="3.5">
<animate attributeName="cy" from="0" to="1200" dur="28s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;320;280;300" dur="28s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="26s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;520;480;500" dur="26s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="0" r="3.5">
<animate attributeName="cy" from="0" to="1200" dur="30s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;720;680;700" dur="30s" repeatCount="indefinite" />
</circle>
<circle cx="900" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="27s" repeatCount="indefinite" />
<animate attributeName="cx" values="900;920;880;900" dur="27s" repeatCount="indefinite" />
</circle>
<circle cx="200" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="29s" repeatCount="indefinite" />
<animate attributeName="cx" values="200;220;180;200" dur="29s" repeatCount="indefinite" />
</circle>
<circle cx="400" cy="0" r="3">
<animate attributeName="cy" from="0" to="1200" dur="27s" repeatCount="indefinite" />
<animate attributeName="cx" values="400;420;380;400" dur="27s" repeatCount="indefinite" />
</circle>
<circle cx="600" cy="0" r="2.5">
<animate attributeName="cy" from="0" to="1200" dur="31s" repeatCount="indefinite" />
<animate attributeName="cx" values="600;620;580;600" dur="31s" repeatCount="indefinite" />
</circle>
<circle cx="800" cy="0" r="3.5">
<animate attributeName="cy" from="0" to="1200" dur="24s" repeatCount="indefinite" />
<animate attributeName="cx" values="800;820;780;800" dur="24s" repeatCount="indefinite" />
</circle>
</g>
<!-- 沙尘前景层 -->
<rect width="100%" height="100%" fill="url(#skyGradient)" opacity="0.3" />
</svg>`
},
"WIND": {
"word": "大风",
"icon": `<svg t="1715570680943" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11103" width="64" height="64"><path d="M804.2 441.6H133.4c-17.6 0-32-14.4-32-32s14.4-32 32-32h670.8c17.6 0 32 14.4 32 32s-14.4 32-32 32zM807.3 614.4H475.8c-15.3 0-27.8-12.5-27.8-27.8v-8.3c0-15.3 12.5-27.8 27.8-27.8h331.6c15.3 0 27.8 12.5 27.8 27.8v8.3c0 15.3-12.5 27.8-27.9 27.8z" fill="#C0E7FA" p-id="11104"></path><path d="M798.3 441.6c-17.7 0-32-14.3-32-32s14.3-32 32-32c32.5 0 59-26.5 59-59s-26.5-59-59-59c-17.7 0-32-14.3-32-32s14.3-32 32-32c67.8 0 123 55.2 123 123s-55.2 123-123 123zM797.3 790.7c-17.7 0-32-14.3-32-32s14.3-32 32-32c30.9 0 56.1-25.2 56.1-56.1s-25.2-56.1-56.1-56.1c-17.7 0-32-14.3-32-32s14.3-32 32-32c66.2 0 120.1 53.9 120.1 120.1 0.1 66.2-53.8 120.1-120.1 120.1zM354.5 614.4H160c-17.6 0-32-14.4-32-32s14.4-32 32-32h194.5c17.6 0 32 14.4 32 32s-14.4 32-32 32zM544 317.5H288c-17.6 0-32-14.4-32-32s14.4-32 32-32h256c17.6 0 32 14.4 32 32s-14.4 32-32 32zM544 767.1H352c-17.6 0-32-14.4-32-32s14.4-32 32-32h192c17.6 0 32 14.4 32 32s-14.4 32-32 32z" fill="#C0E7FA" p-id="11105"></path></svg>`,
"bg": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1200">
<!-- 大风天背景 -->
<defs>
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#4A87A9" />
<stop offset="100%" style="stop-color:#78A5C1" />
</linearGradient>
<filter id="cloudBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
</defs>
<!-- 天空背景 -->
<rect width="100%" height="100%" fill="url(#skyGradient)"/>
<!-- 快速移动的云 -->
<g fill="#FFFFFF" filter="url(#cloudBlur)">
<ellipse cx="0" cy="40" rx="80" ry="30">
<animate attributeName="cx" from="1104" to="-80" dur="6s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="0" cy="100" rx="100" ry="40">
<animate attributeName="cx" from="1124" to="-100" dur="8s" repeatCount="indefinite" />
</ellipse>
<ellipse cx="0" cy="160" rx="70" ry="25">
<animate attributeName="cx" from="1094" to="-70" dur="5s" repeatCount="indefinite" />
</ellipse>
</g>
<!-- 飘动的树 -->
<g transform="translate(700, 200)">
<path d="M0,0 Q-20,-50 -40,-60 Q-10,-70 0,-100 Q10,-70 40,-60 Q20,-50 0,0" fill="#2E8B57">
<animateTransform attributeName="transform" type="rotate" from="0 0 0" to="20 0 0" dur="1s" repeatCount="indefinite" />
</path>
<rect x="-5" y="0" width="10" height="100" fill="#8B4513" />
</g>
<!-- 飘动的旗子 -->
<g transform="translate(800, 50)">
<rect x="0" y="0" width="3" height="100" fill="#8B4513" />
<path d="M3,0 Q20,-10 40,0 Q20,10 40,20 Q20,30 3,20 Z" fill="#FF0000">
<animate attributeName="d"
values="M3,0 Q20,-10 40,0 Q20,10 40,20 Q20,30 3,20 Z;
M3,0 Q25,-15 50,0 Q25,15 50,30 Q25,45 3,30 Z;
M3,0 Q20,-10 40,0 Q20,10 40,20 Q20,30 3,20 Z"
dur="1s" repeatCount="indefinite" />
</path>
</g>
<!-- 飞舞的落叶 -->
<g fill="#FFA500">
<circle cx="300" cy="0" r="3">
<animate attributeName="cy" from="0" to="200" dur="2s" repeatCount="indefinite" />
<animate attributeName="cx" values="300;350;250;325;300" dur="2s" repeatCount="indefinite" />
</circle>
<circle cx="500" cy="0" r="2">
<animate attributeName="cy" from="0" to="200" dur="2.5s" repeatCount="indefinite" />
<animate attributeName="cx" values="500;550;450;525;500" dur="2.5s" repeatCount="indefinite" />
</circle>
<circle cx="700" cy="0" r="3">
<animate attributeName="cy" from="0" to="200" dur="1.8s" repeatCount="indefinite" />
<animate attributeName="cx" values="700;750;650;725;700" dur="1.8s" repeatCount="indefinite" />
</circle>
</g>
<!-- 飘动的树叶 -->
<g fill="#2E8B57">
<path d="M400,100 Q410,90 420,100 Q410,110 400,100" transform="rotate(0)">
<animateTransform attributeName="transform" type="rotate" from="0 410 100" to="360 410 100" dur="2s" repeatCount="indefinite" />
</path>
<path d="M600,150 Q610,140 620,150 Q610,160 600,150" transform="rotate(0)">
<animateTransform attributeName="transform" type="rotate" from="0 610 150" to="360 610 150" dur="1.5s" repeatCount="indefinite" />
</path>
</g>
</svg>`
}
};
}
/**
* 获取天气数据
* @param token 彩云天气token
* @param options 天气数据配置
* @param options.lng 经度,不传则ip定位
* @param options.lat 纬度,不传则ip定位
* @returns 天气数据
*/
getWeather(token, options) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
if (!token) {
console.error('token不能为空!');
}
let lng = options === null || options === void 0 ? void 0 : options.lng;
let lat = options === null || options === void 0 ? void 0 : options.lat;
if (!lng || !lat) {
const res = yield this.getGeolocation();
lng = res.longitude.toString();
lat = res.latitude.toString();
}
let data = yield this.getRealTimeWeather(token, lng, lat);
resolve(data);
}));
});
}
//获取实时天气数据
getRealTimeWeather(token, lng, lat) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
let url = `https://api.caiyunapp.com/v2.6/${token}/${lng},${lat}/weather?alert=true&dailysteps=6&hourlysteps=24&unit=metric:v2`;
this.jsonpFunction({
url: url,
success: (res) => {
let data = res.result;
let realtime = {
name: '实时天气数据',
temperature: {
name: '地表2米气温',
value: data.realtime.temperature,
min: data.daily.temperature[0].min,
max: data.daily.temperature[0].max,
unit: '℃'
},
apparent_temperature: {
name: '体感温度',
value: data.realtime.apparent_temperature,
unit: '℃'
},
skycon: {
name: '天气现象',
value: data.realtime.skycon,
desc: this.skyconEnum[data.realtime.skycon].word,
icon: this.sanitizerSvg(this.skyconEnum[data.realtime.skycon].icon),
bg: this.sanitizerSvg(this.skyconEnum[data.realtime.skycon].bg)
},
air_quality: {
name: '空气质量',
aqi: {
name: '空气质量指数',
value: data.realtime.air_quality.aqi.chn,
desc: this.getAQIParams(data.realtime.air_quality.aqi.chn).description,
color: this.getAQIParams(data.realtime.air_quality.aqi.chn).color,
icon: this.getAQIParams(data.realtime.air_quality.aqi.chn).img
},
so2: {
name: '二氧化硫浓度',
value: data.realtime.air_quality.so2,
unit: 'μg/m³'
},
no2: {
name: '二氧化氮浓度',
value: data.realtime.air_quality.no2,
unit: 'μg/m³'
},
o3: {
name: '臭氧浓度',
value: data.realtime.air_quality.o3,
unit: 'μg/m³'
},
co: {
name: '一氧化碳浓度',
value: data.realtime.air_quality.co,
unit: 'μg/m³'
},
pm10: {
name: 'PM10浓度',
value: data.realtime.air_quality.pm10,
unit: 'μg/m³'
},
pm25: {
name: 'PM2.5浓度',
value: data.realtime.air_quality.pm25,
unit: 'μg/m³'
}
},
humidity: {
name: '地表2米湿度相对湿度',
value: this.roundPercent(data.realtime.humidity),
unit: '%'
},
cloudrate: {
name: '总云量',
value: this.roundPercent(data.realtime.cloudrate),
unit: '%'
},
wind: {
name: 'speed:地表10米风速;speedUnit:风速单位;level:风力等级;levelDesc:风力等级自然语言描述;direction:地表10米风向;directionUnit:风向单位;directionDescChinese:风向中文描述;directionDescEnglish:风向英文描述',
speed: data.realtime.wind.speed,
speedUnit: 'km/h',
level: this.getWindLevel(data.realtime.wind.speed).level,
levelDesc: this.getWindLevel(data.realtime.wind.speed).levelDesc,
direction: data.realtime.wind.direction,
directionUnit: '°',
directionDescChinese: this.getWindDirection(data.realtime.wind.direction).chinese,
directionDescEnglish: this.getWindDirection(data.realtime.wind.direction).english
},
astro: {
name: 'sunrise:日出;sunset:日落',
sunrise: data.daily.astro[0].sunrise.time,
sunset: data.daily.astro[0].sunset.time
},
visibility: {
name: '能见度',
value: data.realtime.visibility,
unit: 'km'
},
precipitation: {
name: '实时降水量',
value: this.retainDecimal(data.realtime.precipitation.local.intensity, 2),
desc: this.getPrecipitationDesc1(data.realtime.precipitation.local.intensity, data.realtime.skycon),
unit: 'mm/h'
},
pressure: {
name: '地面气压',
value: data.realtime.pressure,
unit: 'Pa'
},
dswrf: {
name: '向下短波辐射通量',
value: data.realtime.dswrf,
unit: 'W/M2'
},
life_index: {
name: 'coldRisk:感冒;dressing:穿衣;comfort:舒适度;ultraviolet:紫外线;carWashing:洗车',
coldRisk: data.daily.life_index.coldRisk[0].desc,
dressing: data.daily.life_index.dressing[0].desc,
comfort: data.realtime.life_index.comfort.desc,
ultraviolet: data.realtime.life_index.ultraviolet.desc,
carWashing: data.daily.life_index.carWashing[0].desc
}
};
let hourly = {
name: '小时级别预报',
value: []
};
data.hourly.skycon.map((item, index) => {
hourly.value.push({
time: this.formatDate('yyyy-MM-dd HH:mm:ss', item.datetime),
temperature: {
name: '地表2米气温',
value: data.hourly.temperature[index].value,
unit: '℃'
},
apparent_temperature: {
name: '体感温度',
value: data.hourly.apparent_temperature[index].value,
unit: '℃'
},
skycon: {
name: '天气现象',
value: data.hourly.skycon[index].value,
desc: this.skyconEnum[data.hourly.skycon[index].value].word,
icon: this.sanitizerSvg(this.skyconEnum[data.hourly.skycon[index].value].icon),
bg: this.sanitizerSvg(this.skyconEnum[data.hourly.skycon[index].value].bg)
},
air_quality: {
name: '空气质量',
aqi: {
name: '空气质量指数',
value: data.hourly.air_quality.aqi[index].value.chn,
desc: this.getAQIParams(data.hourly.air_quality.aqi[index].value.chn).description,
color: this.getAQIParams(data.hourly.air_quality.aqi[index].value.chn).color,
icon: this.getAQIParams(data.hourly.air_quality.aqi[index].value.chn).img
},
pm25: {
name: 'PM2.5浓度',
value: data.hourly.air_quality.pm25[index].value,
unit: 'μg/m³'
}
},
humidity: {
name: '地表2米湿度相对湿度',
value: this.roundPercent(data.hourly.humidity[index].value),
unit: '%'
},
cloudrate: {
name: '总云量',
value: this.roundPercent(data.hourly.cloudrate[index].value),
unit: '%'
},
wind: {
name: 'speed:地表10米风速;speedUnit:风速单位;level:风力等级;levelDesc:风力等级自然语言描述;direction:地表10米风向;directionUnit:风向单位;directionDescChinese:风向中文描述;directionDescEnglish:风向英文描述',
speed: data.hourly.wind[index].speed,
speedUnit: 'km/h',
level: this.getWindLevel(data.hourly.wind[index].speed).level,
levelDesc: this.getWindLevel(data.hourly.wind[index].speed).levelDesc,
direction: data.hourly.wind[index].direction,
directionUnit: '°',
directionDescChinese: this.getWindDirection(data.hourly.wind[index].direction).chinese,
directionDescEnglish: this.getWindDirection(data.hourly.wind[index].direction).english
},
visibility: {
name: '能见度',
value: data.hourly.visibility[index].value,
unit: 'km'
},
precipitation: {
name: 'value:降水量;unit:降水量单位;probability:降水概率;probabilityUnit:降水概率单位',
value: this.retainDecimal(data.hourly.precipitation[index].value, 2),
desc: this.getPrecipitationDesc2(data.hourly.precipitation[index].value, data.hourly.skycon[index].value),
unit: 'mm/h',
probability: data.hourly.precipitation[index].probability,
probabilityUnit: '%'
},
pressure: {
name: '地面气压',
value: data.hourly.pressure[index].value,
unit: 'Pa'
},
dswrf: {
name: '向下短波辐射通量',
value: data.hourly.dswrf[index].value,
unit: 'W/M2'
}
});
});
let daily = {
name: '天级别预报',
value: []
};
data.daily.skycon.map((item, index) => {
if (index != 0) {
daily.value.push({
date: this.formatDate('yyyy-MM-dd', item.date),
temperature: {
name: '全天地表2米气温',
avg: data.daily.temperature[index].avg,
min: data.daily.temperature[index].min,
max: data.daily.temperature[index].max,
unit: '℃'
},
temperature_08h_20h: {
name: '白天地表2米气温',
avg: data.daily.temperature_08h_20h[index].avg,
min: data.daily.temperature_08h_20h[index].min,
max: data.daily.temperature_08h_20h[index].max,
unit: '℃'
},
temperature_20h_32h: {
name: '夜晚地表2米气温',
avg: data.daily.temperature_20h_32h[index].avg,
min: data.daily.temperature_20h_32h[index].min,
max: data.daily.temperature_20h_32h[index].max,
unit: '℃'
},
skycon: {
name: '全天主要天气现象',
value: data.daily.skycon[index].value,
desc: this.skyconEnum[data.daily.skycon[index].value].word,
icon: this.sanitizerSvg(this.skyconEnum[data.daily.skycon[index].value].icon),
bg: this.sanitizerSvg(this.skyconEnum[data.daily.skycon[index].value].bg)
},
skycon_08h_20h: {
name: '白天主要天气现象',
value: data.daily.skycon_08h_20h[index].value,
desc: this.skyconEnum[data.daily.skycon_08h_20h[index].value].word,
icon: this.sanitizerSvg(this.skyconEnum[data.daily.skycon_08h_20h[index].value].icon),
bg: this.sanitizerSvg(this.skyconEnum[data.daily.skycon_08h_20h[index].value].bg)
},
skycon_20h_32h: {
name: '夜晚主要天气现象',
value: data.daily.skycon_20h_32h[index].value,
desc: this.skyconEnum[data.daily.skycon_20h_32h[index].value].word,
icon: this.sanitizerSvg(this.skyconEnum[data.daily.skycon_20h_32h[index].value].icon),
bg: this.sanitizerSvg(this.skyconEnum[data.daily.skycon_20h_32h[index].value].bg)
},
air_quality: {
name: '空气质量',
aqi: {
name: '空气质量指数',
avg: {
value: data.daily.air_quality.aqi[index].avg.chn,
desc: this.getAQIParams(data.daily.air_quality.aqi[index].avg.chn).description,
color: this.getAQIParams(data.daily.air_quality.aqi[index].avg.chn).color,
icon: this.getAQIParams(data.daily.air_quality.aqi[index].avg.chn).img
},
min: {
value: data.daily.air_quality.aqi[index].min.chn,
desc: this.getAQIParams(data.daily.air_quality.aqi[index].min.chn).description,
color: this.getAQIParams(data.daily.air_quality.aqi[index].min.chn).color,
icon: this.getAQIParams(data.daily.air_quality.aqi[index].min.chn).img
},
max: {
value: data.daily.air_quality.aqi[index].max.chn,
desc: this.getAQIParams(data.daily.air_quality.aqi[index].max.chn).description,
color: this.getAQIParams(data.daily.air_quality.aqi[index].max.chn).color,
icon: this.getAQIParams(data.daily.air_quality.aqi[index].max.chn).img
}
},
pm25: {
name: 'PM2.5浓度',
avg: data.daily.air_quality.pm25[index].avg,
min: data.daily.air_quality.pm25[index].min,
max: data.daily.air_quality.pm25[index].max,
unit: 'μg/m³'
}
},
humidity: {
name: '地表2米湿度相对湿度',
avg: this.roundPercent(data.daily.humidity[index].avg),
min: this.roundPercent(data.daily.humidity[index].min),
max: this.roundPercent(data.daily.humidity[index].max),
unit: '%'
},
cloudrate: {
name: '总云量',
avg: this.roundPercent(data.daily.cloudrate[index].avg),
min: this.roundPercent(data.daily.cloudrate[index].min),
max: this.roundPercent(data.daily.cloudrate[index].max),
unit: '%'
},
wind: {
name: 'speed:全天地表10米风速;speedUnit:风速单位;level:风力等级;levelDesc:风力等级自然语言描述;direction:全天地表10米风向;directionUnit:风向单位;directionDescChinese:风向中文描述;directionDescEnglish:风向英文描述',
speedUnit: 'km/h',
directionUnit: '°',
avg: {
speed: data.daily.wind[index].avg.speed,
level: this.getWindLevel(data.daily.wind[index].avg.speed).level,
levelDesc: this.getWindLevel(data.daily.wind[index].avg.speed).levelDesc,
direction: data.daily.wind[index].avg.direction,
directionDescChinese: this.getWindDirection(data.daily.wind[index].avg.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind[index].avg.direction).english
},
min: {
speed: data.daily.wind[index].min.speed,
level: this.getWindLevel(data.daily.wind[index].min.speed).level,
levelDesc: this.getWindLevel(data.daily.wind[index].min.speed).levelDesc,
direction: data.daily.wind[index].min.direction,
directionDescChinese: this.getWindDirection(data.daily.wind[index].min.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind[index].min.direction).english
},
max: {
speed: data.daily.wind[index].max.speed,
level: this.getWindLevel(data.daily.wind[index].max.speed).level,
levelDesc: this.getWindLevel(data.daily.wind[index].max.speed).levelDesc,
direction: data.daily.wind[index].max.direction,
directionDescChinese: this.getWindDirection(data.daily.wind[index].max.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind[index].max.direction).english
}
},
wind_08h_20h: {
name: 'speed:白天地表10米风速;speedUnit:风速单位;level:风力等级;levelDesc:风力等级自然语言描述;direction:白天地表10米风向;directionUnit:风向单位;directionDescChinese:风向中文描述;directionDescEnglish:风向英文描述',
speedUnit: 'km/h',
directionUnit: '°',
avg: {
speed: data.daily.wind_08h_20h[index].avg.speed,
level: this.getWindLevel(data.daily.wind_08h_20h[index].avg.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_08h_20h[index].avg.speed).levelDesc,
direction: data.daily.wind_08h_20h[index].avg.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_08h_20h[index].avg.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_08h_20h[index].avg.direction).english
},
min: {
speed: data.daily.wind_08h_20h[index].min.speed,
level: this.getWindLevel(data.daily.wind_08h_20h[index].min.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_08h_20h[index].min.speed).levelDesc,
direction: data.daily.wind_08h_20h[index].min.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_08h_20h[index].min.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_08h_20h[index].min.direction).english
},
max: {
speed: data.daily.wind_08h_20h[index].max.speed,
level: this.getWindLevel(data.daily.wind_08h_20h[index].max.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_08h_20h[index].max.speed).levelDesc,
direction: data.daily.wind_08h_20h[index].max.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_08h_20h[index].max.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_08h_20h[index].max.direction).english
}
},
wind_20h_32h: {
name: 'speed:夜晚地表10米风速;speedUnit:风速单位;level:风力等级;levelDesc:风力等级自然语言描述;direction:夜晚地表10米风向;directionUnit:风向单位;directionDescChinese:风向中文描述;directionDescEnglish:风向英文描述',
speedUnit: 'km/h',
directionUnit: '°',
avg: {
speed: data.daily.wind_20h_32h[index].avg.speed,
level: this.getWindLevel(data.daily.wind_20h_32h[index].avg.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_20h_32h[index].avg.speed).levelDesc,
direction: data.daily.wind_20h_32h[index].avg.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_20h_32h[index].avg.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_20h_32h[index].avg.direction).english
},
min: {
speed: data.daily.wind_20h_32h[index].min.speed,
level: this.getWindLevel(data.daily.wind_20h_32h[index].min.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_20h_32h[index].min.speed).levelDesc,
direction: data.daily.wind_20h_32h[index].min.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_20h_32h[index].min.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_20h_32h[index].min.direction).english
},
max: {
speed: data.daily.wind_20h_32h[index].max.speed,
level: this.getWindLevel(data.daily.wind_20h_32h[index].max.speed).level,
levelDesc: this.getWindLevel(data.daily.wind_20h_32h[index].max.speed).levelDesc,
direction: data.daily.wind_20h_32h[index].max.direction,
directionDescChinese: this.getWindDirection(data.daily.wind_20h_32h[index].max.direction).chinese,
directionDescEnglish: this.getWindDirection(data.daily.wind_20h_32h[index].max.direction).english
}
},
astro: {
name: 'sunrise:日出;sunset:日落',
sunrise: data.daily.astro[index].sunrise.time,
sunset: data.daily.astro[index].sunset.time
},
visibility: {
name: '能见度',
avg: data.daily.visibility[index].avg,
min: data.daily.visibility[index].min,
max: data.daily.visibility[index].max,
unit: 'km'
},
precipitation: {
name: 'value:全天降水量;unit:降水量单位;probability:全天降水概率;probabilityUnit:降水概率单位',
unit: 'mm/h',
probability: data.daily.precipitation[index].probability,
probabilityUnit: '%',
avg: {
value: this.retainDecimal(data.daily.precipitation[index].avg, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation[index].avg, data.daily.skycon[index].value)
},
min: {
value: this.retainDecimal(data.daily.precipitation[index].min, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation[index].min, data.daily.skycon[index].value)
},
max: {
value: this.retainDecimal(data.daily.precipitation[index].max, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation[index].max, data.daily.skycon[index].value)
}
},
precipitation_08h_20h: {
name: 'value:白天降水量;unit:降水量单位;probability:白天降水概率;probabilityUnit:降水概率单位',
unit: 'mm/h',
probability: data.daily.precipitation_08h_20h[index].probability,
probabilityUnit: '%',
avg: {
value: this.retainDecimal(data.daily.precipitation_08h_20h[index].avg, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_08h_20h[index].avg, data.daily.skycon_08h_20h[index].value)
},
min: {
value: this.retainDecimal(data.daily.precipitation_08h_20h[index].min, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_08h_20h[index].min, data.daily.skycon_08h_20h[index].value)
},
max: {
value: this.retainDecimal(data.daily.precipitation_08h_20h[index].max, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_08h_20h[index].max, data.daily.skycon_08h_20h[index].value)
}
},
precipitation_20h_32h: {
name: 'value:夜晚降水量;unit:降水量单位;probability:夜晚降水概率;probabilityUnit:降水概率单位',
unit: 'mm/h',
probability: data.daily.precipitation_20h_32h[index].probability,
probabilityUnit: '%',
avg: {
value: this.retainDecimal(data.daily.precipitation_20h_32h[index].avg, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_20h_32h[index].avg, data.daily.skycon_20h_32h[index].value)
},
min: {
value: this.retainDecimal(data.daily.precipitation_20h_32h[index].min, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_20h_32h[index].min, data.daily.skycon_20h_32h[index].value)
},
max: {
value: this.retainDecimal(data.daily.precipitation_20h_32h[index].max, 2),
desc: this.getPrecipitationDesc2(data.daily.precipitation_20h_32h[index].max, data.daily.skycon_20h_32h[index].value)
}
},
pressure: {
name: '地面气压',
avg: data.daily.pressure[index].avg,
min: data.daily.pressure[index].min,
max: data.daily.pressure[index].max,
unit: 'Pa'
},
dswrf: {
name: '向下短波辐射通量',
avg: data.daily.dswrf[index].avg,
min: data.daily.dswrf[index].min,
max: data.daily.dswrf[index].max,
unit: 'W/M2'
},
life_index: {
name: 'coldRisk:感冒;dressing:穿衣;comfort:舒适度;ultraviolet:紫外线;carWashing:洗车',
coldRisk: data.daily.life_index.coldRisk[index].desc,
dressing: data.daily.life_index.dressing[index].desc,
comfort: data.daily.life_index.comfort[index].desc,
ultraviolet: data.daily.life_index.ultraviolet[index].desc,
carWashing: data.daily.life_index.carWashing[index].desc
}
});
}
});
let location = {
name: '请求位置信息',
lnglat: res.location.reverse(),
city: data.alert.adcodes ? data.alert.adcodes[1].name : res.timezone,
country: data.alert.adcodes ? data.alert.adcodes[2].name : ''
};
let serverTime = {
name: '数据请求时间',
value: this.formatDate('yyyy-MM-dd HH:mm:ss', res.server_time * 1000),
};
let forecast_keypoint = {
name: '预报天气描述',
value: data.forecast_keypoint
};
let alert = {
name: '预警信息',
value: data.alert.content
};
resolve({ realtime, hourly, daily, location, forecast_keypoint, serverTime, alert });
}
});
});
});
}
/**
* 格式化时间
* @param type 格式化类型yyyy-MM-dd HH:mm:ss,注意MM为月份、mm为分钟
* @param time 可选。默认当前时间
* @returns yyyy-MM-dd HH:mm:ss
*/
formatDate(type, time) {
if (!time) {
time = new Date();
}
else {
time = new Date(time);
}
if (!type) {
return '';
}
const year = time.getFullYear();
const month = (time.getMonth() + 1).toString().padStart(2, '0');
const date = (time.getDate()).toString().padStart(2, '0');
const hours = (time.getHours()).toString().padStart(2, '0');
const minute = (time.getMinutes()).toString().padStart(2, '0');
const second = (time.getSeconds()).toString().padStart(2, '0');
return type.replace('yyyy', year).replace('MM', month).replace('dd', date).replace('HH', hours).replace('mm', minute).replace('ss', second);
}
/**
* jsonp封装
* @param obj \{url: '', success: ()=> {}}
*/
jsonpFunction(obj) {
// 创建一个script标签;
var script = document.createElement("script");
// 给函数起名字,定义为全局函数;
var fnName = "jsonp" + new Date().getTime();
// window.aaa就是把aaa设置为全局变量!
window[fnName] = obj.success;
// 改变src,添加到head中
if (obj.url.includes('?')) {
script.src = obj.url + "&callback=" + fnName;
}
else {
script.src = obj.url + "?callback=" + fnName;
}
// 把script标签添加到head标签中,就会发送src的请求了
document.head.appendChild(script);
// 代码执行完毕,把script标签删除
script.onload = function () {
document.head.removeChild(script);
window[fnName] = undefined;
};
}
/**
* 获取当前位置的经纬度
* @returns Promise<{latitude: number, longitude: number}>
*/
getGeolocation() {
return new Promise((resolve, reject) => {
this.jsonpFunction({
url: `https://apis.map.qq.com/ws/location/v1/ip?key=5O6BZ-HCIL3-TUG35-R6T5D-WIMN7-JOFRJ&output=jsonp`,
success: (data) => {
if (data.status == 0) {
resolve({
latitude: data.result.location.lat,
longitude: data.result.location.lng
});
}
else {
reject(new Error('获取位置信息失败'));
}
}
});
});
}
/**
* 保留指定小数位数(降水量)
* @param num 需要处理的数值
* @param len 要保留的小数位数
* @returns 处理后的数值,保留指定小数位数
*/
retainDecimal(num, len) {
const n = Math.pow(10, len);
return Math.round(num * n) / n;
}
//四舍五入百分比(相对湿度、云量)
roundPercent(num) {
return Math.round(num * 100);
}
//根据降水量获取等级(实时、分钟级降水量 mm/h)
getPrecipitationDesc1(num, skycon) {
let keyWord = '';
if (skycon.includes('RAIN')) {
keyWord = '雨';
}
else if (skycon.includes('SNOW')) {
keyWord = '雪';
}
else {
keyWord = '雨';
}
let precipitationDesc = '';
if (num < 0.0606) {
precipitationDesc = '无' + keyWord;
}
else if (num >= 0.0606 && num < 0.8989) {
precipitationDesc = '小' + keyWord;
}
else if (num >= 0.8989 && num < 2.8700) {
precipitationDesc = '中' + keyWord;
}
else if (num >= 2.8700 && num < 12.8638) {
precipitationDesc = '大' + keyWord;
}
else if (num >= 12.8638) {
precipitationDesc = '暴' + keyWord;
}
return precipitationDesc;
}
//根据降水量获取等级(逐小时与逐日降水量 mm/h)
getPrecipitationDesc2(num, skycon) {
let keyWord = '';
if (skycon.includes('RAIN')) {
keyWord = '雨';
}
else if (skycon.includes('SNOW')) {
keyWord = '雪';
}
else {
keyWord = '雨';
}
let precipitationDesc = '';
if (num < 0.08) {
precipitationDesc = '无' + keyWord;
}
else if (num >= 0.08 && num < 3.44) {
precipitationDesc = '小' + keyWord;
}
else if (num >= 3.44 && num < 11.33) {
precipitationDesc = '中' + keyWord;
}
else if (num >= 11.33 && num < 51.30) {
precipitationDesc = '大' + keyWord;
}
else if (num >= 51.30) {
precipitationDesc = '暴' + keyWord;
}
return precipitationDesc;
}
//根据风速获取等级(km/h)
getWindLevel(num) {
let params = {
level: '',
levelDesc: '',
};
if (num < 1) {
params = {
level: '0级',
levelDesc: '无风',
};
}
else if (num >= 1 && num <= 5) {
params = {
level: '1级',
levelDesc: '微风徐徐',
};
}
else if (num > 5 && num <= 11) {
params = {
level: '2级',
levelDesc: '清风',
};
}
else if (num > 11 && num <= 19) {
params = {
level: '3级',
levelDesc: '树叶摇摆',
};
}
else if (num > 19 && num <= 28) {
params = {
level: '4级',
levelDesc: '树枝摇动',
};
}
else if (num > 28 && num <= 38) {
params = {
level: '5级',
levelDesc: '风力强劲',
};
}
else if (num > 38 && num <= 49) {
params = {
level: '6级',
levelDesc: '风力强劲',
};
}
else if (num > 49 && num <= 61) {
params = {
level: '7级',
levelDesc: '风力超强',
};
}
else if (num > 61 && num <= 74) {
params = {
level: '8级',
levelDesc: '狂风大作',
};
}
else if (num > 74 && num <= 88) {
params = {
level: '9级',
levelDesc: '狂风呼啸',
};
}
else if (num > 88 && num <= 102) {
params = {
level: '10级',
levelDesc: '暴风毁树',
};
}
else if (num > 102 && num <= 117) {
params = {
level: '11级',
levelDesc: '暴风毁树',
};
}
else if (num > 117 && num <= 133) {
params = {
level: '12级',
levelDesc: '飓风',
};
}
else if (num > 133 && num <= 149) {
params = {
level: '13级',
levelDesc: '台风',
};
}
else if (num > 149 && num <= 166) {
params = {
level: '14级',
levelDesc: '强台风',
};
}
else if (num > 166 && num <= 183) {
params = {
level: '15级',
levelDesc: '强台风',
};
}
else if (num > 183 && num <= 201) {
params = {
level: '16级',
levelDesc: '超强台风',
};
}
else if (num > 201 && num <= 220) {
params = {
level: '17级',
levelDesc: '超强台风',
};
}
else if (num > 220) {
params = {
level: '大于17级',
levelDesc: '超强台风',
};
}
return params;
}
//获取风向
getWindDirection(num) {
let params = {
chinese: '',
english: '',
};
if (num > 348.75 || num <= 11.25) {
params = {
chinese: '北风',
english: 'N',
};
}
else if (num > 11.25 && num <= 33.75) {
params = {
chinese: '北东北风',
english: 'NNE',
};
}
else if (num > 33.75 && num <= 56.25) {
params = {
chinese: '东北风',
english: 'NE',
};
}
else if (num > 56.25 && num <= 78.75) {
params = {
chinese: '东东北风',
english: 'ENE',
};
}
else if (num > 78.75 && num <= 101.25) {
params = {
chinese: '东风',
english: 'E',
};
}
else if (num > 101.25 && num <= 123.75) {
params = {
chinese: '东东南风',
english: 'ESE',
};
}
else if (num > 123.75 && num <= 146.25) {
params = {
chinese: '东南风',
english: 'SE',
};
}
else if (num > 146.25 && num <= 168.75) {
params = {
chinese: '南东南风',
english: 'SSE',
};
}
else if (num > 168.75 && num <= 191.25) {
params = {
chinese: '南风',
english: 'S',
};
}
else if (num > 191.25 && num <= 213.75) {
params = {
chinese: '南西南风',
english: 'SSW',
};
}
else if (num > 213.75 && num <= 236.25) {
params = {
chinese: '西南风',
english: 'SW',
};
}
else if (num > 236.25 && num <= 258.75) {
params = {
chinese: '西西南风',
english: 'WSW',
};
}
else if (num > 258.75 && num <= 281.25) {
params = {
chinese: '西风',
english: 'W',
};
}
else if (num > 281.25 && num <= 303.75) {
params = {
chinese: '西西北风',
english: 'WNW',
};
}
else if (num > 303.75 && num <= 326.25) {
params = {
chinese: '西北风',
english: 'NW',
};
}
else if (num > 326.25 && num <= 348.75) {
params = {
chinese: '北西北风',
english: 'NNW',
};
}
//西西北风-->西北风 WNW-->NW
if (params.chinese.length == 4) {
params.chinese = params.chinese.substring(1);
}
if (params.english.length == 3) {
params.english = params.english.substring(1);
}
return params;
}
//根据AQI获取颜色、图片、文字描述
getAQIParams(AQI) {
let params = {
color: '',
description: '',
img: ''
};
if (AQI >= 0 && AQI <= 50) {
params.color = '#8fc31f';
params.description = '优';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAMAAAB1/u6nAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACKUExURUxpcf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+JXFaQAAAAtdFJOUwAj6wVMC/wPApzwyKP3GKzmKhFrEvN1QbyRwnu0WV701kbe0CA2feQ6YYE1214LYEgAAADYSURBVHjaVdDZkoIwEEDRhoQQdtlBx3EXdab///dMp1MY7wNUnyKQANAfp2TYg4bvQqTiIkuegcf1YhmpKJeCVXfXf8QDs7kuA/tPUF4wdWyXPIjz8K/JLDqO09pwiwcZTT5jxq9vIlFZFswoDW4Q1V4nJOC4AgAC1cLs8WJYIrWDu/ddw6KnId1Bu3IBfr/K8ZmmUqHtBbIwtw4x54MiN8PYIzVaPqEr0Tf6oRNw2cfrBdMAvoubRgTnsF73UKBrispjuD5+u7CqvISuGtf1+jRvt9Vw5ekNB3ApXi2oAXsAAAAASUVORK5CYII=';
}
else if (AQI > 50 && AQI <= 100) {
params.color = '#d7af0e';
params.description = '良';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAMAAAB1/u6nAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACKUExURUxpcf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+JXFaQAAAAtdFJOUwAj6wVMC/wPApzwyKP3GKzmKhFrEvN1QbyRwnu0WV701kbe0CA2feQ6YYE1214LYEgAAADYSURBVHjaVdDZkoIwEEDRhoQQdtlBx3EXdab///dMp1MY7wNUnyKQANAfp2TYg4bvQqTiIkuegcf1YhmpKJeCVXfXf8QDs7kuA/tPUF4wdWyXPIjz8K/JLDqO09pwiwcZTT5jxq9vIlFZFswoDW4Q1V4nJOC4AgAC1cLs8WJYIrWDu/ddw6KnId1Bu3IBfr/K8ZmmUqHtBbIwtw4x54MiN8PYIzVaPqEr0Tf6oRNw2cfrBdMAvoubRgTnsF73UKBrispjuD5+u7CqvISuGtf1+jRvt9Vw5ekNB3ApXi2oAXsAAAAASUVORK5CYII=';
}
else if (AQI > 100 && AQI <= 150) {
params.color = '#f39800';
params.description = '轻度污染';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAgCAYAAACVU7GwAAAAAXNSR0IArs4c6QAAAjZJREFUWEfNmI1RwzAMha1JoJNAJ4FOQjsJZRLKJKSTiLycncqy4p/EBXLXu17rn89Psvwccv/wIcnEzI/OuRf/25WIzvdkxnxENOg5JigP8+6ce1YN0OFMRKdecH6uN+fcqxgT85yCCAHq0wAKfdDhQESXrWDMjEVjrqXnCAGImUEMlXIPwPaW1LWgFUBhqD2gvscQIZfwDES0E7l1FJNeiGhfC6HbMbOOxhSyUZCHsW08DzOzGABhmpN7/A+xlx3w/boCDJtH5usUpjAOMyNSIccGKJVALSi1gmWxC1RCjn4gV3UKJVCGnD1hrLGC+nNea6h7A1SNX4LCKr56lAPQ+LTApnpSuRrBLkF1q01L0nhA7Miw8+emJtS4M6Ljp6S5nwC7C2UjOTZawSwoFMmm6i1q3VTnSouQ/1tFVUOtGRTyowDfKnL7oqLCqqFw+B4aV9oDKirSZvH8A6jo/G2GEkkd2PXZFR1FNZ6sWNFLg6gDvEbUYp5ugvIqyaSugUKbXa5UWFDSukSntzWj4RxKYDVjJjklt2OzZzLUW1PnEusit2Mx/lqWTlAyWmfsPu2bI6NXis1WKMOOH6yLQ5MfN6CySa2OGBReeShPkQpQWq2mMIrkb1VZ+/YpH2c3oHwyFtSkWCnMhkL6njlvMgkFKXXDrpfRjPePImNd2y3jBTj5aREmtEWK6Bu4GZHEzP3CTUYuyKyLiw4z835hjUq6T9ZuF22vcAXhbUziqSsp5V0va5l/AHmOdaKUWyqGAAAAAElFTkSuQmCC';
}
else if (AQI > 150 && AQI <= 200) {
params.color = '#e2361a';
params.description = '中度污染';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAgCAYAAACVU7GwAAAAAXNSR0IArs4c6QAAAjZJREFUWEfNmI1RwzAMha1JoJNAJ4FOQjsJZRLKJKSTiLycncqy4p/EBXLXu17rn89Psvwccv/wIcnEzI/OuRf/25WIzvdkxnxENOg5JigP8+6ce1YN0OFMRKdecH6uN+fcqxgT85yCCAHq0wAKfdDhQESXrWDMjEVjrqXnCAGImUEMlXIPwPaW1LWgFUBhqD2gvscQIZfwDES0E7l1FJNeiGhfC6HbMbOOxhSyUZCHsW08DzOzGABhmpN7/A+xlx3w/boCDJtH5usUpjAOMyNSIccGKJVALSi1gmWxC1RCjn4gV3UKJVCGnD1hrLGC+nNea6h7A1SNX4LCKr56lAPQ+LTApnpSuRrBLkF1q01L0nhA7Miw8+emJtS4M6Ljp6S5nwC7C2UjOTZawSwoFMmm6i1q3VTnSouQ/1tFVUOtGRTyowDfKnL7oqLCqqFw+B4aV9oDKirSZvH8A6jo/G2GEkkd2PXZFR1FNZ6sWNFLg6gDvEbUYp5ugvIqyaSugUKbXa5UWFDSukSntzWj4RxKYDVjJjklt2OzZzLUW1PnEusit2Mx/lqWTlAyWmfsPu2bI6NXis1WKMOOH6yLQ5MfN6CySa2OGBReeShPkQpQWq2mMIrkb1VZ+/YpH2c3oHwyFtSkWCnMhkL6njlvMgkFKXXDrpfRjPePImNd2y3jBTj5aREmtEWK6Bu4GZHEzP3CTUYuyKyLiw4z835hjUq6T9ZuF22vcAXhbUziqSsp5V0va5l/AHmOdaKUWyqGAAAAAElFTkSuQmCC';
}
else if (AQI > 200 && AQI <= 300) {
params.color = '#5f52a0';
params.description = '重度污染';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAMAAAA8w5+RAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACHUExURUxpcf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yz7YHUAAAAsdFJOUwDuErR04zj6/W+uDZoIIFv1Fz+jEMcGQ90b6Mzeu2q6A1ElL3uFj9DvY4qpDx4glAAAANFJREFUeNptkFduwzAQRIdiV5et7t6dgPc/X7iSIsHl/XD3AcMhiETtY75pGTOOsfbBY9FE0O4DDfcFL7Uogtu4xV2yzwcp4FmTC2myJE1EoyKpaAq8nEi8M0e8EjlPjQltSjpWJFdjXEOORSHJw1jU+03bMri7gXUX/eRuh8x9YFFv392z9BXmTWbwnHLX/zbFEYW6ts5YDKTiIrjURnJxthf8M99gsFBlaQLU3anCQmG5zHV/uJ5nFcR6jofp1PPyUqYw/+/CBkSzk0tcVhnwB5fXKY2gL061AAAAAElFTkSuQmCC';
}
else if (AQI > 300) {
params.color = '#631541';
params.description = '严重污染';
params.img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABmUExURUxpcf///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0U3XrMAAAAhdFJOUwCBLN939ey+Bfj8vXLUr8bwPkMvhidVwiISXGSNDM2YmWTcbM8AAACkSURBVHjarc1JDoMwEETRbwZjMBmAkHmq+18yji2FBLZ5Ui26rHaTZMbnZZl7kzEZvD78AElb60vdEhnNGIKzFs5wslqwJ4r432GlaFPFOwUbSasjXBTs4Wjfr2zTBJXkgbi+pZHUE6ylNaS1hlxpHEupHMHdJeU8FRzanVVgTRFvP8gaLTQZXLVwBZzXjHcENz9rb0ROPxwkUteF9ClM9ZQ/1i9qhyWUqSsDSwAAAABJRU5ErkJggg==';
}
return params;
}
sanitizerSvg(svg) {
return this.sanitizer.bypassSecurityTrustHtml(svg);
}
}
NcWeatherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherService, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
NcWeatherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
class NcWeatherServiceModule {
}
NcWeatherServiceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
NcWeatherServiceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherServiceModule });
NcWeatherServiceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherServiceModule, providers: [NcWeatherService] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherServiceModule, decorators: [{
type: NgModule,
args: [{
providers: [NcWeatherService]
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { NcWeatherService, NcWeatherServiceModule };
//# sourceMappingURL=ng-cw-v12-weather-service.js.map