From 4e178477fe6f2f5f351916a62fa9b3cf01182dbb Mon Sep 17 00:00:00 2001 From: KiriAky 107 Date: Fri, 27 Mar 2026 01:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/.env.example | 10 +++- backend/app/config.py | 5 ++ .../__pycache__/mongodb.cpython-312.pyc | Bin 9721 -> 9546 bytes backend/app/core/database/mongodb.py | 1 - backend/test_mongodb.py | 46 ++++++++++++++++++ backend/test_mysql.py | 37 ++++++++++++++ backend/test_redis.py | 46 ++++++++++++++++++ frontend/.env | 4 +- frontend/src/routes.tsx | 7 +-- 9 files changed, 145 insertions(+), 11 deletions(-) create mode 100644 backend/test_mongodb.py create mode 100644 backend/test_mysql.py create mode 100644 backend/test_redis.py diff --git a/backend/.env.example b/backend/.env.example index b10fd86..06de962 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -30,8 +30,14 @@ REDIS_URL="redis://localhost:6379/0" # ==================== LLM AI 配置 ==================== # 大语言模型 API 配置 LLM_API_KEY="your_api_key_here" -LLM_BASE_URL="https://api.minimax.chat/v1" -LLM_MODEL_NAME="MiniMax-Text-01" +LLM_BASE_URL="" +LLM_MODEL_NAME="" + +# ==================== Supabase 配置 ==================== +# Supabase 项目配置 +SUPABASE_URL="your_supabase_url_here" +SUPABASE_ANON_KEY="your_supabase_anon_key_here" +SUPABASE_SERVICE_KEY="your_supabase_service_key_here" # ==================== 文件路径配置 ==================== # 上传文件存储目录 (相对于项目根目录) diff --git a/backend/app/config.py b/backend/app/config.py index 879555d..84115f9 100644 --- a/backend/app/config.py +++ b/backend/app/config.py @@ -29,6 +29,11 @@ class Settings(BaseSettings): LLM_BASE_URL: str = "https://api.minimax.chat" LLM_MODEL_NAME: str = "MiniMax-Text-01" + # ==================== Supabase 配置 ==================== + SUPABASE_URL: str = "" + SUPABASE_ANON_KEY: str = "" + SUPABASE_SERVICE_KEY: str = "" + # ==================== 文件路径配置 ==================== BASE_DIR: Path = Path(__file__).resolve().parent.parent.parent UPLOAD_DIR: str = "data/uploads" diff --git a/backend/app/core/database/__pycache__/mongodb.cpython-312.pyc b/backend/app/core/database/__pycache__/mongodb.cpython-312.pyc index 479f37b13c1e32f0fd2536467098f7806a210543..1d102ac4d902a682e07bca5768d2660d59df30cb 100644 GIT binary patch delta 323 zcmezAeaegXG%qg~0}!0gJ(}sdkyllYn;FP!2I9}F7&qI>WiU?uE-$anzM2uFih+TV zp_0j*p=UV|w*heq5IY00(pu(nMoo^%jtWkb=PNWYu9~c%*irw4gRh^vlly{*!Bq~! z4}uJwWsnlDglXuC53^kUmP~M`6;D2sdh!xlNYJl YNhUBe8hvB{lV0o$+(O-&jqG6M00FpCs{jB1 delta 441 zcmX@*_0ya8G%qg~0}wQcAI+SnT%=7 z>5~iOq$e+xm)GWA%?Q%Pz`)2*$z;yZa{-9g192}9=K!%c5UZ?ZE@#x_nfzMbNv0?S zsP-01MqY9GEtZnXg4A1_*?DD8Sx%9!-g}4G0ksp_7aYSb zXop|Winz=dd7UHj0!QQ%4!(ZwPVNgL23I)@KL|5$n*F%JVGhI&KR&QAa9Tilk-v&F zftEGNJKHfXWOO!SS)>GH9b{p2Heor)stjUlFglyD9MlAfAL3?owqQBL17_sM8&gML&n~Z`ytVTtmK+B7G zfP|({QPJcGl}w|2kcccy_!fI^eqMThN>WidNC>Q47|8m?VUwGmQks)$S5!Covx=Q$ XA~U1WM+PwI!_L4h)UDab4pt5Tl=XgH diff --git a/backend/app/core/database/mongodb.py b/backend/app/core/database/mongodb.py index a4fb7eb..39763b8 100644 --- a/backend/app/core/database/mongodb.py +++ b/backend/app/core/database/mongodb.py @@ -237,7 +237,6 @@ class MongoDB: # RAG索引集合索引 await self.rag_index.create_index("table_name") await self.rag_index.create_index("field_name") - await self.rag_index.create_index([("embedding", "hnsw", {"type": "knnVector"})]) logger.info("MongoDB 索引创建完成") diff --git a/backend/test_mongodb.py b/backend/test_mongodb.py new file mode 100644 index 0000000..5fa3e02 --- /dev/null +++ b/backend/test_mongodb.py @@ -0,0 +1,46 @@ +""" +MongoDB 数据库连接测试 +""" +import asyncio +from app.core.database.mongodb import mongodb + + +async def test_mongodb(): + print("=" * 50) + print("MongoDB 数据库连接测试") + print("=" * 50) + + try: + # 连接 + await mongodb.connect() + print(f"✓ MongoDB 连接成功: {mongodb.client}") + + # 测试插入 + test_doc = {"test": "hello", "value": 123} + doc_id = await mongodb.client.test_database.test_collection.insert_one(test_doc) + print(f"✓ 写入测试成功, ID: {doc_id.inserted_id}") + + # 测试查询 + doc = await mongodb.client.test_database.test_collection.find_one({"test": "hello"}) + print(f"✓ 读取测试成功: {doc}") + + # 删除测试数据 + await mongodb.client.test_database.test_collection.delete_one({"test": "hello"}) + print(f"✓ 删除测试数据成功") + + # 列出数据库 + dbs = await mongodb.client.list_database_names() + print(f"✓ 数据库列表: {dbs}") + + print("\n✓ MongoDB 测试通过!") + return True + + except Exception as e: + print(f"\n✗ MongoDB 测试失败: {e}") + return False + finally: + await mongodb.close() + + +if __name__ == "__main__": + asyncio.run(test_mongodb()) diff --git a/backend/test_mysql.py b/backend/test_mysql.py new file mode 100644 index 0000000..9e27335 --- /dev/null +++ b/backend/test_mysql.py @@ -0,0 +1,37 @@ +""" +MySQL 数据库连接测试 +""" +import asyncio +from sqlalchemy import text +from app.core.database.mysql import mysql_db + + +async def test_mysql(): + print("=" * 50) + print("MySQL 数据库连接测试") + print("=" * 50) + + try: + # 测试连接 + async with mysql_db.async_session_factory() as session: + result = await session.execute(text("SELECT 1")) + print(f"✓ MySQL 连接成功: {result.fetchone()}") + + # 测试查询数据库 + async with mysql_db.async_session_factory() as session: + result = await session.execute(text("SHOW DATABASES")) + dbs = result.fetchall() + print(f"✓ 数据库列表: {[db[0] for db in dbs]}") + + print("\n✓ MySQL 测试通过!") + return True + + except Exception as e: + print(f"\n✗ MySQL 测试失败: {e}") + return False + finally: + await mysql_db.close() + + +if __name__ == "__main__": + asyncio.run(test_mysql()) diff --git a/backend/test_redis.py b/backend/test_redis.py new file mode 100644 index 0000000..5cdd5d4 --- /dev/null +++ b/backend/test_redis.py @@ -0,0 +1,46 @@ +""" +Redis 数据库连接测试 +""" +import asyncio +from app.core.database.redis_db import redis_db + + +async def test_redis(): + print("=" * 50) + print("Redis 数据库连接测试") + print("=" * 50) + + try: + # 连接 + await redis_db.connect() + print(f"✓ Redis 连接成功") + + # 测试写入 + await redis_db.client.set("test_key", "hello_redis") + print(f"✓ 写入测试成功") + + # 测试读取 + value = await redis_db.client.get("test_key") + print(f"✓ 读取测试成功: {value}") + + # 测试删除 + await redis_db.client.delete("test_key") + print(f"✓ 删除测试成功") + + # 测试任务状态 + await redis_db.set_task_status("test_task", "processing", {"progress": 50}) + status = await redis_db.get_task_status("test_task") + print(f"✓ 任务状态测试成功: {status}") + + print("\n✓ Redis 测试通过!") + return True + + except Exception as e: + print(f"\n✗ Redis 测试失败: {e}") + return False + finally: + await redis_db.close() + + +if __name__ == "__main__": + asyncio.run(test_redis()) diff --git a/frontend/.env b/frontend/.env index 82eaa83..426fac9 100644 --- a/frontend/.env +++ b/frontend/.env @@ -1,7 +1,7 @@ VITE_APP_ID=app-a6ww9j3ja3nl -VITE_SUPABASE_URL=https://backend.appmiaoda.com/projects/supabase290100332300644352 +VITE_SUPABASE_URL=https://ojtxpvjgqoybhmadimym.supabase.co -VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoyMDg4NTkyNTA5LCJpc3MiOiJzdXBhYmFzZSIsInJvbGUiOiJhbm9uIiwic3ViIjoiYW5vbiJ9.sdVzWIT_AjxVjEmBaEQcOoFGlHTTT8NH59fYdkaA4WU +VITE_SUPABASE_ANON_KEY=sb_publishable_VMZMg44D-9bKE6bsbUiSsw_x3rUJbu2 VITE_BACKEND_API_URL=http://localhost:8000/api/v1 diff --git a/frontend/src/routes.tsx b/frontend/src/routes.tsx index f3e0e5b..0b405c7 100644 --- a/frontend/src/routes.tsx +++ b/frontend/src/routes.tsx @@ -6,7 +6,6 @@ import FormFill from '@/pages/FormFill'; import Assistant from '@/pages/Assistant'; import ExcelParse from '@/pages/ExcelParse'; import MainLayout from '@/components/layouts/MainLayout'; -import { RouteGuard } from '@/components/common/RouteGuard'; export const routes = [ { @@ -15,11 +14,7 @@ export const routes = [ }, { path: '/', - element: ( - - - - ), + element: , children: [ { path: '/',