配置体系¶
1. 配置加载机制¶
关键文件:
src/certflow/config/loader.py— 加载器,支持!include指令src/certflow/config/settings.py— 全局配置访问入口src/certflow/config/models.py— pydantic 配置模型定义src/certflow/config/paths_override.py— 本地路径覆盖(paths.local.yaml)
加载顺序:
读取
config/config.yaml(索引文件)解析
!include拼接所有子配置展开环境变量占位符
${ENV_VAR}或${ENV_VAR:default}校验为 pydantic 模型实例
paths.local.yaml(若存在)覆盖paths.yaml
访问方式:
from certflow.config.settings import cfg
value = cfg("import.create_placeholder_dirs", False)
2. 配置文件速查¶
文件 |
用途 |
状态 |
|---|---|---|
|
索引文件,!include 拼接 |
✅ |
|
路径配置(销售计划/输出/模板/日志) |
✅ |
|
本地覆盖模板(复制为 |
✅ |
|
UI 布局、action、导航按钮 |
✅ |
|
字典表 |
✅ |
|
销售计划字段定义 |
✅ |
|
订单分组规则 |
✅ |
|
合格证模板字段 |
✅ |
|
编号规则( |
✅ |
|
导入参数(含 |
✅ |
|
数据库连接 |
✅ |
|
日志配置 |
✅ |
|
UI 颜色主题 |
✅ |
|
导出参数 |
✅ |
|
字段校验规则 |
✅ |
|
销售计划导入器详细参数 |
✅ |
|
试压报告配置 |
✅ |
|
打印机配置 |
✅ |
|
打印参数 |
✅ |
|
输出目录与命名 |
✅ |
|
VBA 字段映射 |
✅ |
|
已完成订单回填 |
✅ |
|
生产状态定义(驱动 |
✅ |
|
WebDAV 同步 |
✅ |
|
校正队列规则 |
✅ |
|
报告模板与命名 |
✅ |
|
材质牌号别名 |
✅ |
|
英制单位规则 |
✅ |
|
查询字段定义 |
✅ |
|
设置界面布局 |
✅ |
|
用户配置(运行时持久化) |
✅ |
|
用户界面状态 |
✅ |
|
表格列定义 |
✅ |
3. 关键配置项详解¶
3.1 编号规则(numbering.yaml)¶
# 编号格式模板,支持占位符 {prefix}、{date}、{seq}
format_template: "{prefix}{date}{seq}"
影响代码:services/cert_numbering.py、cert_numbering_policy.py、models/auto_number.py
3.2 导入占位目录(import.yaml)¶
create_placeholder_dirs: false # B0-4,默认 OFF
# True:导入期按订单组预建 VBA 风格占位项目文件夹
影响代码:config/models.py:ImportPlaceholderConfig(L1222-1239)
3.3 生产状态(production_status.yaml)¶
驱动 actions/registry.py 中的 set_status_* 动态 action。状态值在此文件定义后,UI 右键菜单自动生成对应选项。
3.4 报告命名(report.yaml)¶
# 文件名占位符见 ReportOutputService._build_filename
影响代码:services/report_output_service.py
3.5 路径配置(paths.yaml)¶
支持 ${ENV_VAR} 与 ${ENV_VAR:default}:
sales_plan_path: "${VALVE_SALES_PLAN_PATH}"
output_dir: "${CERTFLOW_OUTPUT_DIR:./output}"
本地覆盖:复制 paths.local.yaml.example 为 paths.local.yaml,无需修改版本管理的 paths.yaml。
4. 环境变量(.env)¶
变量 |
用途 |
默认 |
|---|---|---|
|
销售计划 Excel 路径 |
无 |
|
坚果云 WebDAV 用户 |
无 |
|
坚果云 WebDAV 密码 |
无 |
|
调试模式 |
false |
|
播种明细日志 |
跟随 VALVE_DEBUG |
|
数据库路径覆盖 |
database/debug/certflow-debug.db |
|
启动时重置调试库 |
0 |
|
环境标识(testing/production) |
production |
5. 修改配置生效条件¶
修改类型 |
是否需重启 |
说明 |
|---|---|---|
|
是 |
启动时加载一次 |
|
是 |
start.sh 阶段0.8 读取 |
|
是 |
同 yaml |
|
否(运行时持久化) |
设置界面修改即生效 |
|
否(每次打印/报告读取) |
修改模板立即生效 |