From 1225b6cbf0a028b765a0ab6d784bcb80459a67bb Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期三, 23 七月 2025 17:59:54 +0800
Subject: [PATCH] 功能更新

---
 config.py |  114 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 87 insertions(+), 27 deletions(-)

diff --git a/config.py b/config.py
index ae16800..d7919aa 100644
--- a/config.py
+++ b/config.py
@@ -3,44 +3,104 @@
 """
 
 import os
-from typing import Optional
-from pydantic_settings import BaseSettings
+import json
 
 
-class Settings(BaseSettings):
+class Settings:
     """搴旂敤閰嶇疆"""
 
-    # 鏁版嵁搴撻厤缃�
-    database_url: str = "mysql+pymysql://root:TAI%402019%23Zjun@120.24.39.179:3306/ecloud_dify"
+    def __init__(self, config_file: str = "config.json"):
+        """鍒濆鍖栭厤缃紝浠嶫SON鏂囦欢鍔犺浇"""
+        self.config_file = config_file
+        self._load_config()
 
-    # Redis閰嶇疆
-    redis_url: str = "redis://localhost:6379/0"
+    def _load_config(self):
+        """浠嶫SON鏂囦欢鍔犺浇閰嶇疆"""
+        try:
+            if os.path.exists(self.config_file):
+                with open(self.config_file, 'r', encoding='utf-8') as f:
+                    config_data = json.load(f)
+                self._set_config_from_dict(config_data)
+            else:
+                # 濡傛灉閰嶇疆鏂囦欢涓嶅瓨鍦紝浣跨敤榛樿鍊�
+                self._set_default_config()
+        except Exception as e:
+            print(f"鍔犺浇閰嶇疆鏂囦欢澶辫触: {e}")
+            self._set_default_config()
 
-    # E浜戠瀹堕厤缃�
-    ecloud_base_url: str = "http://your-ecloud-domain.com"
-    ecloud_authorization: str = "your-authorization-token"
+    def _set_config_from_dict(self, config_data: dict):
+        """浠庡瓧鍏歌缃厤缃�"""
+        # 鏁版嵁搴撻厤缃�
+        self.database_url = config_data.get("database", {}).get("url", "mysql+pymysql://root:TAI%402019%23Zjun@120.24.39.179:3306/ecloud_dify")
 
-    # DifyAI閰嶇疆
-    dify_base_url: str = "https://api.dify.ai/v1"
-    dify_api_key: str = "your-dify-api-key"
+        # Redis閰嶇疆
+        self.redis_url = config_data.get("redis", {}).get("url", "redis://localhost:6379/0")
 
-    # 鏈嶅姟閰嶇疆
-    server_host: str = "0.0.0.0"
-    server_port: int = 8000
-    debug: bool = True
+        # E浜戠瀹堕厤缃�
+        ecloud_config = config_data.get("ecloud", {})
+        self.ecloud_base_url = ecloud_config.get("base_url", "http://125.122.152.142:9899")
+        self.ecloud_authorization = ecloud_config.get("authorization", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxMzYxMTQ1MjE3NSIsInBhc3N3b3JkIjoiJDJhJDEwJEU3Ry5LOEJzekphM2JGQlh0SG8vOXVrUk1NalVweGVVemguUDRnMkJBdHN2YXpBb0JIQWJpIn0.Gd2vbeJjL5pUGFhUngWPLkDTLhD3GUaEPXOkdoTf4KRh9o2FtST1OZJxmZuGdUy7WIYlIPVueoVyIu5iHOyi8A")
+        self.ecloud_w_id = ecloud_config.get("w_id", "")
 
-    # 鏃ュ織閰嶇疆
-    log_level: str = "INFO"
-    log_file: str = "logs/app.log"
+        # DifyAI閰嶇疆
+        dify_config = config_data.get("dify", {})
+        self.dify_base_url = dify_config.get("base_url", "https://api.dify.ai/v1")
+        self.dify_api_key = dify_config.get("api_key", "app-OMnBr7zsf5UTV83Ey8QcSErA")
 
-    # 娑堟伅澶勭悊閰嶇疆
-    max_retry_count: int = 3
-    retry_delay: int = 5  # 绉�
-    queue_timeout: int = 300  # 绉�
+        # 鏈嶅姟閰嶇疆
+        server_config = config_data.get("server", {})
+        self.server_host = server_config.get("host", "0.0.0.0")
+        self.server_port = server_config.get("port", 7979)
+        self.debug = server_config.get("debug", True)
 
-    class Config:
-        env_file = ".env"
-        env_file_encoding = "utf-8"
+        # 鏃ュ織閰嶇疆
+        logging_config = config_data.get("logging", {})
+        self.log_level = logging_config.get("level", "INFO")
+        self.log_file = logging_config.get("file", "logs/app.log")
+
+        # 娑堟伅澶勭悊閰嶇疆
+        msg_config = config_data.get("message_processing", {})
+        self.max_retry_count = msg_config.get("max_retry_count", 3)
+        self.retry_delay = msg_config.get("retry_delay", 5)
+        self.queue_timeout = msg_config.get("queue_timeout", 300)
+
+        # 瀹㈡湇閰嶇疆
+        customer_service_config = config_data.get("customer_service", {})
+        self.customer_service_names = customer_service_config.get("names", ["瀹㈡湇1", "瀹㈡湇2"])
+
+    def _set_default_config(self):
+        """璁剧疆榛樿閰嶇疆"""
+        # 鏁版嵁搴撻厤缃�
+        self.database_url = "mysql+pymysql://root:TAI%402019%23Zjun@120.24.39.179:3306/ecloud_dify"
+
+        # Redis閰嶇疆
+        self.redis_url = "redis://localhost:6379/0"
+
+        # E浜戠瀹堕厤缃�
+        self.ecloud_base_url = "http://125.122.152.142:9899"
+        self.ecloud_authorization = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxMzYxMTQ1MjE3NSIsInBhc3N3b3JkIjoiJDJhJDEwJEU3Ry5LOEJzekphM2JGQlh0SG8vOXVrUk1NalVweGVVemguUDRnMkJBdHN2YXpBb0JIQWJpIn0.Gd2vbeJjL5pUGFhUngWPLkDTLhD3GUaEPXOkdoTf4KRh9o2FtST1OZJxmZuGdUy7WIYlIPVueoVyIu5iHOyi8A"
+        self.ecloud_w_id = ""
+
+        # DifyAI閰嶇疆
+        self.dify_base_url = "https://api.dify.ai/v1"
+        self.dify_api_key = "app-OMnBr7zsf5UTV83Ey8QcSErA"
+
+        # 鏈嶅姟閰嶇疆
+        self.server_host = "0.0.0.0"
+        self.server_port = 7979
+        self.debug = True
+
+        # 鏃ュ織閰嶇疆
+        self.log_level = "INFO"
+        self.log_file = "logs/app.log"
+
+        # 娑堟伅澶勭悊閰嶇疆
+        self.max_retry_count = 3
+        self.retry_delay = 5
+        self.queue_timeout = 300
+
+        # 瀹㈡湇閰嶇疆
+        self.customer_service_names = ["瀹㈡湇1", "瀹㈡湇2"]
 
 
 # 鍏ㄥ眬閰嶇疆瀹炰緥

--
Gitblit v1.9.1