# auto-tools-server **Repository Path**: umeone/auto-tools-server ## Basic Information - **Project Name**: auto-tools-server - **Description**: 基于vue3和Python实现的web工具 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Auto Tools Server 工具管理系统后端API服务 ## 技术栈 - **框架**: FastAPI (现代、高性能、自动API文档) - **数据库**: MySQL - **ORM**: SQLAlchemy - **数据验证**: Pydantic - **数据库迁移**: Alembic ## 项目结构 ``` auto-tools-server/ ├── app/ │ ├── api/ # API路由 │ │ └── v1/ # v1版本API │ ├── core/ # 核心配置 │ ├── models/ # 数据库模型 │ ├── schemas/ # Pydantic schemas │ ├── utils/ # 工具函数 │ ├── database.py # 数据库连接 │ └── main.py # 应用入口 ├── tests/ # 测试文件 ├── sql/ # SQL脚本 ├── alembic.ini # 数据库迁移配置 ├── requirements.txt # 依赖列表 └── pyproject.toml # 项目配置 ``` ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` 或使用 pip (推荐): ```bash pip install -e . ``` ### 2. 配置环境变量 复制 `.env.example` 到 `.env` 并修改配置: ```bash cp .env.example .env ``` 主要配置项: - `DATABASE_URL`: MySQL数据库连接字符串 - `SECRET_KEY`: JWT密钥(生产环境需修改) - `ALGORITHM`: JWT加密算法(默认HS256) - `ACCESS_TOKEN_EXPIRE_MINUTES`: Token有效期(默认30分钟) - `DEBUG`: 调试模式 ### 3. 创建数据库 确保MySQL已安装并运行,创建数据库: ```sql CREATE DATABASE auto_tools CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ### 4. 运行应用 ```bash python -m app.main ``` 或使用 uvicorn: ```bash uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` ## API文档 启动应用后,访问以下地址查看API文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## API端点 ### 认证管理 - `POST /api/v1/auth/login` - 用户登录 - `GET /api/v1/auth/me` - 获取当前用户信息(需要认证) ### 用户管理 - `POST /api/v1/users` - 创建用户 - `GET /api/v1/users` - 获取用户列表(需要认证) - `GET /api/v1/users/{id}` - 获取用户详情 - `PUT /api/v1/users/{id}` - 更新用户(需要认证) - `DELETE /api/v1/users/{id}` - 删除用户(需要认证) ### 矿山易购用户管理 - `POST /api/v1/mine-easy-users` - 创建矿山易购用户(需要认证) - `GET /api/v1/mine-easy-users` - 获取矿山易购用户列表(需要认证,支持按手机号、用户ID筛选) - `GET /api/v1/mine-easy-users/{id}` - 获取矿山易购用户详情 - `PUT /api/v1/mine-easy-users/{id}` - 更新矿山易购用户(需要认证) - `DELETE /api/v1/mine-easy-users/{id}` - 删除矿山易购用户(需要认证) ### 矿山易购认证 - `POST /api/v1/ksyg/send-code` - 发送验证码(需要真实手机号) - `POST /api/v1/ksyg/login` - 验证码登录(登录成功会自动更新矿山易购用户表) **使用流程:** 1. 调用发送验证码接口,使用真实手机号 2. 手机收到验证码短信 3. 调用验证码登录接口,使用手机号和验证码 4. 登录成功后获取矿山易购token,自动保存到数据库 详细文档:[矿山易购验证码登录功能](docs/ksyg_verification_login.md) ## 开发 ### 运行测试 ```bash pytest ``` ### 代码格式化 ```bash black app/ ``` ### 代码检查 ```bash ruff check app/ ``` ## 数据库迁移 ### 使用Alembic迁移 ```bash # 初始化迁移 alembic init alembic # 创建迁移 alembic revision --autogenerate -m "initial migration" # 执行迁移 alembic upgrade head ``` ### 使用SQL脚本 项目提供了手动数据库初始化脚本,位于 `sql/` 目录: ```bash # 按顺序执行SQL脚本 mysql -u username -p auto_tools < sql/001_create_users_table.sql ``` 默认管理员账号: - 账号:admin - 密码:admin123 ## License MIT