UNPKG

ng-cw-v12

Version:

Angular UI Component Library

2,290 lines 194 kB
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