5cde7f852a
2.新增项目批量停用、材料批量修改功能
686 lines
18 KiB
Markdown
686 lines
18 KiB
Markdown
# 简道云 FastAPI 服务系统说明书
|
||
|
||
## 1. 系统概述
|
||
|
||
### 1.1 系统简介
|
||
|
||
简道云 FastAPI 服务是一个基于 FastAPI 框架开发的后端服务系统,主要用于处理简道云插件发送的业务请求,与 F6 汽车维修管理系统进行数据交互,实现数据同步、批量处理、信息管理等核心功能。
|
||
|
||
### 1.2 系统定位
|
||
|
||
- **服务对象**: 简道云插件前端
|
||
- **集成系统**: F6 汽车维修管理系统、简道云平台
|
||
- **主要功能**: 数据同步、批量操作、信息管理、工作流自动化
|
||
|
||
### 1.3 系统特点
|
||
|
||
- **高性能**: 基于 FastAPI 异步框架,支持高并发请求
|
||
- **模块化**: 采用模块化设计,易于扩展和维护
|
||
- **可靠性**: 完善的异常处理和重试机制
|
||
- **自动化**: 支持后台任务自动执行和工作流自动提交
|
||
- **可维护性**: 清晰的代码结构和完善的日志记录
|
||
|
||
## 2. 系统功能
|
||
|
||
### 2.1 F6系统集成功能
|
||
|
||
#### 2.1.1 登录认证
|
||
|
||
**功能描述**: 实现 F6 系统的登录认证,支持用户名密码登录和验证码识别。
|
||
|
||
**主要流程**:
|
||
1. 接收用户名、密码、公司名称
|
||
2. 对密码进行 MD5 加密
|
||
3. 发送登录请求到 F6 系统
|
||
4. 如果触发验证码,自动识别并重试
|
||
5. 选择指定公司并完成登录
|
||
6. 返回登录结果和 Cookie 信息
|
||
|
||
**技术实现**:
|
||
- 使用 `requests` 库发送 HTTP 请求
|
||
- 使用 `pytesseract` 进行验证码 OCR 识别
|
||
- 使用 `PIL` 进行图像预处理(对比度、亮度调整)
|
||
|
||
#### 2.1.2 公司信息获取
|
||
|
||
**功能描述**: 获取 F6 系统中用户可访问的公司列表,并保存到简道云表单。
|
||
|
||
**主要流程**:
|
||
1. 使用用户名密码登录 F6 系统
|
||
2. 获取公司列表(单店或多店)
|
||
3. 将公司信息批量写入简道云表单
|
||
4. 返回时间戳用于后续查询
|
||
|
||
**输出格式**:
|
||
- 单店: 返回门店名称
|
||
- 多店: 返回所有公司名称列表
|
||
|
||
#### 2.1.3 门店信息获取
|
||
|
||
**功能描述**: 获取指定公司下的门店列表及统计数据。
|
||
|
||
**主要流程**:
|
||
1. 登录 F6 系统并选择公司
|
||
2. 获取门店列表
|
||
3. 统计客户车辆数量和客户数量
|
||
4. 将门店信息批量写入简道云表单
|
||
5. 返回时间戳和统计数据
|
||
|
||
**输出内容**:
|
||
- 门店名称列表
|
||
- 客户车辆总数
|
||
- 客户总数
|
||
|
||
#### 2.1.4 保持连接
|
||
|
||
**功能描述**: 心跳检测功能,用于保持连接活跃。
|
||
|
||
**实现**: 直接返回接收到的数据,不做任何处理。
|
||
|
||
### 2.2 文件处理功能
|
||
|
||
#### 2.2.1 文件上传和下载
|
||
|
||
**功能描述**: 处理简道云插件上传的文件,下载并保存到本地。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取文件 URL
|
||
2. 解析文件名和扩展名
|
||
3. 根据时间戳生成唯一文件名
|
||
4. 下载文件到 `下载文件/` 目录
|
||
5. 返回文件保存路径
|
||
|
||
**文件命名规则**: `原文件名_时间戳.扩展名`
|
||
|
||
#### 2.2.2 文件校验
|
||
|
||
**功能描述**: 校验上传的 Excel 文件格式是否符合要求。
|
||
|
||
**支持的操作类型**:
|
||
- `create_brand`: 校验第一列是否为"品牌"
|
||
- `modify_customer_info`: 校验第一列是否为"客户手机号"
|
||
- `delete_cars`: 暂不校验
|
||
|
||
**校验流程**:
|
||
1. 读取 Excel 文件第一列
|
||
2. 检查表头是否符合要求
|
||
3. 返回校验结果(成功/失败)
|
||
|
||
### 2.3 数据管理功能
|
||
|
||
#### 2.3.1 品牌批量创建
|
||
|
||
**功能描述**: 从 Excel 文件读取品牌名称,批量创建到 F6 系统。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取任务数据(账号、密码、公司名称、文件路径)
|
||
2. 登录 F6 系统
|
||
3. 读取 Excel 文件(第一列为品牌名称)
|
||
4. 在后台线程中批量创建品牌
|
||
5. 立即返回"正在执行"提示
|
||
6. 后台任务完成后更新简道云表单并自动提交工作流
|
||
|
||
**后台任务处理**:
|
||
- 遍历 Excel 文件中的每一行
|
||
- 调用 F6 API 创建品牌
|
||
- 记录成功和失败的结果
|
||
- 执行完成后删除上传的文件
|
||
- 更新简道云表单的执行明细
|
||
- 自动提交工作流到下一步
|
||
|
||
#### 2.3.2 客户信息修改
|
||
|
||
**功能描述**: 从 Excel 文件读取客户修改信息,批量修改 F6 系统中的客户信息。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取任务数据
|
||
2. 登录 F6 系统
|
||
3. 读取 Excel 文件(包含客户手机号、修改字段等)
|
||
4. 获取所有客户列表
|
||
5. 获取员工列表(用于匹配专属运营顾问)
|
||
6. 在后台线程中批量修改客户信息
|
||
7. 立即返回"正在执行中"提示
|
||
|
||
**Excel 文件格式**:
|
||
- 第一列: 客户手机号(必需,用于匹配)
|
||
- 其他列: 需要修改的字段(客户姓名、客户类型、客户来源、单位名称、专属运营顾问、客户备注等)
|
||
|
||
**匹配逻辑**:
|
||
- 根据客户手机号匹配 F6 系统中的客户
|
||
- 获取客户原始信息
|
||
- 合并 Excel 中的修改字段
|
||
- 解析地址信息(省市区)
|
||
- 匹配专属运营顾问的用户ID
|
||
|
||
#### 2.3.3 客户信息删除
|
||
|
||
**功能描述**: 批量删除 F6 系统中的客户信息。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取任务数据
|
||
2. 登录 F6 系统
|
||
3. 获取所有客户列表
|
||
4. 获取会员卡列表(提取客户ID)
|
||
5. 在后台线程中批量删除客户
|
||
6. 立即返回"正在执行中"提示
|
||
|
||
**删除规则**:
|
||
- 跳过有最近消费时间的客户
|
||
- 跳过有会员卡的客户
|
||
- 8-20点之间每3.5秒删除一条,其余时间每1.5秒删除一条
|
||
- 记录成功和失败次数
|
||
|
||
#### 2.3.4 车辆信息删除
|
||
|
||
**功能描述**: 批量删除 F6 系统中的客户车辆信息。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取任务数据
|
||
2. 登录 F6 系统
|
||
3. 分页获取所有车辆列表
|
||
4. 获取会员卡列表(提取车辆ID)
|
||
5. 在后台线程中批量删除车辆
|
||
6. 立即返回"正在执行中"提示
|
||
|
||
**删除规则**:
|
||
- 跳过有最近消费时间的客户车辆
|
||
- 跳过有会员卡的车辆
|
||
- 8-20点之间每3秒删除一条,其余时间每1秒删除一条
|
||
- 记录成功和失败次数
|
||
|
||
#### 2.3.5 历史记录删除
|
||
|
||
**功能描述**: 删除指定门店的历史维修记录。
|
||
|
||
**主要流程**:
|
||
1. 从简道云获取任务数据(账号、密码、公司名称、门店名称)
|
||
2. 登录 F6 系统
|
||
3. 获取门店列表并匹配门店ID
|
||
4. 在后台线程中删除历史维修记录
|
||
5. 立即返回"正在执行中"提示
|
||
|
||
**删除方式**: 调用 F6 系统的删除接口,删除整个门店的历史维修记录。
|
||
|
||
### 2.4 BI任务功能
|
||
|
||
**功能描述**: 执行 BI 相关的数据处理和报表生成任务。
|
||
|
||
**当前状态**: 框架已搭建,具体业务逻辑待实现。
|
||
|
||
**预留接口**:
|
||
- 支持从 Excel 文件读取数据
|
||
- 支持 F6 系统登录(如需要)
|
||
- 支持后台线程执行
|
||
- 支持结果回写到简道云
|
||
|
||
### 2.5 工作流自动化
|
||
|
||
**功能描述**: 自动获取简道云工作流的待处理任务并提交到下一步。
|
||
|
||
**主要流程**:
|
||
1. 获取工作流实例信息
|
||
2. 查找状态为待处理(status=0)的任务
|
||
3. 提取任务信息(username、instance_id、task_id)
|
||
4. 调用审批接口自动提交
|
||
5. 记录执行结果
|
||
|
||
**应用场景**: 后台任务执行完成后,自动将简道云表单提交到工作流下一步,无需人工干预。
|
||
|
||
## 3. 技术架构
|
||
|
||
### 3.1 系统架构
|
||
|
||
```
|
||
┌─────────────────┐
|
||
│ 简道云插件前端 │
|
||
└────────┬────────┘
|
||
│ HTTP/JSON
|
||
▼
|
||
┌─────────────────┐
|
||
│ FastAPI 服务 │
|
||
│ ┌───────────┐ │
|
||
│ │ 路由层 │ │
|
||
│ └─────┬─────┘ │
|
||
│ │ │
|
||
│ ┌─────▼─────┐ │
|
||
│ │ 业务模块 │ │
|
||
│ │ - F6Module│ │
|
||
│ │ - Plugin │ │
|
||
│ └─────┬─────┘ │
|
||
│ │ │
|
||
│ ┌─────▼─────┐ │
|
||
│ │ 任务队列 │ │
|
||
│ └─────┬─────┘ │
|
||
│ │ │
|
||
│ ┌─────▼─────┐ │
|
||
│ │ 后台任务 │ │
|
||
│ └───────────┘ │
|
||
└────────┬────────┘
|
||
│
|
||
┌────┴────┐
|
||
▼ ▼
|
||
┌────────┐ ┌────────┐
|
||
│ F6系统 │ │ 简道云 │
|
||
└────────┘ └────────┘
|
||
```
|
||
|
||
### 3.2 核心组件
|
||
|
||
#### 3.2.1 应用入口 (main.py)
|
||
|
||
**职责**:
|
||
- 应用初始化和生命周期管理
|
||
- 模块注册和路由配置
|
||
- 异常处理器配置
|
||
- 中间件配置(CORS)
|
||
|
||
**关键功能**:
|
||
- `lifespan`: 管理应用启动和关闭
|
||
- 全局异常处理
|
||
- 模块实例化并注册到注册表
|
||
|
||
#### 3.2.2 路由层 (app/api/routes.py)
|
||
|
||
**职责**:
|
||
- 定义 API 端点
|
||
- 请求验证和参数解析
|
||
- 调用业务模块处理请求
|
||
- 返回响应
|
||
|
||
**主要端点**:
|
||
- `GET /health`: 健康检查
|
||
- `POST /webhook`: 业务请求处理
|
||
|
||
#### 3.2.3 业务模块层
|
||
|
||
**F6Module** (`app/module/module.py`):
|
||
- F6 系统登录和认证
|
||
- 公司信息获取
|
||
- 门店信息获取
|
||
- 保持连接
|
||
|
||
**F6PluginModule** (`app/module/f6_plugin_module.py`):
|
||
- 文件上传和校验
|
||
- 品牌批量创建
|
||
- 客户信息管理(修改、删除)
|
||
- 车辆信息删除
|
||
- 历史记录删除
|
||
- BI任务
|
||
|
||
**OtherPluginModule** (`app/module/other_module.py`):
|
||
- 其他插件功能(如短信签名状态)
|
||
|
||
#### 3.2.4 任务处理层
|
||
|
||
**任务队列** (`app/utils/app_tools.py`):
|
||
- 使用 `Queue` 实现任务队列
|
||
- 后台线程处理任务
|
||
- 支持同步等待结果
|
||
|
||
**后台任务** (`app/tasks/`):
|
||
- `common.py`: 通用任务函数(更新简道云、工作流审批等)
|
||
- `brand_tasks.py`: 品牌相关任务
|
||
- `customer_tasks.py`: 客户相关任务
|
||
- `delete_tasks.py`: 删除相关任务
|
||
- `bi_tasks.py`: BI相关任务
|
||
|
||
#### 3.2.5 核心工具层
|
||
|
||
**模块注册表** (`app/core/module_registry.py`):
|
||
- 统一管理所有业务操作
|
||
- 支持操作查询和路由
|
||
- 存储操作元数据(描述、模块名等)
|
||
|
||
**应用工具** (`app/utils/app_tools.py`):
|
||
- 日志记录器配置(支持轮转)
|
||
- 任务队列管理
|
||
- 请求头解码工具
|
||
- 后台调度器
|
||
|
||
**简道云API封装** (`app/api/__init__.py`):
|
||
- 封装简道云所有API接口
|
||
- 支持失败重试机制
|
||
- 字段ID到标签名的替换
|
||
- 批量操作支持
|
||
|
||
### 3.3 数据流
|
||
|
||
#### 3.3.1 同步任务流程
|
||
|
||
```
|
||
简道云插件 → FastAPI路由 → 业务模块 → 任务队列 → 处理线程 → 返回结果 → 简道云插件
|
||
```
|
||
|
||
#### 3.3.2 后台任务流程
|
||
|
||
```
|
||
简道云插件 → FastAPI路由 → 业务模块 → 启动后台线程 → 立即返回
|
||
↓
|
||
后台任务执行
|
||
↓
|
||
更新简道云表单
|
||
↓
|
||
自动提交工作流
|
||
```
|
||
|
||
### 3.4 技术选型
|
||
|
||
| 技术 | 版本 | 用途 |
|
||
|------|------|------|
|
||
| FastAPI | 0.121.0 | Web框架 |
|
||
| Uvicorn | 0.38.0 | ASGI服务器 |
|
||
| Pydantic | - | 数据验证 |
|
||
| Requests | 2.32.5 | HTTP请求 |
|
||
| Pandas | 2.3.3 | Excel处理 |
|
||
| APScheduler | 3.11.1 | 任务调度 |
|
||
| Pillow | 12.0.0 | 图像处理 |
|
||
| Pytesseract | 0.3.13 | OCR识别 |
|
||
|
||
## 4. 部署运维
|
||
|
||
### 4.1 环境要求
|
||
|
||
- **操作系统**: Windows/Linux/macOS
|
||
- **Python版本**: 3.8+
|
||
- **内存**: 建议 2GB+
|
||
- **磁盘**: 根据文件存储需求,建议 10GB+
|
||
|
||
### 4.2 安装步骤
|
||
|
||
1. **克隆代码**:
|
||
```bash
|
||
git clone <repository_url>
|
||
cd fastapi_app
|
||
```
|
||
|
||
2. **安装依赖**:
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
3. **配置环境**:
|
||
- 编辑 `app/config.py`,配置 API Token
|
||
- 确保目录权限正确(logs、下载文件、模板文件)
|
||
|
||
4. **启动服务**:
|
||
```bash
|
||
python main.py
|
||
# 或
|
||
uvicorn main:app --host 0.0.0.0 --port 5003
|
||
```
|
||
|
||
### 4.3 生产环境部署
|
||
|
||
#### 4.3.1 使用 Gunicorn + Uvicorn Workers
|
||
|
||
```bash
|
||
pip install gunicorn
|
||
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:5003
|
||
```
|
||
|
||
#### 4.3.2 使用 systemd 管理服务(Linux)
|
||
|
||
创建服务文件 `/etc/systemd/system/fastapi-app.service`:
|
||
|
||
```ini
|
||
[Unit]
|
||
Description=简道云 FastAPI 服务
|
||
After=network.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=your_user
|
||
WorkingDirectory=/path/to/fastapi_app
|
||
Environment="PATH=/path/to/venv/bin"
|
||
ExecStart=/path/to/venv/bin/uvicorn main:app --host 0.0.0.0 --port 5003
|
||
Restart=always
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
启动服务:
|
||
```bash
|
||
sudo systemctl enable fastapi-app
|
||
sudo systemctl start fastapi-app
|
||
```
|
||
|
||
#### 4.3.3 使用 Nginx 反向代理
|
||
|
||
Nginx 配置示例:
|
||
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
server_name your_domain.com;
|
||
|
||
location / {
|
||
proxy_pass http://127.0.0.1:5003;
|
||
proxy_set_header Host $host;
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.4 监控和日志
|
||
|
||
#### 4.4.1 日志管理
|
||
|
||
- **日志位置**: `logs/简道云.log`
|
||
- **日志轮转**: 单文件最大 5MB,保留 5 个备份
|
||
- **日志级别**: INFO
|
||
- **日志格式**: `时间戳 级别:模块名:消息`
|
||
|
||
#### 4.4.2 健康检查
|
||
|
||
定期访问 `/health` 端点检查服务状态:
|
||
|
||
```bash
|
||
curl http://localhost:5003/health
|
||
```
|
||
|
||
#### 4.4.3 性能监控
|
||
|
||
建议使用以下工具监控服务性能:
|
||
- **APM工具**: New Relic、Datadog 等
|
||
- **日志分析**: ELK Stack、Loki 等
|
||
- **指标监控**: Prometheus + Grafana
|
||
|
||
### 4.5 备份和恢复
|
||
|
||
#### 4.5.1 数据备份
|
||
|
||
需要备份的内容:
|
||
- 配置文件 (`app/config.py`)
|
||
- 日志文件 (`logs/`)
|
||
- 下载的文件 (`下载文件/`)
|
||
- 模板文件 (`模板文件/`)
|
||
|
||
#### 4.5.2 恢复步骤
|
||
|
||
1. 恢复代码和配置文件
|
||
2. 恢复数据文件
|
||
3. 重新安装依赖
|
||
4. 重启服务
|
||
|
||
## 5. 安全说明
|
||
|
||
### 5.1 认证和授权
|
||
|
||
- **API Token**: 使用简道云 API Token 进行认证
|
||
- **F6系统**: 使用用户名密码登录,密码进行 MD5 加密
|
||
|
||
### 5.2 数据安全
|
||
|
||
- **敏感信息**: API Token 建议使用环境变量管理
|
||
- **密码处理**: 密码在传输前进行 MD5 加密
|
||
- **文件存储**: 上传的文件在处理完成后自动删除
|
||
|
||
### 5.3 网络安全
|
||
|
||
- **CORS配置**: 生产环境建议限制允许的来源
|
||
- **HTTPS**: 建议使用 HTTPS 加密传输
|
||
- **防火墙**: 限制服务端口访问
|
||
|
||
### 5.4 安全建议
|
||
|
||
1. 定期更新依赖包,修复安全漏洞
|
||
2. 使用强密码策略
|
||
3. 定期审查日志,发现异常访问
|
||
4. 限制文件上传大小和类型
|
||
5. 实施请求频率限制
|
||
|
||
## 6. 故障排查
|
||
|
||
### 6.1 常见问题
|
||
|
||
#### 问题1: 服务启动失败
|
||
|
||
**可能原因**:
|
||
- 端口被占用
|
||
- 依赖包未安装
|
||
- 配置文件错误
|
||
|
||
**解决方法**:
|
||
- 检查端口占用: `netstat -ano | findstr 5003`
|
||
- 重新安装依赖: `pip install -r requirements.txt`
|
||
- 检查配置文件格式
|
||
|
||
#### 问题2: 登录失败
|
||
|
||
**可能原因**:
|
||
- 用户名密码错误
|
||
- 公司名称不正确
|
||
- 验证码识别失败
|
||
- F6系统服务异常
|
||
|
||
**解决方法**:
|
||
- 验证用户名密码和公司名称
|
||
- 检查 Tesseract OCR 是否正确安装
|
||
- 查看日志获取详细错误信息
|
||
|
||
#### 问题3: 文件上传失败
|
||
|
||
**可能原因**:
|
||
- 文件格式不正确
|
||
- 文件路径不存在
|
||
- 磁盘空间不足
|
||
- 网络连接问题
|
||
|
||
**解决方法**:
|
||
- 检查文件格式是否符合要求
|
||
- 确保目录存在且有写权限
|
||
- 检查磁盘空间
|
||
- 查看网络连接状态
|
||
|
||
#### 问题4: 后台任务未执行
|
||
|
||
**可能原因**:
|
||
- 线程启动失败
|
||
- 任务执行异常
|
||
- 简道云API调用失败
|
||
|
||
**解决方法**:
|
||
- 查看日志中的错误信息
|
||
- 检查简道云API Token是否有效
|
||
- 验证任务数据格式是否正确
|
||
|
||
### 6.2 日志分析
|
||
|
||
查看日志文件:
|
||
```bash
|
||
tail -f logs/简道云.log
|
||
```
|
||
|
||
搜索错误:
|
||
```bash
|
||
grep -i error logs/简道云.log
|
||
```
|
||
|
||
### 6.3 性能优化
|
||
|
||
1. **并发处理**: 调整 Uvicorn workers 数量
|
||
2. **数据库连接池**: 如使用数据库,配置连接池
|
||
3. **缓存**: 对频繁访问的数据使用缓存
|
||
4. **异步处理**: 更多使用异步函数提高性能
|
||
|
||
## 7. 扩展开发
|
||
|
||
### 7.1 添加新功能模块
|
||
|
||
1. 在 `app/module/` 下创建新模块文件
|
||
2. 实现业务逻辑方法
|
||
3. 在 `main.py` 中注册模块和操作
|
||
4. 在 `app/schemas.py` 中添加数据模型(如需要)
|
||
|
||
### 7.2 添加新的API端点
|
||
|
||
1. 在 `app/api/routes.py` 中添加路由
|
||
2. 使用依赖注入获取所需服务
|
||
3. 实现业务逻辑
|
||
4. 返回响应
|
||
|
||
### 7.3 添加新的后台任务
|
||
|
||
1. 在 `app/tasks/` 下创建任务文件
|
||
2. 实现后台任务函数
|
||
3. 在业务模块中调用,启动线程
|
||
4. 使用 `update_jiandaoyun` 更新结果
|
||
5. 使用 `approve_workflow` 自动提交工作流
|
||
|
||
## 8. 附录
|
||
|
||
### 8.1 API接口清单
|
||
|
||
| 端点 | 方法 | 描述 |
|
||
|------|------|------|
|
||
| `/health` | GET | 健康检查 |
|
||
| `/webhook` | POST | 业务请求处理 |
|
||
|
||
### 8.2 操作类型清单
|
||
|
||
| 操作名 | 模块 | 类型 |
|
||
|--------|------|------|
|
||
| `login_in` | F6Module | 同步 |
|
||
| `get_company_information` | F6Module | 同步 |
|
||
| `get_store_information` | F6Module | 同步 |
|
||
| `keep_alive` | F6Module | 同步 |
|
||
| `check_file` | F6PluginModule | 同步 |
|
||
| `create_brand` | F6PluginModule | 后台 |
|
||
| `delete_history` | F6PluginModule | 后台 |
|
||
| `delete_customer` | F6PluginModule | 后台 |
|
||
| `delete_cars` | F6PluginModule | 后台 |
|
||
| `modify_customer_info` | F6PluginModule | 后台 |
|
||
| `bi_task` | F6PluginModule | 后台 |
|
||
| `sms_signature_status` | OtherPluginModule | 同步 |
|
||
|
||
### 8.3 配置文件说明
|
||
|
||
**app/config.py**:
|
||
- `BASE_DIR`: 项目根目录
|
||
- `SAVE_DIRECTORY`: 下载文件目录
|
||
- `MODE_DIRECTORY`: 模板文件目录
|
||
- `LOGS_DIRECTORY`: 日志目录
|
||
- `LOG_FILE`: 日志文件路径
|
||
- `JIANDAOYUN_API_TOKEN`: 简道云API Token
|
||
|
||
### 8.4 目录结构说明
|
||
|
||
- `logs/`: 日志文件存储
|
||
- `下载文件/`: 从简道云下载的文件临时存储
|
||
- `模板文件/`: 模板文件存储
|
||
- `app/`: 应用代码目录
|
||
- `app/api/`: API相关代码
|
||
- `app/core/`: 核心功能代码
|
||
- `app/module/`: 业务模块代码
|
||
- `app/tasks/`: 后台任务代码
|
||
- `app/utils/`: 工具类代码
|
||
|
||
---
|
||
|
||
**文档版本**: 2.0.0
|
||
**最后更新**: 2025年
|
||
**维护团队**: 数据组
|
||
|