# ===== 多环境 ===== # 通过 APP_ENV 环境变量选择配置文件: # 未设置 -> 读取 .env # APP_ENV=dev -> 读取 .env.dev # APP_ENV=prod -> 读取 .env.prod # 用法:复制本文件为 .env.dev / .env.prod,分别填写对应环境配置,启动时设置 APP_ENV # PowerShell: $env:APP_ENV="prod"; python -m uvicorn app.main:app ... # ===== 应用 ===== APP_NAME=后端服务框架 APP_VERSION=0.1.0 DEBUG=false # ===== 双库(源/目标)===== # SOURCE = 外部只读源库;TARGET = 本系统所有的目标库 # SQL Server 示例(需安装 ODBC Driver 17/18;自签证书时代码已自动加 TrustServerCertificate) SOURCE_DB_URL=mssql+pyodbc://user:password@127.0.0.1:1433/vat_db?driver=ODBC+Driver+18+for+SQL+Server TARGET_DB_URL=mssql+pyodbc://user:password@127.0.0.1:1433/rpa?driver=ODBC+Driver+18+for+SQL+Server # MySQL 示例 # SOURCE_DB_URL=mysql+pymysql://user:password@127.0.0.1:3306/db_source?charset=utf8mb4 # TARGET_DB_URL=mysql+pymysql://user:password@127.0.0.1:3306/db_target?charset=utf8mb4 # PostgreSQL 示例 # SOURCE_DB_URL=postgresql+psycopg://user:password@127.0.0.1:5432/db_source # TARGET_DB_URL=postgresql+psycopg://user:password@127.0.0.1:5432/db_target # 本地 SQLite 兜底:把上面两项留空,自动使用 data/source.db 与 data/target.db # SOURCE_DB_URL= # TARGET_DB_URL= # ===== 连接池 ===== DB_POOL_SIZE=5 DB_POOL_RECYCLE=1800 DB_ECHO=false # ===== 目录(默认按项目结构自动定位,通常无需修改)===== # DATA_DIR= # TEMPLATE_DIR= # OUTPUT_DIR= # LOG_DIR= # ===== CORS ===== CORS_ORIGINS=* # ===== 腾讯云 OCR ===== TENCENT_SECRET_ID= TENCENT_SECRET_KEY= TENCENT_REGION=ap-guangzhou # ===== 腾讯云 COS ===== COS_SECRET_ID= COS_SECRET_KEY= COS_REGION=ap-guangzhou COS_BUCKET= # 对象存储 key 前缀(如 vat_fix/nl_declar;留空则仅用文件名) COS_BASE_DIR=outputs # ===== PDF 转换后端 ===== # auto=先试 MS Office(COM) 失败回退 LibreOffice;msoffice=仅 COM;libreoffice=仅 LibreOffice-(auto / msoffice / libreoffice) # PDF_CONVERTER=auto # LibreOffice 可执行文件:已在 PATH 填 soffice,否则填绝对路径 # SOFFICE_PATH=soffice # 占位符→字体映射:形如 "法人签名=Animal Chariot",多个用英文逗号分隔(可扩展;需机器已安装对应字体) # PLACEHOLDER_FONTS=法人签名=Animal Chariot # 中文字体兜底:上面的字体只作用于西文字符,中文用此字体(如华文行楷) # EAST_ASIA_FONT=华文行楷 # ===== 定时 job ===== # 有记录时轮询间隔秒数(默认 60 = 1 分钟) JOB_POLL_SECONDS=60 # 查询结果为空时休眠秒数(默认 600 = 10 分钟) JOB_EMPTY_SLEEP_SECONDS=600