UNPKG

ng-cw-v12

Version:

Angular UI component library

2,528 lines 251 kB
import * as i0 from '@angular/core';
import { Injectable, Directive, Input, HostListener, Component, NgModule } from '@angular/core';
import * as i2 from '@angular/common';
import { CommonModule } from '@angular/common';
import { __awaiter } from 'tslib';
import { trigger, transition, style, animate } from '@angular/animations';
import * as i1 from '@angular/platform-browser';

class LocalService {
    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>`
            }
        };
    }
    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.lng;
                let lat = 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);
    }
}
LocalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: LocalService, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
LocalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: LocalService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: LocalService, decorators: [{
            type: Injectable,
            args: [{
                    providedIn: 'root'
                }]
        }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });

class HorizontalScrollDirective {
    constructor(el, renderer) {
        this.el = el;
        this.renderer = renderer;
        this.isMouseOver = false;
        this.scrollBarMode = 'show';
        this.applyScrollbarStyles();
    }
    set ncScrollBar(value) {
        this.scrollBarMode = value;
        this.updateScrollbarVisibility();
    }
    ngAfterViewInit() {
        this.updateScrollbarVisibility();
    }
    updateScrollbarVisibility() {
        switch (this.scrollBarMode) {
            case 'show':
                this.renderer.setStyle(this.el.nativeElement, 'overflow-x', 'auto');
                break;
            case 'hide':
                this.renderer.setStyle(this.el.nativeElement, 'overflow-x', 'hidden');
                break;
            case 'hover':
                this.renderer.setStyle(this.el.nativeElement, 'overflow-x', this.isMouseOver ? 'auto' : 'hidden');
                break;
        }
    }
    applyScrollbarStyles() {
        const styles = `
      ::-webkit-scrollbar {
        height: 8px;
      }
      ::-webkit-scrollbar-track {
        background: #f1f1f1;
      }
      ::-webkit-scrollbar-thumb {
        background: rgb(206,201,207);
        border-radius: 4px;
      }
      ::-webkit-scrollbar-thumb:hover {
        background: rgb(120,108,122);
      }
    `;
        const styleElement = this.renderer.createElement('style');
        this.renderer.appendChild(styleElement, this.renderer.createText(styles));
        this.renderer.appendChild(this.el.nativeElement, styleElement);
    }
    onMouseEnter() {
        this.isMouseOver = true;
        if (this.scrollBarMode === 'hover') {
            this.updateScrollbarVisibility();
        }
    }
    onMouseLeave() {
        this.isMouseOver = false;
        if (this.scrollBarMode === 'hover') {
            this.updateScrollbarVisibility();
        }
    }
    onWheel(event) {
        if (this.isMouseOver) {
            event.preventDefault();
            this.el.nativeElement.scrollLeft += event.deltaY;
        }
    }
    ngOnDestroy() {
    }
}
HorizontalScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: HorizontalScrollDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
HorizontalScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.1.5", type: HorizontalScrollDirective, selector: "[ncHorizontalScroll]", inputs: { ncScrollBar: "ncScrollBar" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "wheel": "onWheel($event)" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: HorizontalScrollDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[ncHorizontalScroll]'
                }]
        }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { ncScrollBar: [{
                type: Input
            }], onMouseEnter: [{
                type: HostListener,
                args: ['mouseenter']
            }], onMouseLeave: [{
                type: HostListener,
                args: ['mouseleave']
            }], onWheel: [{
                type: HostListener,
                args: ['wheel', ['$event']]
            }] } });

const fadeInOut = trigger('fadeInOut', [
    transition(':enter', [
        style({ opacity: 0 }),
        animate(400, style({ opacity: 1 }))
    ]),
    transition(':leave', [
        animate(400, style({ opacity: 0 }))
    ])
]);
const slideInOut = trigger('slideInOut', [
    transition(':enter', [
        style({ transform: 'translateY(-100%)' }),
        animate(300, style({ transform: 'translateY(0)' }))
    ]),
    transition(':leave', [
        animate(300, style({ transform: 'translateY(-100%)' }))
    ])
]);
class WeatherComponent {
    constructor(ls) {
        this.ls = ls;
        this.ncToken = '';
        this.ncLng = '';
        this.ncLat = '';
        this.ncInterval = 30; //刷新频率:分钟
        this.ncPosition = 'rightBottom'; //详情面板相对于bar的位置
        this.ncAnimation = 'default'; //fade:淡入淡出 slide:滑入滑出 default:无动画
        this.showLocationMode = false;
        this.showHourlyMode = false;
        this.showDailyMode = false;
        this.showLifeMode = false;
        this.detailShow = false;
        this.weatherData = {};
        this.initialized = false;
    }
    //位置信息
    set ncShowLocation(value) {
        this.showLocationMode = value !== null && value !== undefined && value !== false && value !== 'false';
    }
    //24小时预报
    set ncShowHourly(value) {
        this.showHourlyMode = value !== null && value !== undefined && value !== false && value !== 'false';
    }
    //5天预报
    set ncShowDaily(value) {
        this.showDailyMode = value !== null && value !== undefined && value !== false && value !== 'false';
    }
    //生活指数
    set ncShowLife(value) {
        this.showLifeMode = value !== null && value !== undefined && value !== false && value !== 'false';
    }
    ngOnInit() {
        return __awaiter(this, void 0, void 0, function* () {
            if (this.ncToken == '') {
                console.error('ncToken为空');
                return;
            }
            yield this.getWeatherData();
            this.initialized = true;
        });
    }
    ngOnChanges(changes) {
        // 组件初始化后且经纬度发生变化时重新获取数据
        if (this.initialized && this.ncToken && (changes['ncLng'] || changes['ncLat'])) {
            this.getWeatherData();
        }
    }
    ngOnDestroy() {
        clearInterval(this.reloadInterval);
    }
    getWeatherData() {
        return __awaiter(this, void 0, void 0, function* () {
            if (this.reloadInterval) {
                clearInterval(this.reloadInterval);
                this.reloadInterval = null;
            }
            yield this.updateWeatherData();
            this.reloadInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
                yield this.updateWeatherData();
            }), this.ncInterval * 60 * 1000);
        });
    }
    updateWeatherData() {
        return __awaiter(this, void 0, void 0, function* () {
            const options = {
                lng: this.ncLng,
                lat: this.ncLat
            };
            let data = yield this.ls.getWeather(this.ncToken, options);
            //对温度取整、时间处理
            data.realtime.temperature.value = Math.round(data.realtime.temperature.value);
            data.realtime.temperature.min = Math.round(data.realtime.temperature.min);
            data.realtime.temperature.max = Math.round(data.realtime.temperature.max);
            data.serverTime.value = this.ls.formatDate('HH:mm', data.serverTime.value);
            for (let h of data.hourly.value) {
                h.time = this.ls.formatDate('HH时', h.time);
                h.temperature.value = Math.round(h.temperature.value);
            }
            for (let d of data.daily.value) {
                d.date = this.ls.formatDate('MM-dd', d.date);
                d.temperature.min = Math.round(d.temperature.min);
                d.temperature.max = Math.round(d.temperature.max);
            }
            this.weatherData = data;
        });
    }
}
WeatherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: WeatherComponent, deps: [{ token: LocalService }], target: i0.ɵɵFactoryTarget.Component });
WeatherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: WeatherComponent, selector: "nc-weather", inputs: { ncToken: "ncToken", ncLng: "ncLng", ncLat: "ncLat", ncInterval: "ncInterval", ncPosition: "ncPosition", ncAnimation: "ncAnimation", ncShowLocation: "ncShowLocation", ncShowHourly: "ncShowHourly", ncShowDaily: "ncShowDaily", ncShowLife: "ncShowLife" }, usesOnChanges: true, ngImport: i0, template: "<ng-template #detailsTemplate>\r\n    <div class=\"nc-space\" *ngIf=\"ncPosition == 'rightBottom' || ncPosition == 'leftBottom'\"></div>\r\n    <div class=\"nc-content\">\r\n        <!--\u80CC\u666F\u56FE-->\r\n        <div class=\"nc-weather-background\" [innerHTML]=\"weatherData.realtime.skycon.bg\"></div>\r\n        <!--\u5B9E\u65F6-->\r\n        <div class=\"nc-realtime\">\r\n            <!--\u7A7A\u6C14\u8D28\u91CF-->\r\n            <div class=\"nc-AQI\">\r\n                <div class=\"nc-aqi-img\" [ngStyle]=\"{'background-color': weatherData.realtime.air_quality.aqi.color}\">\r\n                    <img [src]=\"weatherData.realtime.air_quality.aqi.icon\">\r\n                </div>\r\n                {{weatherData.realtime.air_quality.aqi.value}}&nbsp;{{weatherData.realtime.air_quality.aqi.desc}}\r\n            </div>\r\n            <!--\u6E29\u5EA6-->\r\n            <div class=\"nc-temperature\">\r\n                <div class=\"nc-num\">{{weatherData.realtime.temperature.value}}\u00B0</div>\r\n                <div class=\"nc-icon\" [innerHTML]=\"weatherData.realtime.skycon.icon\"></div>\r\n                <div class=\"nc-word\">{{weatherData.realtime.skycon.desc}}</div>\r\n            </div>\r\n            <!--\u5176\u4ED6-->\r\n            <div class=\"nc-other\">\r\n                <!--\u6E29\u5EA6-->\r\n                <div class=\"nc-other-panel\" title=\"\u6E29\u5EA6\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1715578989854\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5045\" width=\"20\"\r\n                        height=\"20\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M402.285779 73.142857a110.257143 110.257143 0 0 1 109.714285 109.714286v355.3l27.385715 21.971428a219.414286 219.414286 0 1 1-274.2 0L292.571493 538.157143V182.857143a110.257143 110.257143 0 0 1 109.714286-109.714286m0-73.142857c-100.571429 0-182.857143 82.285714-182.857143 182.857143v320.2A291.971429 291.971429 0 0 0 109.71435 731.428571c0 161.585714 130.985714 292.571429 292.571429 292.571429S694.857207 893.014286 694.857207 731.428571a292.014286 292.014286 0 0 0-109.714286-228.371428V182.857143c0-100.571429-82.285714-182.857143-182.857142-182.857143z m0 0\"\r\n                            p-id=\"5046\" fill=\"#ffffff\"></path>\r\n                        <path\r\n                            d=\"M438.857207 589.757143v-297.142857a36.571429 36.571429 0 0 0-73.142857 0v297.142857a146.285714 146.285714 0 1 0 73.142857 0z m438.857143-480h-182.857143a36.571429 36.571429 0 1 1 0-73.142857h182.857143a36.571429 36.571429 0 1 1 0 73.142857z m0 182.857143h-182.857143a36.571429 36.571429 0 1 1 0-73.142857h182.857143a36.571429 36.571429 0 1 1 0 73.142857z m0 182.857143h-182.857143a36.571429 36.571429 0 1 1 0-73.142858h182.857143a36.571429 36.571429 0 1 1 0 73.142858z m0 0\"\r\n                            p-id=\"5047\" fill=\"#ffffff\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.temperature.min}}\u00B0-{{weatherData.realtime.temperature.max}}\u00B0\r\n                </div>\r\n                <!--\u76F8\u5BF9\u6E7F\u5EA6-->\r\n                <div class=\"nc-other-panel\" title=\"\u76F8\u5BF9\u6E7F\u5EA6\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1715579692622\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7373\" width=\"20\"\r\n                        height=\"20\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M512 17.066667C419.271111 17.066667 124.586667 369.777778 124.586667 609.848889c0 218.453333 174.08 397.084444 387.413333 397.084444 213.333333 0 387.413333-178.631111 387.413333-397.084444C899.413333 369.777778 604.728889 17.066667 512 17.066667z m313.457778 592.782222c0 177.493333-140.515556 321.991111-313.457778 321.991111s-313.457778-144.497778-313.457778-321.991111C198.542222 392.533333 459.093333 117.191111 512 93.297778c52.906667 23.893333 313.457778 299.235556 313.457778 516.551111z\"\r\n                            fill=\"#ffffff\" p-id=\"7374\"></path>\r\n                        <path\r\n                            d=\"M383.431111 621.226667c-5.12-13.653333-17.635556-23.893333-31.857778-26.168889s-29.582222 3.413333-38.684444 14.791111c-9.102222 11.377778-11.377778 27.306667-6.257778 40.96a327.111111 327.111111 0 0 0 192.284445 191.146667 41.415111 41.415111 0 0 0 54.613333-32.426667 40.96 40.96 0 0 0-26.737778-46.08c-65.991111-23.893333-117.76-76.231111-143.36-142.222222z\"\r\n                            fill=\"#ffffff\" p-id=\"7375\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.humidity.value}}%\r\n                </div>\r\n                <!--\u98CE\u5411-->\r\n                <div class=\"nc-other-panel\" [title]=\"weatherData.realtime.wind.directionDescChinese\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1715579935623\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8661\" width=\"20\"\r\n                        height=\"20\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M320 384a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-192zM160 384a32 32 0 0 1 0-64h32a32 32 0 0 1 0 64H160zM160 512a32 32 0 0 1 0-64h576a32 32 0 0 1 0 64H160z\"\r\n                            fill=\"#ffffff\" p-id=\"8662\"></path>\r\n                        <path\r\n                            d=\"M736 512a32 32 0 0 1 0-64 64 64 0 1 0 0-128 32 32 0 0 1 0-64 128 128 0 1 1 0 256zM161.056 641.92a32 32 0 1 1-2.112-64c365.536-12 596.576 31.36 696.224 136a32 32 0 0 1-46.336 44.16c-82.752-86.912-299.712-127.616-647.776-116.16z\"\r\n                            fill=\"#ffffff\" p-id=\"8663\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.wind.level}}\r\n                </div>\r\n                <!--\u80FD\u89C1\u5EA6-->\r\n                <div class=\"nc-other-panel\" title=\"\u80FD\u89C1\u5EA6\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1732169840319\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"7709\" width=\"18\"\r\n                        height=\"18\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M511.998465 879.616612c-270.745331 0-490.155483-275.592732-490.155483-367.616612 0-121.700783 219.410152-367.617635 490.155483-367.617635 270.748401 0 490.157529 274.755668 490.157529 367.617635C1002.155994 608.931656 782.746866 879.616612 511.998465 879.616612L511.998465 879.616612 511.998465 879.616612zM511.998465 205.6518c-236.880035 0-428.944376 204.989721-428.944376 306.3482 0 76.706009 192.06434 306.347177 428.944376 306.347177 236.881059 0 428.887071-233.470379 428.887071-306.347177C940.885536 437.208597 748.879524 205.6518 511.998465 205.6518L511.998465 205.6518 511.998465 205.6518zM511.998465 695.808306c-101.535511 0-183.866634-82.331123-183.866634-183.808306 0-101.478206 82.332147-183.808306 183.866634-183.808306 101.418854 0 183.809329 82.331123 183.809329 183.808306C695.807794 613.477182 613.417319 695.808306 511.998465 695.808306L511.998465 695.808306 511.998465 695.808306zM511.998465 389.461129c-67.729567 0-122.597199 54.80828-122.597199 122.538871 0 67.610864 54.868655 122.538871 122.597199 122.538871 67.672262 0 122.540917-54.928007 122.540917-122.538871C634.539382 444.269409 579.670727 389.461129 511.998465 389.461129L511.998465 389.461129 511.998465 389.461129z\"\r\n                            fill=\"#ffffff\" p-id=\"7710\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.visibility.value}}km\r\n                </div>\r\n                <!--\u4E91\u91CF-->\r\n                <div class=\"nc-other-panel\" title=\"\u4E91\u91CF\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1732170664431\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8797\" width=\"18\"\r\n                        height=\"18\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M769.8432 881.5616H242.688c-128.1024 5.632-236.6464-90.7776-242.432-215.4496C-5.632 541.44 93.5424 435.8144 221.6448 430.08 221.2864 278.6816 341.8624 152.9344 497.152 142.848c155.3408-10.0864 291.9936 98.9184 312.32 249.1392 130.9184 19.6096 224.1536 134.144 213.76 262.656-10.4448 128.512-120.9344 227.4816-253.3888 226.9184zM273.408 799.488h496.384a169.6256 169.6256 0 0 0 146.0736-82.0736 160.3584 160.3584 0 0 0 0-164.1472 169.472 169.472 0 0 0-146.0736-82.0736 42.7008 42.7008 0 0 1-29.8496-12.032 40.448 40.448 0 0 1-12.3392-29.0304c0-113.3056-94.4128-205.2096-210.8416-205.2096-116.48 0-210.8928 91.904-210.8928 205.2096v8.6528c99.7376 27.648 168.5504 116.224 168.704 217.088a40.8576 40.8576 0 0 1-21.0944 35.5328 43.1616 43.1616 0 0 1-42.1888 0 40.8576 40.8576 0 0 1-20.992-35.5328c0-79.2064-65.8944-143.4624-147.2512-143.6672-81.5104 0-147.6096 64.3072-147.6096 143.6672 0 79.3088 66.0992 143.616 147.6096 143.616h16.4352a42.496 42.496 0 0 1 13.9776 0H273.408z m0 0\"\r\n                            p-id=\"8798\" fill=\"#ffffff\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.cloudrate.value}}%\r\n                </div>\r\n                <!--\u5B9E\u51B5\u964D\u6C34\u91CF-->\r\n                <div class=\"nc-other-panel\" title=\"\u5B9E\u51B5\u964D\u6C34\u91CF\">\r\n                    <svg style=\"filter: url(#shadow);\" t=\"1732178187645\" class=\"icon nc-other-icon\"\r\n                        viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"15679\" width=\"18\"\r\n                        height=\"18\">\r\n                        <defs>\r\n                            <filter id=\"shadow\">\r\n                                <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                            </filter>\r\n                        </defs>\r\n                        <path\r\n                            d=\"M895.7 345c-29.1-29.3-65.4-51-105.3-63.6-10-3.2-17.6-11.5-19.7-21.8-3.4-17.5-9-34.5-16.6-51-13.1-28.3-31.8-53.7-55.6-75.4-48-44-111.6-68.2-179-68.2-67.5 0-131.1 24.2-179.1 68.1-23.8 21.7-42.4 47.1-55.6 75.4-13.5 29.1-20.4 60-20.7 91.8-50.2 4.6-96.8 24.8-133.2 58-42.8 39.1-66.3 91.4-66.3 147.3C64.6 560 87 611.2 127.7 650c26.2 25 58.3 43.1 93.4 53.1 28 8 56.1-12.3 57.3-41.4 0.8-20.9-12.9-39.4-33-45.2-52.9-15.2-90.8-59.1-90.8-110.7 0-64.2 59-116.4 131.5-116.4h0.2c14.7 0 28.8-6.2 38.7-17.2l4.9-5.4c15.8-17.6 24.3-40.5 24.2-64.1v-0.3c0-81.2 74.2-147.3 165.4-147.3s165.4 66.1 165.4 147.3c0 2.9-0.1 6-0.3 9.3-1.7 24.4 16.4 45.7 40.8 48 84.5 7.7 148.3 70.7 148.3 146.5 0 65.1-48.7 121.6-116 140.6-20.6 5.8-34.2 25.3-32.7 46.6 2.1 28.3 29.5 47.7 56.8 40.1 42.6-11.9 81.3-34 112.3-64.5 44.8-44.2 69.5-102 69.5-162.8-0.1-60.1-24.2-117.3-67.9-161.2z\"\r\n                            p-id=\"15680\" fill=\"#ffffff\"></path>\r\n                        <path\r\n                            d=\"M621.2 656.7c-24.9 0-45 20.1-45 45V916c0 24.9 20.1 45 45 45s45-20.1 45-45V701.7c0-24.9-20.2-45-45-45zM444.6 651.3c-24.9 0-45 20.1-45 45v26.1c0 24.9 20.1 45 45 45s45-20.1 45-45v-26.1c0-24.8-20.1-45-45-45zM444.6 844.9c-24.9 0-45 20.1-45 45V916c0 24.9 20.1 45 45 45s45-20.1 45-45v-26.1c0-24.9-20.1-45-45-45zM426.3 577.2V506c0-42.2-24-48.5-38.3-48.5-11.1 0-19.9 3.8-26.7 8.3l0.7-7.4v-41.6h-43.5v160.3H362v-74.3c5-4.7 8.3-6.7 13.4-6.7 4 0 7.4 0 7.4 14v67.1h43.5zM493.7 457.5c-15.2 0-29.4 5.8-40 16.2-11.4 11.3-17.5 26.8-17.5 44.8 0 18.1 6 33.7 17.5 45 10.6 10.5 24.8 16.2 40 16.2 15.1 0 29.3-5.8 39.8-16.2 11.4-11.3 17.5-26.9 17.5-45 0-18-6-33.5-17.5-44.8-10.6-10.4-24.7-16.2-39.8-16.2z m0 85.2c-8.8 0-13.2-8.1-13.2-24.2 0-15.9 4.5-24 13.2-24 10.8 0 13.1 13 13.1 24-0.1 16.1-4.5 24.2-13.1 24.2zM624.6 533.7c-4.8 6.3-8.2 7.5-12.9 7.5-4 0-7.4 0-7.4-14v-67.1h-43.5v71.2c0 42.2 24.1 48.5 38.5 48.5 11.8 0 21.5-3.8 30.7-12.3l1.6 9.6h36.5v-117h-43.5v73.6zM728.5 512c3.9-9.5 10.6-15.1 17.9-15.1 4.2 0 6.9 0.7 10.7 1.6l5.1 1.2 7.2-37.8-3.7-1.6c-4.3-1.9-8.8-2.7-15-2.7-10.1 0-19.9 4.9-27.7 13.6l-1.4-11H685v117h43.5V512z\"\r\n                            p-id=\"15681\" fill=\"#ffffff\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.precipitation.value}}mm/h\r\n                </div>\r\n            </div>\r\n            <!--\u4F4D\u7F6E-->\r\n            <div class=\"nc-location-info\" *ngIf=\"showLocationMode\">\r\n                <svg style=\"filter: url(#shadow);\" t=\"1727163669784\" class=\"icon nc-location-icon\"\r\n                    viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6989\" width=\"18\"\r\n                    height=\"18\">\r\n                    <defs>\r\n                        <filter id=\"shadow\">\r\n                            <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                        </filter>\r\n                    </defs>\r\n                    <path\r\n                        d=\"M511.990795 0.011251c-213.648058 0-387.460012 167.869473-387.460012 374.207563 0 68.630034 19.623485 136.065435 56.753254 195.029988l0.529812 0.838698 277.497514 388.957395 0.529812 0.692437c5.243907 6.444677 12.361589 15.659103 19.243002 24.571802 9.948798 12.882195 18.540337 24.007216 22.85554 28.670171l10.211658 11.031946 10.064375-11.165933c2.353468-2.610191 7.457252-9.147944 17.035795-21.448164 7.47873-9.609228 16.790323-21.566809 24.970695-31.736533l0.249564-0.310932 277.822766-389.496412 1.123037-1.67535c36.671554-58.335529 56.05468-125.395562 56.05468-193.939681C899.471263 167.888906 725.648058 0.011251 511.990795 0.011251zM511.990795 69.204849c175.504692 0 318.28687 136.836628 318.28687 305.033398 0 55.153591-15.528184 109.180054-44.909203 156.266804-95.59008 133.278299-234.860978 326.705556-273.375621 378.415372-38.45123-51.618786-177.344713-244.48657-272.690344-377.391546-29.820824-47.697362-45.578116-102.083852-45.578116-157.311085C193.723358 206.033295 336.496331 69.204849 511.990795 69.204849z\"\r\n                        p-id=\"6990\" fill=\"#ffffff\"></path>\r\n                    <path\r\n                        d=\"M511.990795 598.539814c116.371377 0 211.047072-94.675695 211.047072-211.05014 0-116.369332-94.674672-211.046049-211.047072-211.046049-116.360126 0-211.026616 94.675695-211.026616 211.046049C300.964179 503.864119 395.630668 598.539814 511.990795 598.539814zM511.990795 245.638246c78.218806 0 141.853474 63.634668 141.853474 141.851428 0 78.221874-63.635691 141.858588-141.853474 141.858588-78.208578 0-141.83404-63.637736-141.83404-141.858588C370.156754 309.272913 433.782217 245.638246 511.990795 245.638246z\"\r\n                        p-id=\"6991\" fill=\"#ffffff\"></path>\r\n                </svg>\r\n                <div class=\"nc-location\">{{weatherData.location.city + weatherData.location.country}}</div>\r\n            </div>\r\n            <!--\u65E5\u51FA\u65E5\u843D-->\r\n            <div class=\"nc-sun\">\r\n                <div class=\"nc-sunrise\">\r\n                    <svg t=\"1715671192899\" class=\"icon\" viewBox=\"0 0 1330 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1431\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M248.598885 582.029238H82.917861a27.690853 27.690853 0 1 0 0 55.227008h165.681024a27.690853 27.690853 0 0 0 0-55.227008zM1242.839726 582.029238H1077.158702a27.690853 27.690853 0 1 0 0 55.227008h165.681024a27.690853 27.690853 0 1 0 0-55.227008z\"\r\n                            fill=\"#F6BB42\" p-id=\"1432\"></path>\r\n                        <path\r\n                            d=\"M1053.489985 179.970432l-117.260706 117.260706A27.536155 27.536155 0 0 0 974.594259 336.214909l117.879496-117.570101a27.690853 27.690853 0 0 0-38.98377-38.674376z\"\r\n                            fill=\"#FFCE54\" p-id=\"1433\"></path>\r\n                        <path\r\n                            d=\"M635.187941 29.759158V195.440182a27.690853 27.690853 0 0 0 55.227008 0V29.759158a27.690853 27.690853 0 1 0-55.227008 0z\"\r\n                            fill=\"#F6BB42\" p-id=\"1434\"></path>\r\n                        <path\r\n                            d=\"M233.283832 218.644808l117.106009 117.106008a27.536155 27.536155 0 0 0 38.98377-38.98377L272.267603 179.970432a27.690853 27.690853 0 0 0-38.983771 38.674376zM379.163576 720.174107a301.196035 301.196035 0 0 1-20.729465-110.454016 304.444683 304.444683 0 1 1 608.734668 0 301.041338 301.041338 0 0 1-20.574768 110.454016z\"\r\n                            fill=\"#FFCE54\" p-id=\"1435\"></path>\r\n                        <path\r\n                            d=\"M662.878794 277.739253A331.980838 331.980838 0 0 0 360.909271 747.710262h603.320255a331.980838 331.980838 0 0 0-301.350732-469.971009z m264.068635 414.744001H398.655461a276.75383 276.75383 0 1 1 541.441255-82.763163 270.56593 270.56593 0 0 1-13.149287 82.763163z\"\r\n                            fill=\"#F6BB42\" p-id=\"1436\"></path>\r\n                        <path\r\n                            d=\"M741.001032 869.611894l-58.630353-58.475656a27.072063 27.072063 0 0 0-19.491885-8.198968 27.536155 27.536155 0 0 0-19.491886 8.044271l-58.630353 58.630353a27.690853 27.690853 0 0 0 0 39.138467 27.690853 27.690853 0 0 0 38.983771 0l11.447615-11.447615v99.006401a27.690853 27.690853 0 0 0 27.690853 27.690853 27.690853 27.690853 0 0 0 27.536155-27.690853v-99.006401l11.447615 11.447615a27.84555 27.84555 0 0 0 39.138468 0 27.84555 27.84555 0 0 0 0-39.138467z\"\r\n                            fill=\"#ED5564\" p-id=\"1437\"></path>\r\n                        <path\r\n                            d=\"M1298.066734 692.483254H27.690853a27.690853 27.690853 0 1 0 0 55.227008h1270.375881a27.690853 27.690853 0 1 0 0-55.227008z\"\r\n                            fill=\"#656D78\" p-id=\"1438\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.astro.sunrise}}\r\n                </div>\r\n                <div class=\"nc-sunset\">\r\n                    <svg t=\"1715671226332\" class=\"icon\" viewBox=\"0 0 1330 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1599\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M248.598885 582.029238H82.917861a27.690853 27.690853 0 1 0 0 55.227008h165.681024a27.690853 27.690853 0 0 0 0-55.227008zM1242.839726 582.029238H1077.158702a27.690853 27.690853 0 1 0 0 55.227008h165.681024a27.690853 27.690853 0 0 0 0-55.227008z\"\r\n                            fill=\"#F6BB42\" p-id=\"1600\"></path>\r\n                        <path\r\n                            d=\"M1053.489985 179.970432l-117.260706 117.260706A27.536155 27.536155 0 0 0 974.594259 336.214909l117.879496-117.570101a27.690853 27.690853 0 0 0-38.98377-38.674376z\"\r\n                            fill=\"#FFCE54\" p-id=\"1601\"></path>\r\n                        <path\r\n                            d=\"M635.187941 29.759158V195.440182a27.690853 27.690853 0 0 0 55.227008 0V29.759158a27.690853 27.690853 0 1 0-55.227008 0z\"\r\n                            fill=\"#F6BB42\" p-id=\"1602\"></path>\r\n                        <path\r\n                            d=\"M233.283832 218.644808l117.106009 117.106008a27.536155 27.536155 0 0 0 38.98377-38.98377L272.267603 179.970432a27.690853 27.690853 0 0 0-38.983771 38.674376zM379.163576 720.174107a301.196035 301.196035 0 0 1-20.729465-110.454016 304.444683 304.444683 0 1 1 587.850505 110.454016z\"\r\n                            fill=\"#FFCE54\" p-id=\"1603\"></path>\r\n                        <path\r\n                            d=\"M662.878794 277.739253A331.980838 331.980838 0 0 0 360.909271 747.710262h603.320255a331.980838 331.980838 0 0 0-301.350732-469.971009z m264.068635 414.744001H398.655461a276.75383 276.75383 0 1 1 541.441255-82.763163 270.56593 270.56593 0 0 1-13.149287 82.763163z\"\r\n                            fill=\"#F6BB42\" p-id=\"1604\"></path>\r\n                        <path\r\n                            d=\"M584.756555 957.325377l58.475656 58.475655a27.536155 27.536155 0 0 0 19.491885 8.04427 27.536155 27.536155 0 0 0 19.491885-8.04427l58.630353-58.475655a27.84555 27.84555 0 0 0 0-39.138468 27.84555 27.84555 0 0 0-39.138468 0l-11.447615 11.447615v-99.006401a27.690853 27.690853 0 0 0-27.536155-27.690853 27.690853 27.690853 0 0 0-27.690853 27.690853V930.253314l-11.447615-11.447615a27.690853 27.690853 0 0 0-38.98377 0 27.690853 27.690853 0 0 0 0.154697 38.519678z\"\r\n                            fill=\"#ED5564\" p-id=\"1605\"></path>\r\n                        <path\r\n                            d=\"M1298.066734 692.483254H27.690853a27.690853 27.690853 0 1 0 0 55.227008h1270.375881a27.690853 27.690853 0 1 0 0-55.227008z\"\r\n                            fill=\"#656D78\" p-id=\"1606\"></path>\r\n                    </svg>\r\n                    {{weatherData.realtime.astro.sunset}}\r\n                </div>\r\n            </div>\r\n            <!--\u5237\u65B0-->\r\n            <div class=\"nc-refresh\">\r\n                <div>{{weatherData.serverTime.value}}</div>\r\n                <svg (click)=\"getWeatherData()\" style=\"filter: url(#shadow);\" t=\"1732158960844\"\r\n                    class=\"icon nc-refresh-icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                    xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4261\" width=\"18\" height=\"18\">\r\n                    <defs>\r\n                        <filter id=\"shadow\">\r\n                            <feDropShadow dx=\"1\" dy=\"1\" stdDeviation=\"2\" flood-color=\"rgba(0,0,0,0.5)\" />\r\n                        </filter>\r\n                    </defs>\r\n                    <path\r\n                        d=\"M512 919.552c-224.768 0-407.552-182.784-407.552-407.552 0-8.704 0.512-17.408 1.024-26.112l71.68 4.608c-0.512 7.168-0.512 14.336-0.512 21.504 0 185.344 150.528 335.872 335.872 335.872 86.528 0 168.448-32.768 230.912-92.16l49.152 52.224c-76.288 72.192-175.616 111.616-280.576 111.616zM919.552 512h-71.68c0-11.776-0.512-23.552-2.048-35.328-17.92-171.52-161.28-300.544-334.336-300.544-67.584 0-132.096 19.968-187.904 57.344L284.16 174.08C351.232 128.512 430.08 104.448 512 104.448c209.408 0 384 156.672 405.504 365.056 1.536 13.824 2.048 28.16 2.048 42.496z\"\r\n                        p-id=\"4262\" fill=\"#ffffff\"></path>\r\n                    <path\r\n                        d=\"M140.288 290.816L28.16 491.52c-3.072 5.12 1.024 11.776 6.656 11.776h223.744c6.144 0 9.728-6.144 6.656-11.776L153.6 290.816c-3.072-5.632-10.752-5.632-13.312 0zM870.4 675.84l-112.128-200.704c-3.072-5.12 1.024-11.776 6.656-11.776h223.744c6.144 0 9.728 6.144 6.656 11.776L883.712 675.84c-2.56 5.12-10.24 5.12-13.312 0z\"\r\n                        p-id=\"4263\" fill=\"#ffffff\"></path>\r\n                    <path d=\"M270.336 202.24a35.84 35.84 0 1 0 71.68 0 35.84 35.84 0 1 0-71.68 0Z\" p-id=\"4264\"\r\n                        fill=\"#ffffff\"></path>\r\n                    <path d=\"M728.576 784.896a35.84 35.84 0 1 0 71.68 0 35.84 35.84 0 1 0-71.68 0Z\" p-id=\"4265\"\r\n                        fill=\"#ffffff\"></path>\r\n                </svg>\r\n            </div>\r\n        </div>\r\n        <!--24\u5C0F\u65F6\u9884\u62A5-->\r\n        <div class=\"nc-hourly\" *ngIf=\"showHourlyMode\"\r\n            [ngStyle]=\"{'margin-bottom': showDailyMode || showLifeMode ? '10px' : 0}\">\r\n            <div class=\"nc-hourly-title\">\r\n                <div>24\u5C0F\u65F6\u9884\u62A5</div>\r\n                <div>{{weatherData.forecast_keypoint.value}}</div>\r\n            </div>\r\n            <div class=\"nc-hourly-content\" ncHorizontalScroll ncScrollBar=\"hide\">\r\n                <div class=\"nc-hourly-panel\" *ngFor=\"let l of weatherData.hourly.value;\">\r\n                    <div class=\"nc-time\">{{l.time}}</div>\r\n                    <div class=\"nc-skyicon\">\r\n                        <div class=\"nc-skyicon-svg\" [innerHTML]=\"l.skycon.icon\"></div>\r\n                        <div class=\"nc-skyicon-percent\" *ngIf=\"l.precipitation.probability\">{{l.precipitation.probability}}%</div>\r\n                    </div>\r\n                    <div class=\"nc-temperature\">{{l.temperature.value}}\u00B0</div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <!--5\u5929\u9884\u62A5-->\r\n        <div class=\"nc-daily\" *ngIf=\"showDailyMode\" [ngStyle]=\"{'margin-bottom': showLifeMode ? '10px' : 0}\">\r\n            <div class=\"nc-daily-title\">5\u65E5\u5929\u6C14\u9884\u62A5</div>\r\n            <div class=\"nc-daily-content\">\r\n                <ng-container *ngFor=\"let l of weatherData.daily.value;\">\r\n                    <div class=\"nc-daily-panel\">\r\n                        <div class=\"nc-date\">{{l.date}}</div>\r\n                        <div class=\"nc-skyicon\">\r\n                            <div class=\"nc-skyicon-svg\" [innerHTML]=\"l.skycon.icon\"></div>\r\n                            <div class=\"nc-skyicon-percent\" *ngIf=\"l.precipitation.probability\">{{l.precipitation.probability}}%</div>\r\n                        </div>\r\n                        <div class=\"nc-skyword\">{{l.skycon.desc}}</div>\r\n                        <div class=\"nc-temperature\">{{l.temperature.min}}\u00B0/{{l.temperature.max}}\u00B0</div>\r\n                        <div class=\"nc-direction\">{{l.wind.avg.directionDescChinese}}</div>\r\n                        <div class=\"nc-speed\">{{l.wind.avg.level}}</div>\r\n                        <div class=\"nc-description\">\r\n                            <div [ngStyle]=\"{'background-color': l.air_quality.aqi.avg.color}\">{{l.air_quality.aqi.avg.value}}{{l.air_quality.aqi.avg.desc}}</div>\r\n                        </div>\r\n                    </div>\r\n                </ng-container>\r\n            </div>\r\n        </div>\r\n        <!--\u751F\u6D3B\u6307\u6570-->\r\n        <div class=\"nc-life\" *ngIf=\"showLifeMode\">\r\n            <div class=\"nc-life-panel\">\r\n                <div class=\"nc-icon\">\r\n                    <svg t=\"1715757285675\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1882\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M604.16 215.04c-10.24 10.24-10.24 25.6 0 35.84 10.24 10.24 25.6 10.24 35.84 0 35.84-35.84 97.28-35.84 133.12 0 5.12 5.12 12.8 7.68 17.92 7.68s12.8-2.56 17.92-7.68c10.24-10.24 10.24-25.6 0-35.84-56.32-56.32-148.48-56.32-204.8 0z\"\r\n                            p-id=\"1883\" fill=\"#ffffff\"></path>\r\n                        <path\r\n                            d=\"M875.52 148.48C829.44 102.4 765.44 76.8 704 76.8c-61.44 0-122.88 23.04-171.52 71.68L145.92 535.04c-94.72 94.72-94.72 248.32 0 340.48C192 921.6 256 947.2 317.44 947.2c61.44 0 122.88-23.04 171.52-71.68l386.56-386.56c94.72-94.72 94.72-248.32 0-340.48z m-422.4 691.2C417.28 875.52 368.64 896 317.44 896s-99.84-20.48-135.68-56.32c-74.24-74.24-74.24-194.56 0-268.8L358.4 394.24l240.64 240.64 28.16 28.16-174.08 176.64z m386.56-386.56L663.04 629.76l-25.6-25.6-5.12-5.12L391.68 358.4l176.64-176.64c35.84-35.84 84.48-56.32 135.68-56.32s99.84 20.48 135.68 56.32c74.24 76.8 74.24 197.12 0 271.36z\"\r\n                            p-id=\"1884\" fill=\"#ffffff\"></path>\r\n                    </svg>\r\n                </div>\r\n                <div class=\"nc-description\">{{weatherData.realtime.life_index.coldRisk}}</div>\r\n                <div class=\"nc-title\">\u611F\u5192</div>\r\n            </div>\r\n            <div class=\"nc-life-panel\">\r\n                <div class=\"nc-icon\">\r\n                    <svg t=\"1715757592791\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3064\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M939.99104 312.38656L774.7584 147.15904a59.45856 59.45856 0 0 0-46.78656-17.26976 57.3184 57.3184 0 0 0-4.80256-0.21504H635.136l-6.1696 3.43552c-32.60928 18.14016-74.22464 28.12928-117.1712 28.12928-42.94656 0-84.5568-9.98912-117.16608-28.12928l-6.17472-3.43552H300.42112a59.98592 59.98592 0 0 0-53.05344 31.68768l-163.32288 163.328C72.77056 335.96928 66.56 350.95552 66.56 366.8992s6.21056 30.93504 17.4848 42.20928l119.33184 119.33184a59.19232 59.19232 0 0 0 36.7872 17.21856v288.39936c0 33.2288 27.0336 60.26752 60.2624 60.26752h422.74304c33.2288 0 60.26752-27.03872 60.26752-60.26752V533.4016a59.20256 59.20256 0 0 0 37.21728-17.26976l119.3472-119.33184c23.25504-23.2704 23.25504-61.14304-0.01024-84.41344z m-38.52288 45.89568L782.1312 477.6192a5.05344 5.05344 0 0 1-3.65056 1.5104c-0.9472 0-2.34496-0.24576-3.59424-1.42336l-45.93664-43.36128v399.7184c0 3.2-2.59584 5.79072-5.79072 5.79072H300.42112a5.7856 5.7856 0 0 1-5.7856-5.79072V448.5632l-45.57824 41.50272c-1.23392 1.1264-2.60096 1.36192-3.52256 1.36192a5.06368 5.06368 0 0 1-3.64032-1.50528L122.56256 370.5856c-1.26464-1.25952-1.52576-2.69824-1.52576-3.6864s0.26624-2.42688 1.52576-3.69152L287.4368 198.33344l5.26848-4.72576 2.3552-5.83168a5.79584 5.79584 0 0 1 5.36576-3.63008h74.12224c39.86432 20.67456 87.1424 31.55968 137.24672 31.55968 50.10944 0 97.38752-10.88512 137.25696-31.55968h74.08128c0.29696 0.01024 0.5888 0.05632 0.8704 0.09728l3.89632 0.55808 3.88608-0.5632c1.23904-0.17408 2.88256-0.13824 4.4544 1.4336l165.23264 165.22752a5.2224 5.2224 0 0 1-0.00512 7.38304z\"\r\n                            fill=\"#ffffff\" p-id=\"3065\"></path>\r\n                    </svg>\r\n                </div>\r\n                <div class=\"nc-description\">{{weatherData.realtime.life_index.dressing}}</div>\r\n                <div class=\"nc-title\">\u7A7F\u8863</div>\r\n            </div>\r\n            <div class=\"nc-life-panel\">\r\n                <div class=\"nc-icon\">\r\n                    <svg t=\"1715757933342\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8282\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M996.4 159.9c-23.4-17.2-56.5-16.2-98.5 3.2-82.5 38-168.6 44.1-259.8 50.6-74.7 5.3-152 10.8-235.1 33.5-166.1 45.1-270.2 193.1-318 452.5C54.2 740 27 783.1 3.6 828.6c-5.2 10.2-4.8 22.2 1.2 32 6 9.9 16.5 15.7 28.1 15.7h20.4c11.4 0 21.8-5.7 27.9-15.4 93-148 206.2-144.8 337.3-141.2 83.9 2.3 170.6 4.7 260.4-30.4 102.6-40.1 184.8-103.4 244.6-188 27-38.3 49.3-81 66.2-126.9 15.9-43.1 27.1-89.2 33.5-137.2 0.8-5.4 6.1-53.1-26.8-77.3z m-25.5 70.4c-15 113.5-75.4 317.6-311.1 409.9-79.8 31.2-161.1 29-239.7 26.8-70.2-1.9-136.5-3.8-201.3 16.3-32.9 10.2-62.2 25.1-89.4 45.4 48.4-62.8 106.3-118.7 173-167.2 92.4-67 207.9-110.2 363.3-136.1 14.4-2.4 24.1-16 21.7-30.4-2.2-12.9-13.3-22.1-26-22.1-1.4 0-2.9 0.1-4.4 0.4-79.4 13.2-148.2 30.8-210.3 53.6-66.6 24.5-123.9 54.5-175.3 91.8-41 29.7-78.8 62.1-113.4 97C207.2 436.1 292.4 331.9 416.8 298c78.2-21.3 152.8-26.6 225-31.8C738 259.5 828.8 253 920 211c25.8-11.9 40.4-12.1 45-8.6 5.5 3.9 7.1 18.9 5.9 27.9z\"\r\n                            fill=\"#ffffff\" p-id=\"8283\"></path>\r\n                    </svg>\r\n                </div>\r\n                <div class=\"nc-description\">{{weatherData.realtime.life_index.comfort}}</div>\r\n                <div class=\"nc-title\">\u8212\u9002\u5EA6</div>\r\n            </div>\r\n            <div class=\"nc-life-panel\">\r\n                <div class=\"nc-icon\">\r\n                    <svg t=\"1715757624305\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"4164\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M186.907091 793.533872l-42.663111 42.663112a30.16282 30.16282 0 0 0 42.663111 42.663111l42.663111-42.663111a30.16282 30.16282 0 0 0-42.663111-42.663112zM835.983668 229.527539l42.663111-42.663111a30.16282 30.16282 0 0 0-42.663111-42.663111l-42.663111 42.663111a30.16282 30.16282 0 0 0 42.663111 42.663111z m-733.805516 248.555287h-68.260978a33.87451 33.87451 0 1 0 0 67.749021h68.260978A33.831847 33.831847 0 0 0 136.052662 511.957337a33.191901 33.191901 0 0 0-33.87451-33.874511z m409.565869-341.304891a34.130489 34.130489 0 0 0 33.917174-34.386468V34.130489a34.130489 34.130489 0 0 0-68.260978 0v68.260978a34.770436 34.770436 0 0 0 34.599783 34.13049zM188.95492 229.527539a30.16282 30.16282 0 0 0 42.663112-42.663111l-42.663112-42.663111a30.16282 30.16282 0 0 0-42.663111 42.663111zM512 887.392717a34.130489 34.130489 0 0 0-33.87451 34.429131v68.260978a33.87451 33.87451 0 0 0 67.791684 0v-68.260978A34.130489 34.130489 0 0 0 512 887.392717z m477.826848-409.309891h-68.260978a33.87451 33.87451 0 1 0 0 67.749021h68.260978a33.87451 33.87451 0 1 0 0-67.749021z m-153.032581 314.256479a30.16282 30.16282 0 0 0-42.663111 42.663111l42.663111 42.663112a30.16282 30.16282 0 0 0 42.663112-42.663112zM512 204.782935a307.174402 307.174402 0 1 0 307.174402 307.174402A307.174402 307.174402 0 0 0 512 204.782935z m-15.401383 356.364969a76.025665 76.025665 0 1 1-152.008666 0v-146.334472a16.425298 16.425298 0 0 1 32.850596 0v146.334472a43.132406 43.132406 0 0 0 86.264811 0v-146.334472a16.425298 16.425298 0 0 1 32.850596 0v146.334472z m180.72094-146.846429l-62.629448 207.982668a16.04133 16.04133 0 0 1-31.314724-1.535872c-0.511957 0.511957-63.141405-206.446796-63.141404-206.446796a16.254645 16.254645 0 0 1 31.314723-8.532622l42.108491 136.521956a5.2049 5.2049 0 0 0 6.655446 3.583701 6.228814 6.228814 0 0 0 3.583701-3.583701l42.108491-136.521956a16.254645 16.254645 0 0 1 31.272061 8.617948z\"\r\n                            p-id=\"4165\" fill=\"#ffffff\"></path>\r\n                    </svg>\r\n                </div>\r\n                <div class=\"nc-description\">{{weatherData.realtime.life_index.ultraviolet}}</div>\r\n                <div class=\"nc-title\">\u7D2B\u5916\u7EBF</div>\r\n            </div>\r\n            <div class=\"nc-life-panel\">\r\n                <div class=\"nc-icon\">\r\n                    <svg t=\"1715757645311\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\"\r\n                        xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5367\" width=\"32\" height=\"32\">\r\n                        <path\r\n                            d=\"M668.053333 310.037333c41.706667 0 79.786667 23.637333 97.706667 60.842667l66.133333 137.408c5.717333 11.946667 16.746667 20.8 30.08 24.064l15.850667 3.861333c43.989333 10.752 75.072 49.664 75.072 94.506667v186.197333c0 31.274667-25.642667 56.32-56.896 56.32h-89.088c0.597333 2.752 0.917333 5.610667 0.917333 8.533334v11.392a39.829333 39.829333 0 0 1-79.658666 0v-11.392c0-2.922667 0.32-5.781333 0.917333-8.533334H294.912c0.597333 2.752 0.917333 5.610667 0.917333 8.533334v11.392a39.829333 39.829333 0 0 1-79.658666 0v-11.392c0-2.922667 0.32-5.781333 0.917333-8.533334H128.064c-31.232 0-56.832-25.045333-56.874667-56.32l-0.085333-198.677333c0-37.504 25.941333-70.016 62.656-78.997333l28.245333-6.890667a45.141333 45.141333 0 0 0 30.101334-24.064l66.133333-137.386667c17.92-37.226667 55.978667-60.864 97.706667-60.864z m0 62.592h-312.106666a45.653333 45.653333 0 0 0-41.322667 25.386667l-66.133333 137.408a107.733333 107.733333 0 0 1-71.616 57.706667l-28.266667 6.912c-8.896 2.176-14.933333 9.728-14.933333 18.176L133.76 810.666667h756.544v-179.925334c0-15.125333-10.197333-28.565333-25.258667-33.152l-2.069333-0.576-15.850667-3.882666a107.733333 107.733333 0 0 1-71.637333-57.706667l-66.133333-137.386667a45.653333 45.653333 0 0 0-41.301334-25.408zM307.2 637.162667a45.504 45.504 0 1 1 0 91.008 45.504 45.504 0 0 1 0-91.008z m409.6 0a45.504 45.504 0 1 1 0 91.008 45.504 45.504 0 0 1 0-91.008z m166.698667-360.128c11.776 11.754667 12.202667 30.570667 1.301333 42.858666l-1.28 1.386667-48.298667 48.277333a31.296 31.296 0 0 1-45.546666-42.88l1.301333-1.365333 48.277333-48.277333a31.296 31.296 0 0 1 44.245334 0zM586.410667 180.032c11.776 11.776 12.202667 30.570667 1.322666 42.88l-1.322666 1.365333-48.256 48.277334a31.296 31.296 0 0 1-45.568-42.88l1.301333-1.365334 48.277333-48.277333a31.296 31.296 0 0 1 44.245334 0z m220.906666-61.610667c11.754667 11.776 12.202667 30.592 1.28 42.88l-1.28 1.386667-80.469333 80.426667a31.296 31.296 0 0 1-45.546667-42.837334l1.301334-1.386666 80.448-80.469334a31.296 31.296 0 0 1 44.266666 0z\"\r\n                            fill=\"#ffffff\" p-id=\"5368\"></path>\r\n                    </svg>\r\n                </div>\r\n                <div class=\"nc-description\">{{weatherData.realtime.life_index.carWashing}}</div>\r\n                <div class=\"nc-title\">\u6D17\u8F66</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"nc-space\" *ngIf=\"ncPosition == 'rightTop' || ncPosition == 'leftTop'\"></div>\r\n</ng-template>\r\n\r\n<div class=\"nc-weather\" *ngIf=\"weatherData.hasOwnProperty('realtime')\" (mouseenter)=\"detailShow = true\"\r\n    (mouseleave)=\"detailShow = false\">\r\n    <div class=\"nc-bar\">\r\n        <div class=\"nc-temperature\">{{weatherData.realtime.temperature.value}}\u00B0</div>\r\n        <div class=\"nc-icon\" [innerHTML]=\"weatherData.realtime.skycon.icon\"></div>\r\n    </div>\r\n    <!--\u6DE1\u5165\u6DE1\u51FA-->\r\n    <ng-container *ngIf=\"ncAnimation == 'fade'\">\r\n        <div class=\"nc-details\" *ngIf=\"detailShow\" [ngClass]=\"ncPosition\" [@fadeInOut]>\r\n            <div [ngTemplateOutlet]=\"detailsTemplate\"></div>\r\n        </div>\r\n    </ng-container>\r\n    <!--\u6ED1\u5165\u6ED1\u51FA-->\r\n    <ng-container *ngIf=\"ncAnimation == 'slide'\">\r\n        <div class=\"nc-details\" *ngIf=\"detailShow\" [ngClass]=\"ncPosition\" [@slideInOut]>\r\n            <div [ngTemplateOutlet]=\"detailsTemplate\"></div>\r\n        </div>\r\n    </ng-container>\r\n    <!--\u65E0\u52A8\u753B-->\r\n    <ng-container *ngIf=\"ncAnimation == 'default'\">\r\n        <div class=\"nc-details\" *ngIf=\"detailShow\" [ngClass]=\"ncPosition\">\r\n            <div [ngTemplateOutlet]=\"detailsTemplate\"></div>\r\n        </div>\r\n    </ng-container>\r\n</div>", styles: [".nc-weather{position:relative;width:-moz-fit-content;width:fit-content}.nc-weather .nc-bar{display:flex;align-items:center;border-radius:18px;color:#fff;padding:3px 15px;background:rgba(0,0,0,.3);cursor:pointer}.nc-weather .nc-bar .nc-temperature{font-weight:bold;font-size:18px}.nc-weather .nc-bar .nc-icon{display:flex;align-items:center;width:28px;height:28px}.nc-weather .rightBottom{left:0;top:34px}.nc-weather .leftBottom{right:0;top:34px}.nc-weather .rightTop{left:0;bottom:34px}.nc-weather .leftTop{right:0;bottom:34px}.nc-weather .nc-details{position:absolute;width:620px;z-index:1001}.nc-weather .nc-details .nc-space{height:15px;background-color:#0000}.nc-weather .nc-details .nc-content{color:#fff;padding:10px;position:relative;border-radius:8px}.nc-weather .nc-details .nc-content .nc-weather-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;border-radius:8px}.nc-weather .nc-details .nc-content .nc-realtime{padding:10px 10px 20px}.nc-weather .nc-details .nc-content .nc-realtime .nc-AQI{width:-moz-fit-content;width:fit-content;font-size:16px;padding:5px 20px 5px 5px;border-radius:20px;background-color:#0000004d;display:flex;align-items:center}.nc-weather .nc-details .nc-content .nc-realtime .nc-AQI .nc-aqi-img{padding:7px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:5px}.nc-weather .nc-details .nc-content .nc-realtime .nc-AQI .nc-aqi-img img{width:16px;height:16px}.nc-weather .nc-details .nc-content .nc-realtime .nc-temperature{display:flex;align-items:flex-end;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.nc-weather .nc-details .nc-content .nc-realtime .nc-temperature .nc-num{font-size:80px;line-height:1}.nc-weather .nc-details .nc-content .nc-realtime .nc-temperature .nc-icon{display:flex;align-items:center;width:45px;height:45px;position:relative;bottom:-5px}.nc-weather .nc-details .nc-content .nc-realtime .nc-temperature .nc-word{font-weight:bold;font-size:18px;margin-left:5px}.nc-weather .nc-details .nc-content .nc-realtime .nc-other{display:flex;align-items:center;margin-top:10px;font-size:16px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.nc-weather .nc-details .nc-content .nc-realtime .nc-other .nc-other-panel{display:flex;align-items:center;margin-right:10px;cursor:help}.nc-weather .nc-details .nc-content .nc-realtime .nc-other .nc-other-panel .nc-other-icon{margin-right:5px}.nc-weather .nc-details .nc-content .nc-realtime .nc-location-info{position:absolute;right:10px;top:5px;display:flex;align-items:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.nc-weather .nc-details .nc-content .nc-realtime .nc-location-info .nc-location-icon{margin:0 3px 4px 0}.nc-weather .nc-details .nc-content .nc-realtime .nc-location-info .nc-location{font-size:15px}.nc-weather .nc-details .nc-content .nc-realtime .nc-sun{position:absolute;right:20px;top:115px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.nc-weather .nc-details .nc-content .nc-realtime .nc-sun .nc-sunrise,.nc-weather .nc-details .nc-content .nc-realtime .nc-sun .nc-sunset{display:flex;align-items:center;font-weight:bold}.nc-weather .nc-details .nc-content .nc-realtime .nc-sun .nc-sunrise svg,.nc-weather .nc-details .nc-content .nc-realtime .nc-sun .nc-sunset svg{margin-right:10px}.nc-weather .nc-details .nc-content .nc-realtime .nc-refresh{position:absolute;left:130px;top:30px;display:flex;align-items:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.nc-weather .nc-details .nc-content .nc-realtime .nc-refresh .nc-refresh-icon{margin-left:5px;cursor:pointer}.nc-weather .nc-details .nc-content .nc-hourly{background-color:#6f8e9ee6;margin-bottom:10px;border-radius:15px}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-title{padding:10px 15px;display:flex;align-items:center;justify-content:space-between}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content{display:flex;align-items:center;padding:0 5px 10px}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content .nc-hourly-panel{display:flex;flex-direction:column;align-items:center;width:150px;margin:0 10px}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content .nc-hourly-panel .nc-time{word-break:keep-all}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content .nc-hourly-panel .nc-skyicon{position:relative}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content .nc-hourly-panel .nc-skyicon .nc-skyicon-svg{display:flex;align-items:center;justify-content:center;width:25px;height:25px}.nc-weather .nc-details .nc-content .nc-hourly .nc-hourly-content .nc-hourly-panel .nc-skyicon .nc-skyicon-percent{position:absolute;bottom:12px;left:22px;font-size:9px;color:#46d5f0}.nc-weather .nc-details .nc-content .nc-daily{background-color:#6f8e9ee6;margin-bottom:10px;border-radius:15px}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-title{padding:10px 15px 0}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content{display:flex;flex-direction:column;padding:0 15px}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.3)}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel:last-child{border:none}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-date{width:15%}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-skyicon{margin-right:10px;position:relative}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-skyicon .nc-skyicon-svg{display:flex;align-items:center;justify-content:center;width:25px;height:25px}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-skyicon .nc-skyicon-percent{position:absolute;bottom:16px;left:18px;font-size:9px;color:#46d5f0}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-skyword{width:15%}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-temperature{width:20%}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-direction{width:20%}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-speed{width:10%}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-description{width:calc(20% - 35px);display:flex;justify-content:flex-end}.nc-weather .nc-details .nc-content .nc-daily .nc-daily-content .nc-daily-panel .nc-description div{padding:0 10px;border-radius:10px}.nc-weather .nc-details .nc-content .nc-life{display:flex;align-items:center;justify-content:space-between;background-color:#6f8e9ee6;border-radius:15px}.nc-weather .nc-details .nc-content .nc-life .nc-life-panel{display:flex;flex-direction:column;align-items:center;width:20%;padding:10px;border-right:1px solid rgba(255,255,255,.3)}.nc-weather .nc-details .nc-content .nc-life .nc-life-panel:last-child{border:none}.nc-weather .nc-details .nc-content .nc-life .nc-life-panel .nc-title{font-size:13px;color:#d3d3d3}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: HorizontalScrollDirective, selector: "[ncHorizontalScroll]", inputs: ["ncScrollBar"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [fadeInOut, slideInOut] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: WeatherComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'nc-weather',
                    templateUrl: './weather.component.html',
                    styleUrls: ['./weather.component.less'],
                    animations: [fadeInOut, slideInOut]
                }]
        }], ctorParameters: function () { return [{ type: LocalService }]; }, propDecorators: { ncToken: [{
                type: Input
            }], ncLng: [{
                type: Input
            }], ncLat: [{
                type: Input
            }], ncInterval: [{
                type: Input
            }], ncPosition: [{
                type: Input
            }], ncAnimation: [{
                type: Input
            }], ncShowLocation: [{
                type: Input
            }], ncShowHourly: [{
                type: Input
            }], ncShowDaily: [{
                type: Input
            }], ncShowLife: [{
                type: Input
            }] } });

class NcWeatherModule {
}
NcWeatherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
NcWeatherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherModule, declarations: [WeatherComponent,
        HorizontalScrollDirective], imports: [CommonModule], exports: [WeatherComponent] });
NcWeatherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherModule, imports: [[
            CommonModule
        ]] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NcWeatherModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        WeatherComponent,
                        HorizontalScrollDirective
                    ],
                    imports: [
                        CommonModule
                    ],
                    exports: [
                        WeatherComponent
                    ]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { NcWeatherModule, WeatherComponent };
//# sourceMappingURL=ng-cw-v12-weather.js.map