From 1282c6ae8697cf71abd4ceead101911e7dd67d56 Mon Sep 17 00:00:00 2001 From: wzy-warehouse <18135009705@163.com> Date: Tue, 5 May 2026 19:51:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF=E4=BB=A5?= =?UTF-8?q?=E5=8F=8AREADME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 22 +++++ .env.production | 22 +++++ .gitignore | 4 - README.md | 221 +---------------------------------------------- 4 files changed, 45 insertions(+), 224 deletions(-) create mode 100644 .env.development create mode 100644 .env.production diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..38ee304 --- /dev/null +++ b/.env.development @@ -0,0 +1,22 @@ +# 开发环境配置 +ENVIRONMENT=development + +# 数据库配置 +DB_HOST=47.92.216.173 +DB_PORT=7654 +DB_USER=postgres +DB_PASSWORD=zhangsan +DB_NAME=xian_new + +# FastAPI配置 +API_HOST=127.0.0.1 +API_PORT=8082 + +# 应用配置 +APP_NAME=西安项目算法 +APP_VERSION=1.0.0 +DEBUG=True + +# 日志配置 +LOG_LEVEL=DEBUG +LOG_DIR=logs diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..f1ff4e0 --- /dev/null +++ b/.env.production @@ -0,0 +1,22 @@ +# 生产环境配置 +ENVIRONMENT=production + +# 数据库配置 +DB_HOST=10.22.245.138 +DB_PORT=54321 +DB_USER=zaihailian +DB_PASSWORD=XAYJ@gis2603 +DB_NAME=xianDC + +# FastAPI配置 +API_HOST=127.0.0.1 +API_PORT=8081 + +# 应用配置 +APP_NAME=西安项目算法 +APP_VERSION=1.0.0 +DEBUG=False + +# 日志配置 +LOG_LEVEL=WARNING +LOG_DIR=logs diff --git a/.gitignore b/.gitignore index 5975cfe..61e2706 100644 --- a/.gitignore +++ b/.gitignore @@ -26,10 +26,6 @@ venv/ ENV/ env/ -# 环境配置文件(包含敏感信息) -.env.development -.env.production - # IDE .vscode/ .idea/ diff --git a/README.md b/README.md index 531fa94..8158f1a 100644 --- a/README.md +++ b/README.md @@ -1,220 +1 @@ -# Xian Algorithm New - -基于 FastAPI + PostgreSQL 的现代化 Python Web 应用框架。 - -## 特性 - -- ✅ 模块化架构(API/Config/Core/Utils) -- ✅ 多环境配置(开发/生产) -- ✅ 跨平台支持(Windows/Linux/Mac) -- ✅ 完整的数据库 CRUD 封装 -- ✅ 自动依赖管理 -- ✅ 自动生成 API 文档 -- ✅ 降雨栅格插值服务(IDW算法) - -## 快速开始 - -### 1. 环境要求 - -- Python 3.13+ -- PostgreSQL - -### 2. 配置 - -根据环境选择配置文件(无需复制,直接使用): - -- **开发环境**:`.env.development` -- **生产环境**:`.env.production` - -编辑对应的配置文件,修改数据库信息: - -```env -# .env.development 或 .env.production -DB_HOST=localhost -DB_PORT=5432 -DB_USER=postgres -DB_PASSWORD=your_password -DB_NAME=test_db -API_HOST=127.0.0.1 # 仅监听本地请求 -``` - -### 3. 启动 - -**后台运行(推荐):** - -```bash -# Windows - 开发环境 -scripts\start_dev.bat - -# Windows - 生产环境 -scripts\start_prod.bat - -# Linux/Mac - 开发环境 -bash scripts/start_dev.sh - -# Linux/Mac - 生产环境 -bash scripts/start_prod.sh -``` - -**前台运行(调试用):** - -```bash -python start.py -``` - -### 4. 停止 - -```bash -# Windows -scripts\stop.bat - -# Linux/Mac -bash scripts/stop.sh -``` - -### 5. 访问 - -- API 文档: http://localhost:8000/docs -- 健康检查: http://localhost:8000/health - -## 项目结构 - -``` -xian_algorithm_new/ -├── app/ -│ ├── api/ # API 路由 -│ ├── config/ # 配置管理 -│ ├── core/ # 核心功能 -│ ├── models/ # 数据模型 -│ ├── services/ # 业务逻辑 -│ └── utils/ # 工具函数 -├── scripts/ # 启动脚本 -├── logs/ # 日志目录 -├── tests/ # 测试目录 -├── start.py # 启动入口 -└── requirements.txt # 依赖包 -``` - -## 配置说明 - -配置采用三层结构(优先级从高到低): - -1. **.env 文件** - 用户自定义配置(数据库地址、密码等) -2. **环境配置类** - 开发/生产环境的差异化配置(日志级别、连接池等) -3. **基础配置类** - 通用默认值 - -只需修改 `.env` 文件即可覆盖大部分配置。 - -## 常用操作 - -### API接口 - -#### 1. 获取降雨栅格数据 - -```bash -curl -X POST "http://localhost:8000/rainfall/grid" \ - -H "Content-Type: application/json" \ - -d '{ - "start_time": "2024-01-01T00:00:00", - "end_time": "2024-01-01T12:00:00", - "district_id": 1, - "resolution": 0.01 - }' -``` - -#### 2. 获取雨量站点数据 - -```bash -curl "http://localhost:8000/rainfall/stations?start_time=2024-01-01T00:00:00&end_time=2024-01-01T12:00:00" -``` - -### 切换环境 - -通过启动脚本自动选择对应的配置文件: - -```bash -# Windows - 开发环境(后台) -scripts\start_dev.bat - -# Windows - 生产环境(后台) -scripts\start_prod.bat - -# Linux/Mac - 开发环境(后台) -bash scripts/start_dev.sh - -# Linux/Mac - 生产环境(后台) -bash scripts/start_prod.sh -``` - -**停止应用:** - -```bash -# Windows -scripts\stop.bat - -# Linux/Mac -bash scripts/stop.sh -``` - -或者手动设置环境变量: - -```bash -# Windows PowerShell -$env:ENVIRONMENT="production" -python start.py - -# Windows CMD -set ENVIRONMENT=production -python start.py - -# Linux/Mac -export ENVIRONMENT=production -python start.py -``` - -### 数据库操作 - -```python -from app.core.database import db_manager - -# 插入 -db_manager.insert("users", {"name": "张三", "email": "test@example.com"}) - -# 查询 -users = db_manager.select("users", conditions={"age": 25}) - -# 更新 -db_manager.update("users", {"name": "李四"}, {"id": 1}) - -# 删除 -db_manager.delete("users", {"id": 1}) -``` - -### 添加新 API - -1. 在 `app/api/` 创建路由文件 -2. 在 `app/main.py` 注册路由 - -```python -from app.api import new_module -app.include_router(new_module.router) -``` - -## 技术栈 - -- FastAPI 0.109.0 -- SQLAlchemy 2.0.25 -- PostgreSQL (psycopg2-binary) -- Pydantic 2.5.3 -- Uvicorn 0.27.0 - -## 注意事项 - -- ⚠️ 不要将 `.env.development` 和 `.env.production` 文件提交到 Git -- ⚠️ 生产环境务必修改默认密码 -- ⚠️ 定期清理 `logs/` 目录下的日志文件 -- ⚠️ Linux/Mac 下首次运行需给脚本添加执行权限:`chmod +x scripts/*.sh` - -## 许可证 - -MIT +# 西安项目算法相关代码