# we-ai **Repository Path**: ddgetget/we-ai ## Basic Information - **Project Name**: we-ai - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-07 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WE-AI 项目 WE-AI是一个基于FastAPI和Vue 3构建的全栈人工智能应用框架,提供了完整的前后端分离架构和通用的CRUD操作封装。 ## 技术栈 ### 后端 - **FastAPI**: 高性能的Python Web框架,自动生成API文档 - **SQLAlchemy**: Python SQL工具包和ORM框架 - **Pydantic**: 数据验证和设置管理 - **Uvicorn**: ASGI服务器 ### 前端 - **Vue 3**: 渐进式JavaScript框架 - **TypeScript**: 类型安全的JavaScript超集 - **Vite**: 下一代前端构建工具 - **Pinia**: Vue 3官方状态管理库 - **Vue Router**: Vue官方路由管理器 ## 项目结构 ``` ├── api/ # 后端API路由 │ └── v1/ # API版本1 │ ├── sys/ # 系统管理接口 │ └── user/ # 用户管理接口 ├── db/ # 数据库相关 │ ├── model/ # SQLAlchemy模型 │ ├── base.py # 数据库基础类 │ ├── curd.py # CRUD操作封装 │ └── session.py # 数据库会话管理 ├── schema/ # 数据模型和接口定义 │ ├── autoapi.py # 自动API生成器 │ └── config.py # 配置相关 ├── src/ # 前端源代码 │ ├── api/ # 前端API调用 │ ├── components/ # Vue组件 │ ├── router/ # 前端路由 │ ├── stores/ # Pinia状态管理 │ ├── utils/ # 工具函数 │ └── views/ # 页面视图 ├── main.py # 后端入口文件 ├── package.json # 前端依赖配置 ├── pyproject.toml # 后端依赖配置 ├── vite.config.ts # Vite配置 └── index.html # 前端入口HTML ``` ## 环境配置 ### 依赖安装 #### 后端依赖 ```bash # 使用uv安装Python依赖 uv install # 或使用pip pip install -r requirements.txt ``` #### 前端依赖 ```bash # 使用pnpm安装前端依赖 pnpm install ``` ### 数据库配置 修改项目根目录下的`.env`文件,配置数据库连接信息: ```env # MySQL数据库配置 DB_HOST=192.168.0.91 DB_PORT=53306 DB_USER=root DB_PASSWORD=BWOYO0R7oDt40y0shH6t DB_NAME=we-ai ``` ## 运行项目 ### 后端开发服务器 ```bash # 使用uv运行FastAPI应用 uv run main.py # 或直接运行Python文件 python main.py ``` 后端服务将在 `http://localhost:8000` 启动。 ### 前端开发服务器 ```bash # 使用pnpm运行Vite开发服务器 pnpm dev ``` 前端服务将在 `http://localhost:5173` 启动。 ## API文档 FastAPI自动生成了交互式API文档: - Swagger UI: `http://localhost:8000/docs` - ReDoc: `http://localhost:8000/redoc` ## 核心功能 ### 自动API生成器 项目实现了`AutoAPI`抽象类,可以快速生成CRUD接口: ```python from schema.autoapi import AutoAPI from db.model.user import UserCRUD # 创建CRUD实例 user_crud = UserCRUD() # 自动生成API路由 user_api = AutoAPI( prefix="/users", tags=["用户管理"], crud=user_crud, create_schema=UserCreate, update_schema=UserUpdate ) # 获取生成的路由 router = user_api.get_router() ``` ### 通用CRUD操作 `db/curd.py`提供了通用的CRUD操作封装,支持: - create: 创建数据 - get: 根据ID查询单个数据 - get_all: 查询所有数据 - get_multi: 分页查询数据 - get_multi_with_total: 带总数的分页查询 - count: 统计数据数量 - update: 更新数据 - upsert: 插入或更新数据 - remove: 删除数据 ## 开发说明 ### 后端开发 1. 在`db/model/`目录下创建SQLAlchemy模型 2. 在`api/v1/`目录下创建API路由文件 3. 使用`AutoAPI`快速生成CRUD接口 4. 自定义特殊业务逻辑 ### 前端开发 1. 在`src/views/`目录下创建页面组件 2. 在`src/api/`目录下封装API调用 3. 在`src/components/`目录下创建可复用组件 4. 在`src/router/`目录下配置路由 ## 构建生产版本 ### 前端构建 ```bash pnpm build ``` 构建产物将生成在`dist/`目录。 ### 后端部署 可以使用Uvicorn配合Gunicorn部署后端服务: ```bash gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app ``` ## 许可证 MIT License