diff --git a/web/src/routes/index.tsx b/web/src/routes/index.tsx index 21eaeab8..09479f59 100644 --- a/web/src/routes/index.tsx +++ b/web/src/routes/index.tsx @@ -1,23 +1,39 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:33:11 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:33:11 + */ +/** + * Route Configuration + * + * Manages application routing with: + * - Dynamic route generation from JSON configuration + * - Lazy loading of components for code splitting + * - Nested route support + * - Component mapping validation + * - Hash-based routing + * + * @module routes + */ + import { lazy, type LazyExoticComponent, type ComponentType, type ReactNode } from 'react'; import { createHashRouter, createRoutesFromElements, Route } from 'react-router-dom'; -// 导入路由配置JSON +/** Import route configuration JSON */ import routesConfig from './routes.json'; -import Ontology from '@/views/Ontology'; -// 递归函数,用于生成路由元素 - -// 递归收集所有路由中的element +/** Recursively collect all element names from routes */ function collectElements(routes: RouteConfig[]): Set { const elements = new Set(); function traverse(routeList: RouteConfig[]) { routeList.forEach(route => { - // 添加当前路由的element + /** Add current route's element */ elements.add(route.element); - // 递归处理子路由 + /** Recursively process child routes */ if (route.children && route.children.length > 0) { traverse(route.children); } @@ -28,15 +44,15 @@ function collectElements(routes: RouteConfig[]): Set { return elements; } -// 直接定义组件映射表,避免动态路径解析问题 +/** Component mapping table - maps element names to lazy-loaded components */ const componentMap: Record>> = { - // 布局组件 + /** Layout components */ AuthLayout: lazy(() => import('@/components/Layout/AuthLayout')), AuthSpaceLayout: lazy(() => import('@/components/Layout/AuthSpaceLayout')), BasicLayout: lazy(() => import('@/components/Layout/BasicLayout')), LoginLayout: lazy(() => import('@/components/Layout/LoginLayout')), NoAuthLayout: lazy(() => import('@/components/Layout/NoAuthLayout')), - // 视图组件 + /** View components */ Index: lazy(() => import('@/views/Index')), Home: lazy(() => import('@/views/Home')), UserMemory: lazy(() => import('@/views/UserMemory')), @@ -78,7 +94,7 @@ const componentMap: Record>> = NotFound: lazy(() => import('@/views/NotFound')) }; -// 检查并报告缺失的组件 +/** Check and report missing components */ const allElements = collectElements(routesConfig); allElements.forEach(elementName => { if (!componentMap[elementName]) { @@ -86,23 +102,27 @@ allElements.forEach(elementName => { } }); -// 确保NotFound组件总是存在作为兜底 +/** Ensure NotFound component always exists as fallback */ if (!componentMap['NotFound']) { componentMap['NotFound'] = lazy(() => import('@/views/NotFound/index.tsx')); } -// 路由配置类型定义 +/** Route configuration type definition */ interface RouteConfig { + /** Route path */ path?: string; + /** Component element name */ element: string; + /** Component file path (optional) */ componentPath?: string; + /** Child routes */ children?: RouteConfig[]; } -// 递归函数,用于生成路由元素 +/** Recursively generate route elements from configuration */ const generateRoutes = (routes: RouteConfig[]): ReactNode => { return routes.map((route, index) => { - // 获取组件 + /** Get component from mapping */ const componentKey = route.element as keyof typeof componentMap; const Component = componentMap[componentKey]; @@ -111,7 +131,7 @@ const generateRoutes = (routes: RouteConfig[]): ReactNode => { return null; } - // 如果有子路由 + /** If has child routes, create nested route */ if (route.children) { return ( }> @@ -120,7 +140,7 @@ const generateRoutes = (routes: RouteConfig[]): ReactNode => { ); } - // 如果有path属性,则为普通路由 + /** If has path property, create regular route */ if (route.path) { return } />; } @@ -129,7 +149,7 @@ const generateRoutes = (routes: RouteConfig[]): ReactNode => { }); }; -// 创建路由 +/** Create hash router from route configuration */ const router = createHashRouter( createRoutesFromElements( generateRoutes(routesConfig) diff --git a/web/src/store/locale.ts b/web/src/store/locale.ts index 4fbd79ed..ef9d6263 100644 --- a/web/src/store/locale.ts +++ b/web/src/store/locale.ts @@ -1,11 +1,22 @@ /* - * @Description: - * @Version: 0.0.1 - * @Author: yujiangping - * @Date: 2026-01-05 17:22:23 - * @LastEditors: yujiangping - * @LastEditTime: 2026-01-15 21:02:43 + * @Author: ZhaoYing + * @Date: 2026-02-02 16:33:22 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:33:22 */ +/** + * Locale Store + * + * Manages internationalization (i18n) and localization with: + * - Language switching (English/Chinese) + * - Timezone management + * - Ant Design locale configuration + * - Custom Tour component translations + * - Day.js timezone support + * + * @store + */ + import { create } from 'zustand' import enUS from 'antd/locale/en_US'; import zhCN from 'antd/locale/zh_CN'; @@ -14,13 +25,12 @@ import dayjs from 'dayjs' import timezone from 'dayjs/plugin/timezone'; import utc from 'dayjs/plugin/utc'; import i18n from '@/i18n'; -import { timezoneToAntdLocaleMap } from '@/utils/timezones'; -// 扩展dayjs插件 +/** Extend dayjs with timezone plugins */ dayjs.extend(utc); dayjs.extend(timezone); -// 自定义中文 locale,修改 Tour 组件的按钮文字 +/** Custom Chinese locale with modified Tour component button text */ const customZhCN: Locale = { ...zhCN, Tour: { @@ -31,7 +41,7 @@ const customZhCN: Locale = { }, }; -// 自定义英文 locale,修改 Tour 组件的按钮文字 +/** Custom English locale with modified Tour component button text */ const customEnUS: Locale = { ...enUS, Tour: { @@ -43,19 +53,27 @@ const customEnUS: Locale = { }; +/** Internationalization state interface */ interface I18nState { + /** Current language code */ language: string; + /** Ant Design locale object */ locale: Locale; + /** Current timezone */ timeZone: string; + /** Change application language */ changeLanguage: (language: string) => void; + /** Change timezone (triggers page reload) */ changeTimeZone: (timeZone: string) => void; } +/** Initialize from localStorage or use defaults */ const initialTimeZone = localStorage.getItem('timeZone') || 'Asia/Shanghai' const initialLanguage = localStorage.getItem('language') || 'en' const initialLocale = initialLanguage === 'en' ? customEnUS : customZhCN i18n.changeLanguage(initialLanguage) +/** Internationalization store */ export const useI18n = create((set, get) => ({ language: initialLanguage, locale: initialLocale, @@ -68,8 +86,9 @@ export const useI18n = create((set, get) => ({ changeTimeZone: (timeZone: string) => { const { timeZone: lastTimeZone } = get() set({ timeZone }) + /** Reload page if timezone changed */ if (lastTimeZone !== timeZone) { window.location.reload() } }, -})) \ No newline at end of file +})) diff --git a/web/src/store/menu.ts b/web/src/store/menu.ts index 63b9adf9..2aa5df3a 100644 --- a/web/src/store/menu.ts +++ b/web/src/store/menu.ts @@ -1,6 +1,26 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:33:34 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:33:34 + */ +/** + * Menu Store + * + * Manages application menu and breadcrumb navigation with: + * - Menu loading from JSON configuration + * - Sidebar collapse state + * - Breadcrumb generation from menu paths + * - Custom breadcrumb support + * - Separate menu contexts (space/manage) + * + * @store + */ + import { create } from 'zustand' import AllMenus from './menu.json' +/** Menu item interface */ export interface MenuItem { id: number; parent: number; @@ -22,20 +42,32 @@ export interface MenuItem { master?: string | null; disposable?: boolean; appSystem?: string | null; - subs: MenuItem[] | null; + subs?: MenuItem[] | null; onClick?: (e?: React.MouseEvent) => void | boolean; } + +/** Menu state interface */ interface MenuState { + /** Sidebar collapsed state */ collapsed: boolean; + /** Toggle sidebar collapse */ toggleSider: () => void; + /** All menus by context */ allMenus: Record<'space' | 'manage', MenuItem[]>; + /** All breadcrumbs by context */ allBreadcrumbs: Record<'space' | 'manage' | string, MenuItem[]>; + /** Load menus for specific context */ loadMenus: (source: 'space' | 'manage') => void; + /** Update breadcrumbs based on key path */ updateBreadcrumbs: (keyPath: string[], source: 'space' | 'manage') => void; + /** Set custom breadcrumbs */ setCustomBreadcrumbs: (breadcrumbs: MenuItem[], source: string) => void; } +/** Initialize breadcrumbs from localStorage */ const initBreadcrumbs = localStorage.getItem('breadcrumbs') || '[]' + +/** Menu store */ export const useMenu = create((set, get) => ({ collapsed: localStorage.getItem('collapsed') === 'true', allMenus: { @@ -61,7 +93,7 @@ export const useMenu = create((set, get) => ({ console.log('updateBreadcrumbs paths:', paths); if (paths.length === 3) { - // 三级菜单:[subSubPath, subId, menuId] + /** Three-level menu: [subSubPath, subId, menuId] */ const menuId = paths[2]; const subId = paths[1]; const subSubPath = paths[0]; @@ -81,7 +113,7 @@ export const useMenu = create((set, get) => ({ } } } else { - // 原有逻辑处理一级和二级菜单 + /** Original logic for one-level and two-level menus */ const matchedMenu: MenuItem | undefined = menus.find(menu => menu.path === paths[paths.length - 1] || `${menu.id}` === paths[1]); if (matchedMenu) { @@ -107,4 +139,4 @@ export const useMenu = create((set, get) => ({ set({ allBreadcrumbs }) localStorage.setItem('breadcrumbs', JSON.stringify(allBreadcrumbs)) }, -})) \ No newline at end of file +})) diff --git a/web/src/store/user.ts b/web/src/store/user.ts index 75d10812..505cb768 100644 --- a/web/src/store/user.ts +++ b/web/src/store/user.ts @@ -1,3 +1,22 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:33:54 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:33:54 + */ +/** + * User Store + * + * Manages user authentication and profile with: + * - User information storage + * - Login/logout functionality + * - Token management (access & refresh) + * - Workspace storage type + * - Navigation guards for workspace access + * + * @store + */ + import { create } from 'zustand' import { clearAuthData } from '@/utils/auth'; import type { User } from '@/views/UserManagement/types' @@ -5,6 +24,7 @@ import { getUsers, refreshToken, logout } from '@/api/user' import { getWorkspaceStorageType } from '@/api/workspaces'; import { cookieUtils } from '@/utils/request' +/** Login information interface */ export interface LoginInfo { access_token: string; expires_at: string; @@ -12,24 +32,37 @@ export interface LoginInfo { refresh_token: string; token_type: 'bearer' } + +/** User state interface */ export interface UserState { + /** Current user information */ user: User; + /** Login token information */ loginInfo: LoginInfo; + /** Workspace storage type */ storageType: string | null; + /** Update login information */ updateLoginInfo: (values: LoginInfo) => void; + /** Get user information */ getUserInfo: (flag?: boolean) => void; + /** Clear user information */ clearUserInfo: () => void; + /** Logout user */ logout: () => void; + /** Get workspace storage type */ getStorageType: () => void; + /** Check and redirect if workspace not set */ checkJump: () => void; } +/** Pages that don't require workspace */ export const whitePage = [ '/conversation', '/login', '/invite-register' ] +/** User store */ export const useUser = create((set, get) => ({ user: localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user') || '{}') as User : {} as User, loginInfo: {} as LoginInfo, @@ -101,9 +134,10 @@ export const useUser = create((set, get) => ({ const localUser = JSON.parse(localStorage.getItem('user') || '{}') as User; const hash = window.location.hash; + /** Redirect to index if user has no workspace and not on whitelist page */ if (localUser.id && (!localUser.current_workspace_id || localUser.current_workspace_id === '') && !whitePage.find(vo => hash.includes(vo))) { console.log('whitePage', whitePage.find(vo => hash.includes(vo))) window.location.href = '/#/index' } }, -})) \ No newline at end of file +})) diff --git a/web/src/utils/apiKeyReplacer.ts b/web/src/utils/apiKeyReplacer.ts index a2914e46..561f146d 100644 --- a/web/src/utils/apiKeyReplacer.ts +++ b/web/src/utils/apiKeyReplacer.ts @@ -1,13 +1,27 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:34:04 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:34:04 + */ /** - * API密钥替换工具 + * API Key Replacer Utility + * + * Provides functions to mask and detect API keys in text for security purposes. + * Supports multiple API key formats (service, agent, multi-agent, workflow). + * + * @module apiKeyReplacer */ +/** API key pattern definitions for different types */ const API_KEY_PATTERNS = { service: /sk-service-[A-Za-z0-9_-]+/g, agent: /sk-agent-[A-Za-z0-9_-]+/g, multiAgent: /sk-multi_agent-[A-Za-z0-9_-]+/g, workflow: /sk-workflow-[A-Za-z0-9_-]+/g } + +/** API key prefix definitions */ const API_KEY_PREFIX = { service: 'sk-service-', agent: 'sk-agent-', @@ -16,9 +30,9 @@ const API_KEY_PREFIX = { } /** - * 替换文本中的API密钥为*号 - * @param text 原始文本 - * @returns 替换后的文本 + * Replace API keys in text with asterisks + * @param text - Original text + * @returns Text with masked API keys */ export const maskApiKeys = (text: string): string => { if (!text) return text @@ -37,10 +51,10 @@ export const maskApiKeys = (text: string): string => { } /** - * 检测文本中是否包含API密钥 - * @param text 待检测文本 - * @returns 是否包含API密钥 + * Detect if text contains API keys + * @param text - Text to check + * @returns Whether text contains API keys */ export const hasApiKeys = (text: string): boolean => { return Object.values(API_KEY_PATTERNS).some(pattern => pattern.test(text)) -} \ No newline at end of file +} diff --git a/web/src/utils/auth.ts b/web/src/utils/auth.ts index 5ec30028..b7c55188 100644 --- a/web/src/utils/auth.ts +++ b/web/src/utils/auth.ts @@ -1,7 +1,26 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:34:12 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:34:12 + */ +/** + * Authentication Utility + * + * Provides functions to clear authentication data and redirect to login. + * + * @module auth + */ + import { cookieUtils } from './request' + +/** + * Clear all authentication data and cookies + * Removes user info, breadcrumbs, and all cookies + */ export const clearAuthData = () => { console.log("Clearing auth data and redirecting to login"); localStorage.removeItem('user') localStorage.removeItem('breadcrumbs') cookieUtils.clear(); -} \ No newline at end of file +} diff --git a/web/src/utils/common.ts b/web/src/utils/common.ts index 19841f57..360ee1fa 100644 --- a/web/src/utils/common.ts +++ b/web/src/utils/common.ts @@ -1,14 +1,34 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:34:23 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:34:23 + */ +/** + * Common Utility Functions + * + * Provides general-purpose utility functions. + * + * @module common + */ + +/** + * Generate a random string with specified length and character types + * @param length - Length of the string (default: 12) + * @param isHasSpecialChars - Whether to include special characters (default: true) + * @returns Random string + */ export const randomString = (length: number = 12, isHasSpecialChars: boolean = true) => { - // 定义字符集:大写字母、小写字母、数字和特殊字符 + /** Define character sets: uppercase, lowercase, numbers, and special characters */ const uppercaseChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const lowercaseChars = 'abcdefghijklmnopqrstuvwxyz'; const numberChars = '0123456789'; const specialChars = '!@#$%^&*_+-=|;:,.?'; - // 合并所有字符集 + /** Combine all character sets */ let allChars = uppercaseChars + lowercaseChars + numberChars; - // 确保至少包含每种类型的字符 + /** Ensure at least one character of each type */ let str = uppercaseChars[Math.floor(Math.random() * uppercaseChars.length)] + lowercaseChars[Math.floor(Math.random() * lowercaseChars.length)] + @@ -18,11 +38,11 @@ export const randomString = (length: number = 12, isHasSpecialChars: boolean = t str+= specialChars[Math.floor(Math.random() * specialChars.length)]; } - // 填充剩余的字符,使总长度为12 + /** Fill remaining characters to reach desired length */ for (let i = 4; i < length; i++) { str += allChars[Math.floor(Math.random() * allChars.length)]; } - // 打乱密码字符顺序 + /** Shuffle the string characters */ return str.split('').sort(() => Math.random() - 0.5).join(''); - } \ No newline at end of file + } diff --git a/web/src/utils/event.md b/web/src/utils/event.md deleted file mode 100644 index 6c6b24d5..00000000 --- a/web/src/utils/event.md +++ /dev/null @@ -1,198 +0,0 @@ -event: workflow_start -data: {"execution_id": "exec_ee8aa953bc1945fd", "workspace_id": "d17cd62d-a725-4fc0-813b-1093f2dfdee4", "timestamp": "2026-01-12T17:27:44.493693"} - -event: node_start -data: {"node_id": "start_1767619616140_r7icy36oq", "conversation_id": "52ccf281-35a1-4ce1-b691-15d09d81d2ce", "execution_id": "exec_ee8aa953bc1945fd", "timestamp": "2026-01-12T09:27:44.500650+00:00"} - -event: node_end -data: {"node_id": "start_1767619616140_r7icy36oq", "conversation_id": null, "execution_id": null, "timestamp": "2026-01-12T09:27:44.501772+00:00"} - -event: node_start -data: {"node_id": "tool_1767667989240_zimikmfgm", "conversation_id": "52ccf281-35a1-4ce1-b691-15d09d81d2ce", "execution_id": "exec_ee8aa953bc1945fd", "timestamp": "2026-01-12T09:27:44.502310+00:00"} - -event: node_end -data: {"node_id": "tool_1767667989240_zimikmfgm", "conversation_id": null, "execution_id": null, "timestamp": "2026-01-12T09:27:45.011357+00:00"} - -event: node_start -data: {"node_id": "llm_1767620955373_9kda2cnuy", "conversation_id": "52ccf281-35a1-4ce1-b691-15d09d81d2ce", "execution_id": "exec_ee8aa953bc1945fd", "timestamp": "2026-01-12T09:27:45.011953+00:00"} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6839\u636e", "full_content": "\u6839\u636e", "chunk_index": 1, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6700\u65b0\u7684", "full_content": "\u6839\u636e\u6700\u65b0\u7684", "chunk_index": 2, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5929\u6c14", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14", "chunk_index": 3, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u4fe1\u606f\uff0c\u676d\u5dde", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde", "chunk_index": 4, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5", "chunk_index": 5, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5982\u4e0b\uff1a\n\n- **2", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2", "chunk_index": 6, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "026\u5e74", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e74", "chunk_index": 7, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "1\u670812\u65e5", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5", "chunk_index": 8, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff08\u661f\u671f\u4e00\uff09**\uff1a", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a", "chunk_index": 9, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29", "chunk_index": 10, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u57282\u2103\u81f3", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f3", "chunk_index": 11, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "15\u2103\u4e4b\u95f4\uff0c", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c", "chunk_index": 12, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n", "chunk_index": 13, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "- **2026", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026", "chunk_index": 14, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5e741\u670813", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813", "chunk_index": 15, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u65e5\uff08\u661f\u671f\u4e8c\uff09**", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**", "chunk_index": 16, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff1a\u6674\u5929\uff0c\u6c14\u6e29", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29", "chunk_index": 17, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u8303\u56f4\u4e3a5\u2103", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103", "chunk_index": 18, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u81f316\u2103", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103", "chunk_index": 19, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357", "chunk_index": 20, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3", "chunk_index": 21, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u7ea7\u3002\n- **2", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2", "chunk_index": 22, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "026\u5e741\u6708", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u6708", "chunk_index": 23, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "14\u65e5\uff08\u661f\u671f\u4e09", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09", "chunk_index": 24, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff09**\uff1a\u6674", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674", "chunk_index": 25, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5929\uff0c\u6c14\u6e29\u4e0a\u5347", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347", "chunk_index": 26, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u52306\u2103\u81f32", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f32", "chunk_index": 27, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "1\u2103\uff0c\u897f\u5357", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357", "chunk_index": 28, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n", "chunk_index": 29, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6b64\u5916\uff0c\u6709\u62a5\u9053", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053", "chunk_index": 30, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde", "chunk_index": 31, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696", "chunk_index": 32, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff0c\u672a\u6765\u81f3\u5c11\u4e94", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94", "chunk_index": 33, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5929\u5185\u6c14\u6e29\u5c06", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06", "chunk_index": 34, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u7a33\u5b9a\u7ef4\u6301\u572818", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818", "chunk_index": 35, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "~20\u00b0C", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C", "chunk_index": 36, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765", "chunk_index": 37, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7", "chunk_index": 38, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7", "chunk_index": 39, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd", "chunk_index": 40, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e", "chunk_index": 41, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3", "chunk_index": 42, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f", "chunk_index": 43, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5730\u533a\u6700\u4f4e\u6c14\u6e29-", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-", "chunk_index": 44, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "1\uff5e2\u2103\uff0c\u5c71\u533a", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a", "chunk_index": 45, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "-2\uff5e-", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-", "chunk_index": 46, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "5\u2103\uff0c\u90e8\u5206", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206", "chunk_index": 47, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216", "chunk_index": 48, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192", "chunk_index": 49, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696", "chunk_index": 50, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06", "chunk_index": 51, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10", "chunk_index": 52, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u56de\u6696\uff0c\u4f46\u65e9\u665a", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10\u56de\u6696\uff0c\u4f46\u65e9\u665a", "chunk_index": 53, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u6e29\u5dee\u8f83\u5927\uff0c\u8bf7", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10\u56de\u6696\uff0c\u4f46\u65e9\u665a\u6e29\u5dee\u8f83\u5927\uff0c\u8bf7", "chunk_index": 54, "is_prefix": null, "is_suffix": null} - -event: message -data: {"node_id": "llm_1767620955373_9kda2cnuy", "chunk": "\u9002\u65f6\u8c03\u6574\u7740\u88c5\u3002", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10\u56de\u6696\uff0c\u4f46\u65e9\u665a\u6e29\u5dee\u8f83\u5927\uff0c\u8bf7\u9002\u65f6\u8c03\u6574\u7740\u88c5\u3002", "chunk_index": 55, "is_prefix": null, "is_suffix": null} - -event: node_end -data: {"node_id": "llm_1767620955373_9kda2cnuy", "conversation_id": null, "execution_id": null, "timestamp": "2026-01-12T09:27:52.991637+00:00"} - -event: node_start -data: {"node_id": "end_1767619619942_unxlhspyr", "conversation_id": "52ccf281-35a1-4ce1-b691-15d09d81d2ce", "execution_id": "exec_ee8aa953bc1945fd", "timestamp": "2026-01-12T09:27:52.992194+00:00"} - -event: message -data: {"node_id": "end_1767619619942_unxlhspyr", "chunk": " \n{'search_type': 'web', 'query': '\u676d\u5dde\u5929\u6c14 ', 'total_results': 10, 'page_num': 1, 'page_size': 10, 'results': [{'title': '\u8f70\u8f70\u70c8\u70c8,\u6301\u7eed20\u00b0C!\u676d\u5dde\u5347\u6e29\u65f6\u95f4\u786e\u5b9a', 'url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'snippet': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'display_url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'rank': 1}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'url': 'http://www.rrfrro.cn/hangzhou/60/', 'snippet': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'display_url': 'http://www.rrfrro.cn/hangzhou/60/', 'rank': 2}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'url': 'http://www.ctonw.cn/hangzhou/60/', 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'display_url': 'http://www.ctonw.cn/hangzhou/60/', 'rank': 3}, {'title': '\u3010\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'snippet': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'display_url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'rank': 4}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'url': 'http://www.rfgza.cn/hangzhou/', 'snippet': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'display_url': 'http://www.rfgza.cn/hangzhou/', 'rank': 5}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'url': 'http://www.pzoby.cn/hangzhou/', 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'display_url': 'http://www.pzoby.cn/hangzhou/', 'rank': 6}, {'title': '\u3010\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'snippet': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'display_url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'rank': 7}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a5', 'url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'snippet': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'display_url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'rank': 8}, {'title': '\u676d\u5dde', 'url': 'https://weather.cma.cn/web/weather/58457.html', 'snippet': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'display_url': 'https://weather.cma.cn/web/weather/58457.html', 'rank': 9}, {'title': '\u676d\u5dde\u5e02\u6700\u8fd130\u5929\u5929\u6c14\u67e5\u8be2', 'url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'snippet': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'display_url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'rank': 10}], 'answer': '', 'references': [{'id': 1, 'url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'title': '\u8f70\u8f70\u70c8\u70c8,\u6301\u7eed20\u00b0C!\u676d\u5dde\u5347\u6e29\u65f6\u95f4\u786e\u5b9a', 'date': '2026-01-11 22:02:18', 'content': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'icon': 'https://baijiahao.baidu.com/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': '\u767e\u5bb6\u53f7', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'web_extensions': {'images': [{'url': 'https://pic.rmb.bdstatic.com/bjh/news/2bd0aad3d981df25b071da7bbc5aa7f0.jpeg', 'height': '959', 'width': '640'}, {'url': 'https://pic.rmb.bdstatic.com/bjh/news/ad5520b673892709291b325a26cfcaef.jpeg', 'height': '480', 'width': '640'}, {'url': 'https://pic.rmb.bdstatic.com/bjh/news/7847e90f6b48eb4d0125d2670b045bb3.jpeg', 'height': '960', 'width': '640'}]}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 2, 'url': 'http://www.rrfrro.cn/hangzhou/60/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'date': '2026-01-10 17:40:29', 'content': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 3, 'url': 'http://www.ctonw.cn/hangzhou/60/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'date': '2026-01-09 13:14:07', 'content': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 4, 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'title': '\u3010\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'date': '2026-01-10 00:00:00', 'content': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'icon': 'https://b.bdstatic.com/searchbox/mappconsole/image/20181217/2ab53364-e12b-43fe-bacf-4806ff35d6b8.jpg', 'web_anchor': '', 'type': 'web', 'website': '\u667a\u80fd\u5c0f\u7a0b\u5e8f\u95e8\u6237', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 5, 'url': 'http://www.rfgza.cn/hangzhou/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'date': '2026-01-07 18:28:04', 'content': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 6, 'url': 'http://www.pzoby.cn/hangzhou/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'date': '2026-01-08 14:20:52', 'content': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 7, 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'title': '\u3010\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'date': '2026-01-09 00:00:00', 'content': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'icon': 'https://b.bdstatic.com/searchbox/mappconsole/image/20181217/2ab53364-e12b-43fe-bacf-4806ff35d6b8.jpg', 'web_anchor': '', 'type': 'web', 'website': '\u667a\u80fd\u5c0f\u7a0b\u5e8f\u95e8\u6237', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 8, 'url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a5', 'date': '2026-01-09 16:28:09', 'content': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'icon': 'https://www.ip138.com/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': 'iP138\u67e5\u8be2\u7f51', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 9, 'url': 'https://weather.cma.cn/web/weather/58457.html', 'title': '\u676d\u5dde', 'date': '2026-01-09 12:00:00', 'content': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '\u4e2d\u56fd\u6c14\u8c61\u5c40\u7f51\u7ad9', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 1, 'markdown_text': ''}, {'id': 10, 'url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'title': '\u676d\u5dde\u5e02\u6700\u8fd130\u5929\u5929\u6c14\u67e5\u8be2', 'date': '2026-01-09 20:52:24', 'content': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'icon': 'http://www.ip.cn/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': '\u53a6\u95e8\u65f6\u7a7a\u79d1\u6280\u6709\u9650\u516c\u53f8', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}]} ", "full_content": "\u6839\u636e\u6700\u65b0\u7684\u5929\u6c14\u4fe1\u606f\uff0c\u676d\u5dde\u8fd1\u671f\u7684\u5929\u6c14\u72b6\u51b5\u5982\u4e0b\uff1a\n\n- **2026\u5e741\u670812\u65e5\uff08\u661f\u671f\u4e00\uff09**\uff1a\u591a\u4e91\u8f6c\u6674\uff0c\u6c14\u6e29\u57282\u2103\u81f315\u2103\u4e4b\u95f4\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670813\u65e5\uff08\u661f\u671f\u4e8c\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u8303\u56f4\u4e3a5\u2103\u81f316\u2103\uff0c\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce\uff0c\u98ce\u529b\u5c0f\u4e8e3\u7ea7\u3002\n- **2026\u5e741\u670814\u65e5\uff08\u661f\u671f\u4e09\uff09**\uff1a\u6674\u5929\uff0c\u6c14\u6e29\u4e0a\u5347\u52306\u2103\u81f321\u2103\uff0c\u897f\u5357\u98ce\u5c0f\u4e8e3\u7ea7\u3002\n\n\u6b64\u5916\uff0c\u6709\u62a5\u9053\u6307\u51fa\uff0c\u4e0b\u5468\u676d\u5dde\u5c06\u8fce\u6765\u4e00\u6ce2\u663e\u8457\u56de\u6696\uff0c\u672a\u6765\u81f3\u5c11\u4e94\u5929\u5185\u6c14\u6e29\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73\uff0c\u5e26\u6765\u6301\u7eed\u7684\u6696\u610f\u3002\u4e0d\u8fc7\uff0c\u5728\u6b64\u4e4b\u524d\uff0c\u53d7\u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd\uff0c\u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d\uff0c\u5e73\u539f\u5730\u533a\u6700\u4f4e\u6c14\u6e29-1\uff5e2\u2103\uff0c\u5c71\u533a-2\uff5e-5\u2103\uff0c\u90e8\u5206\u5730\u65b9\u4f1a\u6709\u8584\u51b0\u6216\u51b0\u51bb\u73b0\u8c61\uff0c\u63d0\u9192\u5927\u5bb6\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002\n\n\u603b\u4f53\u6765\u770b\uff0c\u676d\u5dde\u5373\u5c06\u4ece\u5bd2\u51b7\u4e2d\u9010\u6e10\u56de\u6696\uff0c\u4f46\u65e9\u665a\u6e29\u5dee\u8f83\u5927\uff0c\u8bf7\u9002\u65f6\u8c03\u6574\u7740\u88c5\u3002 \n{'search_type': 'web', 'query': '\u676d\u5dde\u5929\u6c14 ', 'total_results': 10, 'page_num': 1, 'page_size': 10, 'results': [{'title': '\u8f70\u8f70\u70c8\u70c8,\u6301\u7eed20\u00b0C!\u676d\u5dde\u5347\u6e29\u65f6\u95f4\u786e\u5b9a', 'url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'snippet': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'display_url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'rank': 1}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'url': 'http://www.rrfrro.cn/hangzhou/60/', 'snippet': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'display_url': 'http://www.rrfrro.cn/hangzhou/60/', 'rank': 2}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'url': 'http://www.ctonw.cn/hangzhou/60/', 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'display_url': 'http://www.ctonw.cn/hangzhou/60/', 'rank': 3}, {'title': '\u3010\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'snippet': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'display_url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'rank': 4}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'url': 'http://www.rfgza.cn/hangzhou/', 'snippet': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'display_url': 'http://www.rfgza.cn/hangzhou/', 'rank': 5}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'url': 'http://www.pzoby.cn/hangzhou/', 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'display_url': 'http://www.pzoby.cn/hangzhou/', 'rank': 6}, {'title': '\u3010\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'snippet': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'display_url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'rank': 7}, {'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a5', 'url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'snippet': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'display_url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'rank': 8}, {'title': '\u676d\u5dde', 'url': 'https://weather.cma.cn/web/weather/58457.html', 'snippet': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'display_url': 'https://weather.cma.cn/web/weather/58457.html', 'rank': 9}, {'title': '\u676d\u5dde\u5e02\u6700\u8fd130\u5929\u5929\u6c14\u67e5\u8be2', 'url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'snippet': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'display_url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'rank': 10}], 'answer': '', 'references': [{'id': 1, 'url': 'https://baijiahao.baidu.com/s?id=1854029343683148825&wfr=spider&for=pc', 'title': '\u8f70\u8f70\u70c8\u70c8,\u6301\u7eed20\u00b0C!\u676d\u5dde\u5347\u6e29\u65f6\u95f4\u786e\u5b9a', 'date': '2026-01-11 22:02:18', 'content': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'icon': 'https://baijiahao.baidu.com/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': '\u767e\u5bb6\u53f7', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u9633\u5149\u6301\u7eed\u5728\u7ebf,\u6628\u5929\u7684\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29\u3002\u676d\u5dde\u4e0b\u5468\u7684\u56de\u6696\u53ef\u8c13\u8f70\u8f70\u70c8\u70c8,\u540e\u7eed\u81f3\u5c115\u5929\u6c14\u6e29\u90fd\u5c06\u7a33\u5b9a\u7ef4\u6301\u572818~20\u00b0C\u7684\u9ad8\u4f4d\u6c34\u5e73,\u6696\u610f\u6301\u7eed\u5728\u7ebf! \u5f31\u51b7\u7a7a\u6c14\u5f71\u54cd \u201c\u81f3\u51b7\u65f6\u523b\u201d\u5728\u660e\u5929\u65e9\u6668\u51fa\u73b0 \u8fd9\u4e2a\u53cc\u4f11\u65e5,\u676d\u5dde\u7684\u4f53\u611f\u771f\u662f\u5927\u4e0d\u76f8\u540c\u3002\u6628\u5929\u5728\u6674\u5929\u548c\u6696\u98ce\u7684\u52a9\u529b\u4e0b,\u6c14\u6e29\u4e00\u8dc3\u51b2\u783417\u00b0C,\u521b\u4e0b\u672c\u6708\u4ee5\u6765\u7684\u6700\u9ad8\u6c14\u6e29,\u6696\u610f\u5341\u8db3\u3002 \u7136\u800c\u5230\u4e86\u4eca\u5929,\u5c3d\u7ba1\u540c\u6837\u662f\u6674\u7a7a\u4e07\u91cc,\u4f46\u53d7\u51b7\u7a7a\u6c14\u5f71\u54cd,\u98ce\u5411\u7531\u504f\u5357\u8f6c\u4e3a\u504f\u5317,\u6c14\u6e29\u6500\u5347\u4e4f\u529b,\u9884\u8ba1\u6700\u9ad8\u6c14\u6e29\u4ec510\u00b0C\u5de6\u53f3,\u8f83\u6628\u5929\u9aa4\u964d7\u00b0C,\u5bd2\u610f\u518d\u5ea6\u56de\u5f52\u3002 \u660e\u5929\u65e9\u6668\u5c06\u662f\u672c\u8f6e\u51b7\u7a7a\u6c14\u5f71\u54cd\u4e0b\u7684\u201c\u81f3\u51b7\u65f6\u523b\u201d,\u6700\u4f4e\u6c14\u6e29\u5e73\u539f\u5730\u533a-1\uff5e2\u2103,\u6709\u8584\u51b0;\u5c71\u533a-2\uff5e-5\u2103,\u6709\u51b0\u51bb\u3002\u6668\u5bd2\u660e\u663e,\u5927\u5bb6\u52a1\u5fc5\u6ce8\u610f\u6dfb\u8863\u4fdd\u6696\u3002', 'web_extensions': {'images': [{'url': 'https://pic.rmb.bdstatic.com/bjh/news/2bd0aad3d981df25b071da7bbc5aa7f0.jpeg', 'height': '959', 'width': '640'}, {'url': 'https://pic.rmb.bdstatic.com/bjh/news/ad5520b673892709291b325a26cfcaef.jpeg', 'height': '480', 'width': '640'}, {'url': 'https://pic.rmb.bdstatic.com/bjh/news/7847e90f6b48eb4d0125d2670b045bb3.jpeg', 'height': '960', 'width': '640'}]}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 2, 'url': 'http://www.rrfrro.cn/hangzhou/60/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'date': '2026-01-10 17:40:29', 'content': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670812\u65e5(\u661f\u671f\u4e00) 15:07\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u591a\u4e91\u8f6c\u6674 2\u2103~15\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u4e2d\u7b49 \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e91\u8f6c\u66742\u2103~15\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66745\u2103~16\u2103\u4e1c\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66746\u2103~21\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66748\u2103~20\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670816\u65e5(\u661f\u671f\u4e94) \u591a\u4e919\u2103~21\u2103\u4e1c\u98ce\u8f6c\u5317\u98ce<3\u7ea7 2026\u5e7401\u670817\u65e5(\u661f\u671f\u516d) \u591a\u4e91\u8f6c\u5c0f\u96e811\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670818\u65e5(\u661f\u671f\u65e5) \u591a\u4e91\u8f6c\u5c0f\u96e89\u2103~19\u2103\u4e1c\u5317\u98ce\u8f6c\u5317\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 3, 'url': 'http://www.ctonw.cn/hangzhou/60/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929', 'date': '2026-01-09 13:14:07', 'content': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4009\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e292\u2103,\u6700\u9ad8\u6c14\u6e2912\u2103,\u897f\u5357\u98ce<3\u7ea7,30845\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a560\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003! \u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670809\u65e5(\u661f\u671f\u4e94) 13:14\u65f6\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103~12\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 -\u676d\u5dde\u5929\u6c14\u9884\u62a530(\u4e00\u4e2a\u6708)\u300140\u300160\u5929\u67e5\u8be2,\u676d\u5dde\u672a\u676560\u5929\u5929\u6c14\u8d8b\u52bf\u9884\u62a5 2026\u5e7401\u670809\u65e5(\u661f\u671f\u4e94) \u66742\u2103~12\u2103\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670810\u65e5(\u661f\u671f\u516d) \u66742\u2103~12\u2103\u5317\u98ce\u8f6c\u897f\u98ce<3\u7ea7 2026\u5e7401\u670811\u65e5(\u661f\u671f\u65e5) \u66740\u2103~9\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670812\u65e5(\u661f\u671f\u4e00) \u591a\u4e912\u2103~12\u2103\u897f\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670813\u65e5(\u661f\u671f\u4e8c) \u66744\u2103~16\u2103\u4e1c\u98ce\u8f6c\u5357\u98ce<3\u7ea7 2026\u5e7401\u670814\u65e5(\u661f\u671f\u4e09) \u66745\u2103~19\u2103\u4e1c\u5357\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 2026\u5e7401\u670815\u65e5(\u661f\u671f\u56db) \u66746\u2103~18\u2103\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7 \u6e29\u99a8\u63d0\u9192:\u676d\u5dde\u5929\u6c1460\u5929\u67e5\u8be2\u7ed3\u679c\u4e2d,8-60\u5929\u9884\u62a5\u5c5e\u4e8e\u5ba2\u89c2\u9884\u62a5\u4ea7\u54c1,\u53cd\u6620\u7684\u662f\u672a\u6765\u5929\u6c14\u53d8\u5316\u8d8b\u52bf,\u5177\u6709\u4e0d\u786e\u5b9a\u6027,\u8bf7\u968f\u65f6\u5173\u6ce8\u6700\u65b0\u51c6\u786e\u9884\u62a5\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 4, 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249369&pinyin=putuo', 'title': '\u3010\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u897f\u6e56\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'date': '2026-01-10 00:00:00', 'content': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'icon': 'https://b.bdstatic.com/searchbox/mappconsole/image/20181217/2ab53364-e12b-43fe-bacf-4806ff35d6b8.jpg', 'web_anchor': '', 'type': 'web', 'website': '\u667a\u80fd\u5c0f\u7a0b\u5e8f\u95e8\u6237', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde\u897f\u6e56 [\u5207\u6362]\u826f 43 2026-01-10 6 \u00b0\u6674\u4f53\u611f3\u00b0\u897f\u98ce2\u7ea7\u6e7f\u5ea674%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u4e0b\u96e8,\u653e\u5fc3\u51fa\u95e8\u5427\u676d\u5dde\u897f\u6e5624\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 6\u00b0c 09\u65f6 9\u00b0c 10\u65f6 11\u00b0c 11\u65f6 12\u00b0c 12\u65f6 12\u00b0c 13\u65f6 12\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 12\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 7\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 4\u00b0c 02\u65f6 3\u00b0c 03\u65f6 2\u00b0c 04\u65f6 1\u00b0c 05\u65f6 1\u00b0c 06\u65f6 -0\u00b0c 07\u65f6 -0\u00b0c\u4eca\u5929 01\u670810\u65e5\u6674 4~13\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 -0~9\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670812\u65e5\u6674\u8f6c\u591a\u4e91 -1~14\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 3~17\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 5~16\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674\u8f6c\u591a\u4e91 5~18\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u9634 4~18\u00b0c\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u9634\u8f6c\u591a\u4e91 5~16\u00b0c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e00 01\u670819\u65e5\u9634 4~14\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u4f18\u4f18\u661f\u671f\u4e8c 01\u670820\u65e5\u9634 4~15\u00b0c\u5317\u98ce ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 5, 'url': 'http://www.rfgza.cn/hangzhou/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'date': '2026-01-07 18:28:04', 'content': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 2\u2103 ~ 10\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 6, 'url': 'http://www.pzoby.cn/hangzhou/', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929', 'date': '2026-01-08 14:20:52', 'content': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4008\u65e5(\u661f\u671f\u56db) 14:20\u65f6\u9884\u8ba1,\u676d\u5dde\u4eca\u65e5\u5929\u6c14\u6674,\u6700\u4f4e\u6c14\u6e291\u2103,\u6700\u9ad8\u6c14\u6e2911\u2103,\u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce<3\u7ea7,96080\u5929\u6c14\u7ad9\u63d0\u9192\u60a8\u5bc6\u5207\u5173\u6ce8\u676d\u5dde\u5929\u6c14\u9884\u62a530\u5929,\u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002\u5929\u6709\u4e0d\u6d4b\u98ce\u4e91,\u67e5\u8be2\u7ed3\u679c\u5076\u6709\u8bef\u5dee,\u4ec5\u4f9b\u53c2\u8003!\u6d59\u6c5f\u676d\u5dde\u5929\u6c14\u9884\u62a5 - \u6d59\u6c5f\u7701\u676d\u5dde\u5e02\u6c14\u8c61\u5c4001\u670808\u65e5(\u661f\u671f\u56db) 14:20\u66f4\u65b0 \u4eca\u65e5\u676d\u5dde\u5929\u6c14\u9884\u62a5\u8be6\u60c5 \u6674 1\u2103 ~ 11\u2103 <3\u7ea7 \u7d2b\u5916\u7ebf\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002 \u8fd0\u52a8\u6307\u6570:\u6781\u4e0d\u6613\u53d1 \u65e0\u9700\u62c5\u5fc3\u8fc7\u654f,\u53ef\u653e\u5fc3\u5916\u51fa,\u4eab\u53d7\u751f\u6d3b\u3002 \u8840\u7cd6\u6307\u6570:\u5f3a \u6d82\u64e6SPF\u5927\u4e8e15\u3001PA+\u9632\u6652\u62a4\u80a4\u54c1\u3002', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 7, 'url': 'http://s5uxsw.smartapps.cn/pages/tianqiyubao/yubaojingdian?id=249379&pinyin=shangchengqu', 'title': '\u3010\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a5\u3011\u676d\u5dde\u676d\u5dde\u5b8b\u57ce\u5929\u6c14\u9884\u62a53\u5929\u3001\u4e00\u5468\u300110\u5929\u300115\u5929\u300130\u5929\u300140\u5929\u666f\u533a\u5929\u6c14\u9884\u62a5\u67e5\u8be2\u2014\u5929\u6c14\u7f51', 'date': '2026-01-09 00:00:00', 'content': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'icon': 'https://b.bdstatic.com/searchbox/mappconsole/image/20181217/2ab53364-e12b-43fe-bacf-4806ff35d6b8.jpg', 'web_anchor': '', 'type': 'web', 'website': '\u667a\u80fd\u5c0f\u7a0b\u5e8f\u95e8\u6237', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde\u5b8b\u57ce [\u5207\u6362]\u826f 55 2026-01-09 -1 \u00b0\u6674\u4f53\u611f-4\u00b0\u897f\u5357\u98ce 2\u7ea7\u6e7f\u5ea671%\u672a\u6765\u4e24\u5c0f\u65f6\u4e0d\u4f1a\u6709\u96ea\u3002\u591c\u6df1\u4e86,\u6ce8\u610f\u4f11\u606f\u54e6\uff5e\u676d\u5dde\u5b8b\u57ce24\u5c0f\u65f6\u9884\u62a5 \u73b0\u5728 -1\u00b0c 04\u65f6 2\u00b0c 05\u65f6 2\u00b0c 06\u65f6 2\u00b0c 07\u65f6 2\u00b0c 08\u65f6 2\u00b0c 09\u65f6 4\u00b0c 10\u65f6 6\u00b0c 11\u65f6 8\u00b0c 12\u65f6 10\u00b0c 13\u65f6 11\u00b0c 14\u65f6 12\u00b0c 15\u65f6 13\u00b0c 16\u65f6 13\u00b0c 17\u65f6 11\u00b0c 18\u65f6 9\u00b0c 19\u65f6 8\u00b0c 20\u65f6 8\u00b0c 21\u65f6 7\u00b0c 22\u65f6 6\u00b0c 23\u65f6 6\u00b0c 00\u65f6 5\u00b0c 01\u65f6 5\u00b0c 02\u65f6 5\u00b0c\u4eca\u5929 01\u670809\u65e5\u6674 -1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670810\u65e5\u6674 3~14\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670811\u65e5\u6674 2~12\u00b0c\u4e1c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e00 01\u670812\u65e5\u591a\u4e91\u8f6c\u6674 4~13\u00b0c\u897f\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e8c 01\u670813\u65e5\u6674 1~10\u00b0c\u897f\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e09 01\u670814\u65e5\u591a\u4e91\u8f6c\u6674 1~13\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u56db 01\u670815\u65e5\u591a\u4e91\u8f6c\u6674 4~16\u00b0c\u897f\u5357\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u4e94 01\u670816\u65e5\u6674 6~13\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u516d 01\u670817\u65e5\u6674 4~12\u00b0c\u5317\u98ce 2\u7ea7\u826f\u826f\u661f\u671f\u65e5 01\u670818\u65e5\u6674 3~12\u00b0c\u5317\u98ce ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 8, 'url': 'https://qq.ip138.com/weather/zhejiang/hangzhou_2zhou.htm', 'title': '\u676d\u5dde\u5929\u6c14\u9884\u62a5', 'date': '2026-01-09 16:28:09', 'content': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'icon': 'https://www.ip138.com/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': 'iP138\u67e5\u8be2\u7f51', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '2026-01-09 \u6674 2\u2103\uff5e 12\u2103 2026-01-10 \u6674 2026-01-11 \u6674 0\u2103\uff5e \u591a\u4e91 \u6674 2026-01-14 \u6674 \u6674 \u4e1c\u5317\u98ce\u8f6c\u897f\u5357\u98ce \u6674\u8f6c\u9634 ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}, {'id': 9, 'url': 'https://weather.cma.cn/web/weather/58457.html', 'title': '\u676d\u5dde', 'date': '2026-01-09 12:00:00', 'content': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'icon': '', 'web_anchor': '', 'type': 'web', 'website': '\u4e2d\u56fd\u6c14\u8c61\u5c40\u7f51\u7ad9', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': '\u676d\u5dde 2026/01/12 15:25\u66f4\u65b0 12.8 \u2103 1012hpa 25% 0mm \u897f\u5357\u98ce\u5fae\u98ce 7\u5929\u5929\u6c14\u9884\u62a5(2026/01/12 12:00\u53d1\u5e03) \u661f\u671f\u4e00 01/12 \u591a\u4e91 \u897f\u5357\u98ce \u5fae\u98ce 15\u2103 2\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e8c 01/13 \u6674 \u4e1c\u98ce \u5fae\u98ce 16\u2103 5\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e09 01/14 \u6674 \u897f\u5357\u98ce \u5fae\u98ce 21\u2103 6\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u56db 01/15 \u6674 \u4e1c\u5317\u98ce \u5fae\u98ce 20\u2103 8\u2103 \u6674 \u897f\u5357\u98ce \u5fae\u98ce \u661f\u671f\u4e94 01/16 \u591a\u4e91 \u4e1c\u98ce \u5fae\u98ce 21\u2103 9\u2103 \u591a\u4e91 \u5317\u98ce \u5fae\u98ce \u661f\u671f\u516d ', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 1, 'markdown_text': ''}, {'id': 10, 'url': 'https://www.ip.cn/tianqi/zhejiang/hangzhou/history.html', 'title': '\u676d\u5dde\u5e02\u6700\u8fd130\u5929\u5929\u6c14\u67e5\u8be2', 'date': '2026-01-09 20:52:24', 'content': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'icon': 'http://www.ip.cn/favicon.ico', 'web_anchor': '', 'type': 'web', 'website': '\u53a6\u95e8\u65f6\u7a7a\u79d1\u6280\u6709\u9650\u516c\u53f8', 'video': None, 'image': None, 'is_aladdin': False, 'aladdin': None, 'snippet': ' \u676d\u5dde\u5929\u6c14:2025-12-13\u81f32026-01-12 \u5929\u6c14 \u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u65e5 12\u670813\u65e5 \u5c0f\u96e8\u8f6c\u6674 2\u2103\uff5e9\u2103 \u65e5\u51fa06:46 \u65e5\u843d17:00 12\u670814\u65e5 \u6674 1\u2103\uff5e10\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:00 12\u670815\u65e5 \u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:47 \u65e5\u843d17:01 12\u670816\u65e5 \u9634\u8f6c\u591a\u4e91 8\u2103\uff5e18\u2103 \u65e5\u51fa06:48 \u65e5\u843d17:01 12\u670817\u65e5 \u591a\u4e91\u8f6c\u6674 5\u2103\uff5e14\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:01 12\u670818\u65e5 \u591a\u4e91\u8f6c\u6674 8\u2103\uff5e15\u2103 \u65e5\u51fa06:49 \u65e5\u843d17:02 12\u670819\u65e5 \u591a\u4e91\u8f6c\u6674 11\u2103\uff5e22\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:02 12\u670820\u65e5 \u591a\u4e91\u8f6c\u5c0f\u96e8 6\u2103\uff5e21\u2103 \u65e5\u51fa06:50 \u65e5\u843d17:03 12\u670821\u65e5 \u9634\u8f6c\u6674 4\u2103\uff5e8\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:03 12\u670822\u65e5 \u9634\u8f6c\u6674 8\u2103\uff5e10\u2103 \u65e5\u51fa06:51 \u65e5\u843d17:04 12\u670823\u65e5 \u9634\u8f6c\u5c0f\u96e8 7\u2103\uff5e16\u2103 \u65e5\u51fa06:52 \u65e5\u843d17:04 12\u670824\u65e5 \u4e2d\u96e8\u8f6c\u5c0f\u96e8', 'web_extensions': {'images': None}, 'rerank_score': 1, 'authority_score': 0.5, 'markdown_text': ''}]} ", "chunk_index": 1, "is_prefix": null, "is_suffix": true} - -event: node_end -data: {"node_id": "end_1767619619942_unxlhspyr", "conversation_id": null, "execution_id": null, "timestamp": "2026-01-12T09:27:53.026022+00:00"} - -event: workflow_end -data: {"execution_id": "exec_ee8aa953bc1945fd", "status": "completed", "elapsed_time": 8.532952, "timestamp": "2026-01-12T17:27:53.026645"} - diff --git a/web/src/utils/format.ts b/web/src/utils/format.ts index e0342327..07983f1a 100644 --- a/web/src/utils/format.ts +++ b/web/src/utils/format.ts @@ -1,32 +1,46 @@ -/** - * 格式化日期时间 - * @param value 时间戳(毫秒)或日期字符串 - * @param format 目标格式,支持 YYYY-MM-DD HH:mm:ss、YYYY/MM/DD HH:mm:ss、HH:mm 等 - * @returns 格式化后的日期时间字符串 +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:34:43 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:34:43 */ +/** + * Format Utility + * + * Provides date/time formatting functions with timezone support. + * + * @module format + */ + import dayjs from 'dayjs'; import timezone from 'dayjs/plugin/timezone'; import utc from 'dayjs/plugin/utc'; -// 扩展dayjs插件 +/** Extend dayjs with timezone plugins */ dayjs.extend(utc); dayjs.extend(timezone); + +/** + * Format date/time with timezone support + * @param value - Timestamp (milliseconds) or date string + * @param format - Target format, supports YYYY-MM-DD HH:mm:ss, YYYY/MM/DD HH:mm:ss, HH:mm, etc. + * @returns Formatted date/time string + */ export const formatDateTime = ( value: string | number | null | undefined, format: string = 'YYYY-MM-DD HH:mm:ss' ): string => { if (!value) return ''; - // 检查日期是否有效 + /** Check if date is valid */ if (!dayjs(value).isValid()) { return ''; } - // 每次调用都获取最新的时区设置 + /** Get current timezone setting from localStorage */ const currentTimeZone = localStorage.getItem('timeZone') || 'Asia/Shanghai'; dayjs.tz.setDefault(currentTimeZone); - // 使用最新时区格式化日期 + /** Format date with current timezone */ return dayjs.tz(value).format(format); }; - diff --git a/web/src/utils/request.ts b/web/src/utils/request.ts index e7112ded..7f85f4ce 100644 --- a/web/src/utils/request.ts +++ b/web/src/utils/request.ts @@ -1,3 +1,22 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:35:15 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:35:15 + */ +/** + * HTTP Request Utility Module + * + * Provides axios-based HTTP client with: + * - Automatic token refresh on 401 errors + * - Request/response interceptors + * - Cookie-based authentication + * - Error handling and user notifications + * - File upload/download support + * + * @module request + */ + import axios from 'axios'; import type { AxiosRequestConfig } from 'axios'; import { clearAuthData } from './auth'; @@ -5,6 +24,9 @@ import { message } from 'antd'; import { refreshTokenUrl, refreshToken, loginUrl, logoutUrl } from '@/api/user' import i18n from '@/i18n' +/** + * Standard API response structure + */ export interface ResponseData { code: number; msg: string; @@ -12,6 +34,10 @@ export interface ResponseData { error: string; time: number; } + +/** + * Paginated data structure + */ interface data { "items": Record[]; "page": { @@ -22,21 +48,22 @@ interface data { } } - export const API_PREFIX = '/api' -// 创建axios实例 + +// Create axios instance const service = axios.create({ - baseURL: API_PREFIX, // 与vite.config.ts中的代理配置对应 - // timeout: 10000, // 请求超时时间 + baseURL: API_PREFIX, // Corresponds to proxy config in vite.config.ts + // timeout: 10000, // Request timeout withCredentials: false, headers: { 'Content-Type': 'application/json' }, }); -// 是否正在刷新token +// Token refresh state let isRefreshing = false; -// 存储待重试的请求队列 + +// Queue for pending requests during token refresh interface RequestQueueItem { config: AxiosRequestConfig; resolve: (token: string) => void; @@ -44,7 +71,7 @@ interface RequestQueueItem { } let requests: RequestQueueItem[] = []; -// 请求拦截器 +// Request interceptor service.interceptors.request.use( (config) => { if (!config.headers.Authorization) { @@ -59,13 +86,16 @@ service.interceptors.request.use( return config; }, (error) => { - // 对请求错误做些什么 - console.error('请求错误:', error); + // Handle request errors + console.error('Request error:', error); return Promise.reject(error); } ); -// 刷新token的函数 +/** + * Refresh authentication token + * @returns New access token + */ const tokenRefresh = async (): Promise => { try { const refresh_token = cookieUtils.get('refreshToken'); @@ -75,16 +105,16 @@ const tokenRefresh = async (): Promise => { if (!refresh_token) { throw new Error(i18n.t('common.refreshTokenNotExist')); } - // 使用原生axios调用refresh接口,避免触发拦截器导致的循环调用 + // Use native axios to call refresh API, avoiding interceptor circular calls const response: any = await refreshToken(); const newToken = response.access_token; cookieUtils.set('authToken', newToken); return newToken; } catch (error) { - // 如果refresh接口也返回401,则退出登录 + // If refresh API also returns 401, logout clearAuthData(); message.warning(i18n.t('common.loginExpired')); - // 这里可以添加重定向到登录页的逻辑 + // Redirect to login page if (!window.location.hash.includes('#/login')) { window.location.href = `/#/login`; } @@ -92,13 +122,13 @@ const tokenRefresh = async (): Promise => { } }; -// 响应拦截器 +// Response interceptor service.interceptors.response.use( (response) => { - // 对响应数据做点什么 + // Process response data const { data: responseData } = response; - // 如果响应数据不是对象,直接返回 + // If response data is not an object, return directly if (!responseData || typeof responseData !== 'object') { return responseData; } @@ -110,7 +140,7 @@ service.interceptors.response.use( case 200: return data !== undefined ? data : responseData; case 401: - // 处理未授权情况 + // Handle unauthorized return handle401Error(response.config); default: if (code === undefined) { @@ -123,18 +153,18 @@ service.interceptors.response.use( } }, (error) => { - // 如果是取消请求,不显示错误提示 + // If request was cancelled, don't show error message if (axios.isCancel(error) || error.name === 'AbortError' || error.code === 'ERR_CANCELED') { return Promise.reject(error); } - // 处理网络错误、超时等 + // Handle network errors, timeouts, etc. let msg = error.response?.data?.error || error.response?.error; const status = error?.response ? error.response.status : error; - // 服务器响应了但状态码不在2xx范围 + // Server responded but status code is not in 2xx range switch (status) { case 401: - // 处理未授权情况 + // Handle unauthorized return handle401Error(error.config); case 403: msg = i18n.t('common.permissionDenied'); @@ -165,9 +195,13 @@ service.interceptors.response.use( } ); -// 处理401错误的函数 +/** + * Handle 401 unauthorized errors with token refresh + * @param config - Original request configuration + * @returns Retried request with new token + */ const handle401Error = async (config: AxiosRequestConfig): Promise => { - // 如果是refresh接口本身返回401,则直接退出登录 + // If refresh API itself returns 401, logout directly if (config.url === refreshTokenUrl) { clearAuthData(); message.warning(i18n.t('common.loginExpired')); @@ -184,39 +218,39 @@ const handle401Error = async (config: AxiosRequestConfig): Promise => { return Promise.reject(new Error(i18n.t('common.publicApiCannotRefreshToken'))); } - // 如果正在刷新token,则将当前请求加入队列 + // If token refresh is in progress, queue the request if (isRefreshing) { return new Promise((resolve, reject) => { requests.push({ config, resolve, reject }); }).then((token) => { - // 使用新token重新发送请求 + // Retry request with new token config.headers = config.headers || {}; config.headers.Authorization = `Bearer ${token}`; return service(config); }); } - // 开始刷新token + // Start token refresh isRefreshing = true; try { const newToken = await tokenRefresh(); - // 更新队列中所有请求的token并重新发送 + // Update token for all queued requests and resolve them requests.forEach(({ config, resolve }) => { config.headers = config.headers || {}; config.headers.Authorization = `Bearer ${newToken}`; resolve(newToken); }); - // 清空队列 + // Clear queue requests = []; - // 使用新token重新发送当前请求 + // Retry current request with new token config.headers = config.headers || {}; config.headers.Authorization = `Bearer ${newToken}`; return service(config); } catch (error) { - // 刷新token失败,清空队列并拒绝所有请求 + // Token refresh failed, clear queue and reject all requests requests.forEach(({ reject }) => { reject(error as Error); }); @@ -232,6 +266,12 @@ interface ObjectWithPush { [key: string]: string | number | boolean | object | null | undefined; } +/** + * Filter and clean request parameters + * - Removes null/undefined values + * - Trims string values + * - Handles objects with _push flag + */ function paramFilter(params: Record = {}) { Object.keys(params).forEach(key => { @@ -255,7 +295,9 @@ function paramFilter(params: Record(url: string, data?: unknown, config?: AxiosRequestConfig): Promise { return service.get(url, { @@ -307,10 +349,13 @@ export const request = { -// 获取父级域名 +/** + * Get parent domain for cookie setting + * @returns Parent domain or IP address + */ const getParentDomain = () => { const hostname = window.location.hostname - // 检查是否为IP地址 + // Check if it's an IP address if (/^\d+\.\d+\.\d+\.\d+$/.test(hostname)) { return hostname } @@ -318,7 +363,9 @@ const getParentDomain = () => { return parts.length > 2 ? `.${parts.slice(-2).join('.')}` : hostname } -// Cookie操作工具 +/** + * Cookie utility functions + */ export const cookieUtils = { set: (name: string, value: string, domain = getParentDomain()) => { document.cookie = `${name}=${value}; domain=${domain}; path=/; secure; samesite=strict` diff --git a/web/src/utils/stream.ts b/web/src/utils/stream.ts index be2220da..ba0e4b98 100644 --- a/web/src/utils/stream.ts +++ b/web/src/utils/stream.ts @@ -1,3 +1,21 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:35:43 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:35:43 + */ +/** + * Server-Sent Events (SSE) Stream Utility Module + * + * Provides SSE handling with: + * - Automatic token refresh on 401 errors + * - SSE message parsing and JSON decoding + * - HTML entity decoding + * - Stream buffering for incomplete messages + * + * @module stream + */ + import { message } from 'antd'; import i18n from '@/i18n' import { cookieUtils } from './request' @@ -9,7 +27,10 @@ const API_PREFIX = '/api' let isRefreshing = false; let refreshPromise: Promise | null = null; -// Refresh token function for SSE +/** + * Refresh authentication token for SSE requests + * @returns New access token + */ const refreshTokenForSSE = async (): Promise => { if (isRefreshing && refreshPromise) { return refreshPromise; @@ -42,10 +63,19 @@ const refreshTokenForSSE = async (): Promise => { return refreshPromise; }; +/** + * SSE message structure + */ export interface SSEMessage { event?: string data?: string | object } + +/** + * Parse SSE string format to JSON objects + * @param sseString - Raw SSE string data + * @returns Array of parsed SSE messages + */ export function parseSSEToJSON(sseString: string) { const events: SSEMessage[] = [] const lines = sseString.trim().split('\n') @@ -77,9 +107,14 @@ export function parseSSEToJSON(sseString: string) { return events } +/** + * Parse SSE data content with HTML entity decoding + * @param dataContent - Raw data content string + * @returns Parsed object or original string + */ function parseDataContent(dataContent: string): string | object { try { - // 第一层解码:HTML实体 + // First layer: HTML entity decoding let unescaped = dataContent .replace(/"/g, '"') .replace(/&/g, '&') @@ -87,15 +122,15 @@ function parseDataContent(dataContent: string): string | object { .replace(/>/g, '>') .replace(/'/g, "'") - // 解析第一层JSON + // Parse first layer JSON const firstParse = JSON.parse(unescaped) - // 如果data字段是字符串且包含JSON,解析data层但保持chunk为字符串 + // If data field is a string containing JSON, parse data layer but keep chunk as string if (firstParse.data && typeof firstParse.data === 'string' && firstParse.data.includes("{")) { try { firstParse.data = JSON.parse(firstParse.data) } catch { - // 保持原字符串 + // Keep original string } } @@ -105,6 +140,14 @@ function parseDataContent(dataContent: string): string | object { } } +/** + * Make SSE request with authentication + * @param url - API endpoint + * @param data - Request payload + * @param token - Authentication token + * @param config - Additional request configuration + * @returns Fetch response + */ const makeSSERequest = async (url: string, data: any, token: string, config = { headers: {} }) => { return fetch(`${API_PREFIX}${url}`, { method: 'POST', @@ -117,6 +160,13 @@ const makeSSERequest = async (url: string, data: any, token: string, config = { }); }; +/** + * Handle SSE stream with automatic token refresh and message parsing + * @param url - API endpoint + * @param data - Request payload + * @param onMessage - Callback for each parsed message + * @param config - Additional request configuration + */ export const handleSSE = async (url: string, data: any, onMessage?: (data: SSEMessage[]) => void, config = { headers: {} }) => { try { let token = cookieUtils.get('authToken'); @@ -153,7 +203,7 @@ export const handleSSE = async (url: string, data: any, onMessage?: (data: SSEMe const reader = response.body.getReader(); const decoder = new TextDecoder(); - let buffer = ''; // 添加缓冲区来处理不完整的消息 + let buffer = ''; // Buffer for handling incomplete messages while (true) { const { done, value } = await reader.read(); @@ -162,9 +212,9 @@ export const handleSSE = async (url: string, data: any, onMessage?: (data: SSEMe const chunk = decoder.decode(value, { stream: true }); buffer += chunk; - // 处理完整的事件 + // Process complete events const events = buffer.split('\n\n'); - buffer = events.pop() || ''; // 保留最后一个可能不完整的事件 + buffer = events.pop() || ''; // Keep last potentially incomplete event for (const event of events) { if (event.trim() && onMessage) { @@ -173,7 +223,7 @@ export const handleSSE = async (url: string, data: any, onMessage?: (data: SSEMe } } - // 处理剩余的缓冲区内容 + // Process remaining buffer content if (buffer.trim() && onMessage) { onMessage(parseSSEToJSON(buffer) ?? {}); } diff --git a/web/src/utils/timezones.ts b/web/src/utils/timezones.ts index 5a096424..bf5ea277 100644 --- a/web/src/utils/timezones.ts +++ b/web/src/utils/timezones.ts @@ -1,3 +1,23 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:37:10 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:37:10 + */ +/** + * Timezone Configuration Module + * + * Provides: + * - Major world timezone list + * - Timezone to Ant Design locale mapping + * - Dayjs locale imports + * + * Note: Timezone display names are in i18n translation files (zh.ts and en.ts) + * Use i18n.t('timezones.timezone_name') to get localized timezone display names + * + * @module timezones + */ + import en_US from 'antd/locale/en_US'; import en_GB from 'antd/locale/en_GB'; import de_DE from 'antd/locale/de_DE'; @@ -12,157 +32,159 @@ import 'dayjs/locale/de' import 'dayjs/locale/en-gb' import 'dayjs/locale/en' -// 全世界主要时区列表 +/** + * Major world timezones list + */ export const timezones = [ - 'America/Los_Angeles', // 美国洛杉矶 - 'America/New_York', // 美国纽约 - 'Europe/London', // 英国伦敦 - 'Europe/Berlin', // 德国柏林 - 'Europe/Moscow', // 俄罗斯莫斯科 - 'Asia/Kolkata', // 印度加尔各答 - 'Asia/Shanghai', // 中国上海 + 'America/Los_Angeles', // Los Angeles, USA + 'America/New_York', // New York, USA + 'Europe/London', // London, UK + 'Europe/Berlin', // Berlin, Germany + 'Europe/Moscow', // Moscow, Russia + 'Asia/Kolkata', // Kolkata, India + 'Asia/Shanghai', // Shanghai, China - // 亚洲 - // 'Asia/Tokyo', // 日本东京 - // 'Asia/Singapore', // 新加坡 - // 'Asia/Hong_Kong', // 中国香港 - // 'Asia/Taipei', // 中国台北 - // 'Asia/Seoul', // 韩国首尔 - // 'Asia/Bangkok', // 泰国曼谷 - // 'Asia/Jakarta', // 印度尼西亚雅加达 - // 'Asia/Manila', // 菲律宾马尼拉 - // 'Asia/Dubai', // 阿联酋迪拜 - // 'Asia/Tashkent', // 乌兹别克斯坦塔什干 - // 'Asia/Riyadh', // 沙特阿拉伯利雅得 - // 'Asia/Baku', // 阿塞拜疆巴库 - // 'Asia/Istanbul', // 土耳其伊斯坦布尔 + // Asia + // 'Asia/Tokyo', // Tokyo, Japan + // 'Asia/Singapore', // Singapore + // 'Asia/Hong_Kong', // Hong Kong, China + // 'Asia/Taipei', // Taipei, Taiwan + // 'Asia/Seoul', // Seoul, South Korea + // 'Asia/Bangkok', // Bangkok, Thailand + // 'Asia/Jakarta', // Jakarta, Indonesia + // 'Asia/Manila', // Manila, Philippines + // 'Asia/Dubai', // Dubai, UAE + // 'Asia/Tashkent', // Tashkent, Uzbekistan + // 'Asia/Riyadh', // Riyadh, Saudi Arabia + // 'Asia/Baku', // Baku, Azerbaijan + // 'Asia/Istanbul', // Istanbul, Turkey - // 欧洲 - // 'Europe/Paris', // 法国巴黎 - // 'Europe/Rome', // 意大利罗马 - // 'Europe/Madrid', // 西班牙马德里 - // 'Europe/Amsterdam', // 荷兰阿姆斯特丹 - // 'Europe/Vienna', // 奥地利维也纳 - // 'Europe/Stockholm', // 瑞典斯德哥尔摩 - // 'Europe/Oslo', // 挪威奥斯陆 - // 'Europe/Copenhagen', // 丹麦哥本哈根 - // 'Europe/Zurich', // 瑞士苏黎世 - // 'Europe/Athens', // 希腊雅典 - // 'Europe/Warsaw', // 波兰华沙 - // 'Europe/Prague', // 捷克布拉格 - // 'Europe/Budapest', // 匈牙利布达佩斯 - // 'Europe/Belgrade', // 塞尔维亚贝尔格莱德 + // Europe + // 'Europe/Paris', // Paris, France + // 'Europe/Rome', // Rome, Italy + // 'Europe/Madrid', // Madrid, Spain + // 'Europe/Amsterdam', // Amsterdam, Netherlands + // 'Europe/Vienna', // Vienna, Austria + // 'Europe/Stockholm', // Stockholm, Sweden + // 'Europe/Oslo', // Oslo, Norway + // 'Europe/Copenhagen', // Copenhagen, Denmark + // 'Europe/Zurich', // Zurich, Switzerland + // 'Europe/Athens', // Athens, Greece + // 'Europe/Warsaw', // Warsaw, Poland + // 'Europe/Prague', // Prague, Czech Republic + // 'Europe/Budapest', // Budapest, Hungary + // 'Europe/Belgrade', // Belgrade, Serbia - // 北美洲 - // 'America/Chicago', // 美国芝加哥 - // 'America/Denver', // 美国丹佛 - // 'America/Toronto', // 加拿大多伦多 - // 'America/Vancouver', // 加拿大温哥华 - // 'America/Mexico_City', // 墨西哥墨西哥城 + // North America + // 'America/Chicago', // Chicago, USA + // 'America/Denver', // Denver, USA + // 'America/Toronto', // Toronto, Canada + // 'America/Vancouver', // Vancouver, Canada + // 'America/Mexico_City', // Mexico City, Mexico - // 南美洲 - // 'America/Sao_Paulo', // 巴西圣保罗 - // 'America/Buenos_Aires', // 阿根廷布宜诺斯艾利斯 - // 'America/Santiago', // 智利圣地亚哥 - // 'America/Lima', // 秘鲁利马 - // 'America/Bogota', // 哥伦比亚波哥大 - // 'America/Caracas', // 委内瑞拉加拉加斯 + // South America + // 'America/Sao_Paulo', // São Paulo, Brazil + // 'America/Buenos_Aires', // Buenos Aires, Argentina + // 'America/Santiago', // Santiago, Chile + // 'America/Lima', // Lima, Peru + // 'America/Bogota', // Bogotá, Colombia + // 'America/Caracas', // Caracas, Venezuela - // // 大洋洲 - // 'Australia/Sydney', // 澳大利亚悉尼 - // 'Australia/Melbourne', // 澳大利亚墨尔本 - // 'Australia/Brisbane', // 澳大利亚布里斯班 - // 'Australia/Perth', // 澳大利亚珀斯 - // 'New_Zealand/Auckland', // 新西兰奥克兰 + // Oceania + // 'Australia/Sydney', // Sydney, Australia + // 'Australia/Melbourne', // Melbourne, Australia + // 'Australia/Brisbane', // Brisbane, Australia + // 'Australia/Perth', // Perth, Australia + // 'New_Zealand/Auckland', // Auckland, New Zealand - // // 非洲 - // 'Africa/Cairo', // 埃及开罗 - // 'Africa/Johannesburg', // 南非约翰内斯堡 - // 'Africa/Lagos', // 尼日利亚拉各斯 - // 'Africa/Casablanca', // 摩洛哥卡萨布兰卡 - // 'Africa/Nairobi', // 肯尼亚内罗毕 - // 'Africa/Addis_Ababa', // 埃塞俄比亚亚的斯亚贝巴 + // Africa + // 'Africa/Cairo', // Cairo, Egypt + // 'Africa/Johannesburg', // Johannesburg, South Africa + // 'Africa/Lagos', // Lagos, Nigeria + // 'Africa/Casablanca', // Casablanca, Morocco + // 'Africa/Nairobi', // Nairobi, Kenya + // 'Africa/Addis_Ababa', // Addis Ababa, Ethiopia - // // 其他 - // 'UTC', // 协调世界时 + // Other + // 'UTC', // Coordinated Universal Time ]; -// 注意:时区显示名称已移至i18n翻译文件中(zh.ts和en.ts) -// 请使用i18n.t('timezones.时区名称')来获取本地化的时区显示名称 - -// 时区与antd本地化文件的映射 -// 键为时区,值为antd本地化文件的名称 +/** + * Timezone to Ant Design locale mapping + * Key: timezone identifier + * Value: Ant Design locale object + */ export const timezoneToAntdLocaleMap: Record = { - // 亚洲 - 'Asia/Shanghai': zh_CN, // 中国上海 - 中文(中国大陆) - 'Asia/Kolkata': hi_IN, // 印度加尔各答 - 印地语 - 'Europe/Moscow': ru_RU, // 俄罗斯莫斯科 - 俄语 - 'Europe/Berlin': de_DE, // 德国柏林 - 德语 - 'Europe/London': en_GB, // 英国伦敦 - 英语(英国) - 'America/New_York': en_US, // 美国纽约 - 英语(美国) - 'America/Los_Angeles': en_US, // 美国洛杉矶 - 英语(美国) + // Asia + 'Asia/Shanghai': zh_CN, // Shanghai, China - Chinese (Mainland) + 'Asia/Kolkata': hi_IN, // Kolkata, India - Hindi + 'Europe/Moscow': ru_RU, // Moscow, Russia - Russian + 'Europe/Berlin': de_DE, // Berlin, Germany - German + 'Europe/London': en_GB, // London, UK - English (UK) + 'America/New_York': en_US, // New York, USA - English (US) + 'America/Los_Angeles': en_US, // Los Angeles, USA - English (US) - // 'Asia/Tokyo': 'ja_JP', // 日本东京 - 日语 - // 'Asia/Singapore': 'en_SG', // 新加坡 - 英语(新加坡) - // 'Asia/Hong_Kong': 'zh_HK', // 中国香港 - 中文(香港) - // 'Asia/Taipei': 'zh_TW', // 中国台北 - 中文(台湾) - // 'Asia/Seoul': 'ko_KR', // 韩国首尔 - 韩语 - // 'Asia/Bangkok': 'th_TH', // 泰国曼谷 - 泰语 - // 'Asia/Jakarta': 'id_ID', // 印度尼西亚雅加达 - 印尼语 - // 'Asia/Manila': 'en_PH', // 菲律宾马尼拉 - 英语(菲律宾) - // 'Asia/Dubai': 'ar_AE', // 阿联酋迪拜 - 阿拉伯语 - // 'Asia/Tashkent': 'uz_UZ', // 乌兹别克斯坦塔什干 - 乌兹别克语 - // 'Asia/Riyadh': 'ar_SA', // 沙特阿拉伯利雅得 - 阿拉伯语 - // 'Asia/Baku': 'az_AZ', // 阿塞拜疆巴库 - 阿塞拜疆语 - // 'Asia/Istanbul': 'tr_TR', // 土耳其伊斯坦布尔 - 土耳其语 + // 'Asia/Tokyo': 'ja_JP', // Tokyo, Japan - Japanese + // 'Asia/Singapore': 'en_SG', // Singapore - English (Singapore) + // 'Asia/Hong_Kong': 'zh_HK', // Hong Kong, China - Chinese (Hong Kong) + // 'Asia/Taipei': 'zh_TW', // Taipei, Taiwan - Chinese (Taiwan) + // 'Asia/Seoul': 'ko_KR', // Seoul, South Korea - Korean + // 'Asia/Bangkok': 'th_TH', // Bangkok, Thailand - Thai + // 'Asia/Jakarta': 'id_ID', // Jakarta, Indonesia - Indonesian + // 'Asia/Manila': 'en_PH', // Manila, Philippines - English (Philippines) + // 'Asia/Dubai': 'ar_AE', // Dubai, UAE - Arabic + // 'Asia/Tashkent': 'uz_UZ', // Tashkent, Uzbekistan - Uzbek + // 'Asia/Riyadh': 'ar_SA', // Riyadh, Saudi Arabia - Arabic + // 'Asia/Baku': 'az_AZ', // Baku, Azerbaijan - Azerbaijani + // 'Asia/Istanbul': 'tr_TR', // Istanbul, Turkey - Turkish - // // 欧洲 - // 'Europe/Paris': 'fr_FR', // 法国巴黎 - 法语 - // 'Europe/Rome': 'it_IT', // 意大利罗马 - 意大利语 - // 'Europe/Madrid': 'es_ES', // 西班牙马德里 - 西班牙语 - // 'Europe/Amsterdam': 'nl_NL', // 荷兰阿姆斯特丹 - 荷兰语 - // 'Europe/Vienna': 'de_AT', // 奥地利维也纳 - 德语(奥地利) - // 'Europe/Stockholm': 'sv_SE', // 瑞典斯德哥尔摩 - 瑞典语 - // 'Europe/Oslo': 'nb_NO', // 挪威奥斯陆 - 挪威语 - // 'Europe/Copenhagen': 'da_DK', // 丹麦哥本哈根 - 丹麦语 - // 'Europe/Zurich': 'de_CH', // 瑞士苏黎世 - 德语(瑞士) - // 'Europe/Athens': 'el_GR', // 希腊雅典 - 希腊语 - // 'Europe/Warsaw': 'pl_PL', // 波兰华沙 - 波兰语 - // 'Europe/Prague': 'cs_CZ', // 捷克布拉格 - 捷克语 - // 'Europe/Budapest': 'hu_HU', // 匈牙利布达佩斯 - 匈牙利语 - // 'Europe/Belgrade': 'sr_RS', // 塞尔维亚贝尔格莱德 - 塞尔维亚语 + // Europe + // 'Europe/Paris': 'fr_FR', // Paris, France - French + // 'Europe/Rome': 'it_IT', // Rome, Italy - Italian + // 'Europe/Madrid': 'es_ES', // Madrid, Spain - Spanish + // 'Europe/Amsterdam': 'nl_NL', // Amsterdam, Netherlands - Dutch + // 'Europe/Vienna': 'de_AT', // Vienna, Austria - German (Austria) + // 'Europe/Stockholm': 'sv_SE', // Stockholm, Sweden - Swedish + // 'Europe/Oslo': 'nb_NO', // Oslo, Norway - Norwegian + // 'Europe/Copenhagen': 'da_DK', // Copenhagen, Denmark - Danish + // 'Europe/Zurich': 'de_CH', // Zurich, Switzerland - German (Switzerland) + // 'Europe/Athens': 'el_GR', // Athens, Greece - Greek + // 'Europe/Warsaw': 'pl_PL', // Warsaw, Poland - Polish + // 'Europe/Prague': 'cs_CZ', // Prague, Czech Republic - Czech + // 'Europe/Budapest': 'hu_HU', // Budapest, Hungary - Hungarian + // 'Europe/Belgrade': 'sr_RS', // Belgrade, Serbia - Serbian - // // 北美洲 - // 'America/Chicago': 'en_US', // 美国芝加哥 - 英语(美国) - // 'America/Denver': 'en_US', // 美国丹佛 - 英语(美国) - // 'America/Toronto': 'en_CA', // 加拿大多伦多 - 英语(加拿大) - // 'America/Vancouver': 'en_CA', // 加拿大温哥华 - 英语(加拿大) - // 'America/Mexico_City': 'es_MX', // 墨西哥墨西哥城 - 西班牙语(墨西哥) + // North America + // 'America/Chicago': 'en_US', // Chicago, USA - English (US) + // 'America/Denver': 'en_US', // Denver, USA - English (US) + // 'America/Toronto': 'en_CA', // Toronto, Canada - English (Canada) + // 'America/Vancouver': 'en_CA', // Vancouver, Canada - English (Canada) + // 'America/Mexico_City': 'es_MX', // Mexico City, Mexico - Spanish (Mexico) - // // 南美洲 - // 'America/Sao_Paulo': 'pt_BR', // 巴西圣保罗 - 葡萄牙语(巴西) - // 'America/Buenos_Aires': 'es_AR', // 阿根廷布宜诺斯艾利斯 - 西班牙语(阿根廷) - // 'America/Santiago': 'es_CL', // 智利圣地亚哥 - 西班牙语(智利) - // 'America/Lima': 'es_PE', // 秘鲁利马 - 西班牙语(秘鲁) - // 'America/Bogota': 'es_CO', // 哥伦比亚波哥大 - 西班牙语(哥伦比亚) - // 'America/Caracas': 'es_VE', // 委内瑞拉加拉加斯 - 西班牙语(委内瑞拉) + // South America + // 'America/Sao_Paulo': 'pt_BR', // São Paulo, Brazil - Portuguese (Brazil) + // 'America/Buenos_Aires': 'es_AR', // Buenos Aires, Argentina - Spanish (Argentina) + // 'America/Santiago': 'es_CL', // Santiago, Chile - Spanish (Chile) + // 'America/Lima': 'es_PE', // Lima, Peru - Spanish (Peru) + // 'America/Bogota': 'es_CO', // Bogotá, Colombia - Spanish (Colombia) + // 'America/Caracas': 'es_VE', // Caracas, Venezuela - Spanish (Venezuela) - // // 大洋洲 - // 'Australia/Sydney': 'en_AU', // 澳大利亚悉尼 - 英语(澳大利亚) - // 'Australia/Melbourne': 'en_AU', // 澳大利亚墨尔本 - 英语(澳大利亚) - // 'Australia/Brisbane': 'en_AU', // 澳大利亚布里斯班 - 英语(澳大利亚) - // 'Australia/Perth': 'en_AU', // 澳大利亚珀斯 - 英语(澳大利亚) - // 'New_Zealand/Auckland': 'en_NZ', // 新西兰奥克兰 - 英语(新西兰) + // Oceania + // 'Australia/Sydney': 'en_AU', // Sydney, Australia - English (Australia) + // 'Australia/Melbourne': 'en_AU', // Melbourne, Australia - English (Australia) + // 'Australia/Brisbane': 'en_AU', // Brisbane, Australia - English (Australia) + // 'Australia/Perth': 'en_AU', // Perth, Australia - English (Australia) + // 'New_Zealand/Auckland': 'en_NZ', // Auckland, New Zealand - English (New Zealand) - // // 非洲 - // 'Africa/Cairo': 'ar_EG', // 埃及开罗 - 阿拉伯语(埃及) - // 'Africa/Johannesburg': 'en_ZA', // 南非约翰内斯堡 - 英语(南非) - // 'Africa/Lagos': 'en_NG', // 尼日利亚拉各斯 - 英语(尼日利亚) - // 'Africa/Casablanca': 'fr_MA', // 摩洛哥卡萨布兰卡 - 法语(摩洛哥) - // 'Africa/Nairobi': 'en_KE', // 肯尼亚内罗毕 - 英语(肯尼亚) - // 'Africa/Addis_Ababa': 'am_ET', // 埃塞俄比亚亚的斯亚贝巴 - 阿姆哈拉语 + // Africa + // 'Africa/Cairo': 'ar_EG', // Cairo, Egypt - Arabic (Egypt) + // 'Africa/Johannesburg': 'en_ZA', // Johannesburg, South Africa - English (South Africa) + // 'Africa/Lagos': 'en_NG', // Lagos, Nigeria - English (Nigeria) + // 'Africa/Casablanca': 'fr_MA', // Casablanca, Morocco - French (Morocco) + // 'Africa/Nairobi': 'en_KE', // Nairobi, Kenya - English (Kenya) + // 'Africa/Addis_Ababa': 'am_ET', // Addis Ababa, Ethiopia - Amharic - // // 其他 - // 'UTC': 'en_US', // 协调世界时 - 默认英语(美国) + // Other + // 'UTC': 'en_US', // Coordinated Universal Time - Default English (US) }; \ No newline at end of file diff --git a/web/src/utils/yamlExport.ts b/web/src/utils/yamlExport.ts index 9a8c0c41..27ab9d39 100644 --- a/web/src/utils/yamlExport.ts +++ b/web/src/utils/yamlExport.ts @@ -1,6 +1,24 @@ +/* + * @Author: ZhaoYing + * @Date: 2026-02-02 16:35:32 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-02-02 16:35:32 + */ +/** + * YAML Export Utility + * + * Provides functions to export data as YAML files. + * + * @module yamlExport + */ + import yaml from 'js-yaml'; - +/** + * Export data to YAML file + * @param data - Data to export + * @param filename - Output filename (default: 'export.yaml') + */ export const exportToYaml = (data: unknown, filename: string = 'export.yaml') => { const yamlStr = yaml.dump(data); const blob = new Blob([yamlStr], { type: 'text/yaml' });