- 添加日报生成功能 (report_generator.py) - 添加 GUI 界面 (daily_report_gui.py) - 添加班次交接报告功能 (shift_report.py) - 集成飞书 API 获取排班信息 - 集成 Metabase 查询作业数据 - 生成 AGENTS.md 文档
58 lines
1.3 KiB
Markdown
58 lines
1.3 KiB
Markdown
# FEISHU 飞书模块
|
|
|
|
## 概述
|
|
|
|
飞书表格 API 集成,用于获取排班信息。支持自动 Token 刷新。
|
|
|
|
## 结构
|
|
|
|
```
|
|
feishu/
|
|
├── __init__.py # 统一导出
|
|
├── client.py # FeishuSheetsClient - HTTP客户端
|
|
├── manager.py # FeishuScheduleManager - 业务入口
|
|
└── parser.py # ScheduleDataParser - 表格解析
|
|
```
|
|
|
|
## 查找指南
|
|
|
|
| 任务 | 位置 |
|
|
|------|------|
|
|
| 修改API调用 | `client.py` |
|
|
| 获取排班信息 | `manager.py:get_schedule_for_date()` |
|
|
| 解析新表格格式 | `parser.py` |
|
|
|
|
## 使用方式
|
|
|
|
```python
|
|
from feishu import FeishuScheduleManager
|
|
|
|
manager = FeishuScheduleManager()
|
|
schedule = manager.get_schedule_for_date("2026-03-01")
|
|
# {'day_shift': '张三', 'night_shift': '李四', ...}
|
|
```
|
|
|
|
## 关键逻辑
|
|
|
|
### Token 管理 (client.py)
|
|
- 自动获取 `tenant_access_token`
|
|
- 提前30分钟刷新
|
|
- 备用: 环境变量 `FEISHU_TOKEN`
|
|
|
|
### 表格选择 (manager.py:93-148)
|
|
- 2026年优先使用年度表格
|
|
- 其他年份优先月度表格
|
|
- 降级使用第一个表格
|
|
|
|
### 表格解析 (parser.py)
|
|
- 月度表格: 第一行为表头,查找日期列
|
|
- 年度表格: 查找月份块,再查日期列
|
|
|
|
## 环境变量
|
|
|
|
```
|
|
FEISHU_BASE_URL=https://open.feishu.cn/open-apis/sheets/v3
|
|
FEISHU_APP_ID=cli_xxx
|
|
FEISHU_APP_SECRET=xxx
|
|
FEISHU_SPREADSHEET_TOKEN=xxx
|
|
``` |