# coding=utf-8 import os import time CAIHUI_DATABASE = { 'name': os.environ.get('DISH_DB_NAME', 'goods'), 'host': os.environ.get('CARC_CRAWLER_DB_HOST', '127.0.0.1'), 'port': int(os.environ.get('CARC_CRAWLER_DB_PORT', 3306)), 'user': os.environ.get('CARC_CRAWLER_DB_USER', 'root'), 'password': os.environ.get('CARC_CRAWLER_DB_PASSWORD', '123456'), } # SQLite 本地临时缓存(识别读此库;变更后从 MySQL 拉取刷新) DISH_SQLITE_PATH = os.environ.get( 'DISH_SQLITE_PATH', os.path.join(os.path.dirname(__file__), 'dish_templates.db'), ) # 本机基地编码(学菜写入 source_base_id;结果 API 的 base_id 默认也用它) # 建议填管理系统返回的 code,例如「上海路基地-1788059884828-e55vu」 DISH_BASE_CODE = os.environ.get('DISH_BASE_CODE', 'BASE_LOCAL_01') DISH_BASE_NAME = os.environ.get('DISH_BASE_NAME', '奥体基地') DISH_BASE_REGION = os.environ.get('DISH_BASE_REGION', '') # 管理系统:公开接口(X-API-Key) # 完整 Key 见 docs/第三方接口文档_mgmt.md(含 dish_ 前缀) DISH_MGMT_API_ORIGIN = os.environ.get( 'DISH_MGMT_API_ORIGIN', 'https://cpsb.ruimeida.cc', ).rstrip('/') DISH_MGMT_API_URL = os.environ.get( 'DISH_MGMT_API_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/bases', ) DISH_MGMT_RESULT_API_URL = os.environ.get( 'DISH_MGMT_RESULT_API_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/recognition-orders', ) DISH_MGMT_MEAL_API_URL = os.environ.get( 'DISH_MGMT_MEAL_API_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/meal-schedules/today', ) DISH_MGMT_DEVICE_STATUS_URL = os.environ.get( 'DISH_MGMT_DEVICE_STATUS_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/devices/status', ) DISH_MGMT_DISHES_API_URL = os.environ.get( 'DISH_MGMT_DISHES_API_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/dishes', ) DISH_MGMT_DISH_LEARNING_STATUS_URL = os.environ.get( 'DISH_MGMT_DISH_LEARNING_STATUS_URL', f'{DISH_MGMT_API_ORIGIN}/api/public/dishes/learning-status', ) DISH_MGMT_API_KEY = os.environ.get( 'DISH_MGMT_API_KEY', 'dish_a4f7a1287198179fdc6a6571aa14064c2afc6338c6730e2b668ac5be15bdf769', ) DISH_MGMT_API_TIMEOUT = float(os.environ.get('DISH_MGMT_API_TIMEOUT', '10')) DISH_MGMT_SYNC_ON_START = os.environ.get('DISH_MGMT_SYNC_ON_START', '1') == '1' DISH_MGMT_MEAL_ON_START = os.environ.get('DISH_MGMT_MEAL_ON_START', '1') == '1' # 本机设备(上报设备状态) DISH_DEVICE_CODE = os.environ.get('DISH_DEVICE_CODE', '') or os.environ.get('DISH_BASE_CODE', DISH_BASE_CODE) DISH_DEVICE_NAME = os.environ.get('DISH_DEVICE_NAME', '') or os.environ.get('DISH_BASE_NAME', DISH_BASE_NAME) DISH_DEVICE_STATUS_INTERVAL = int(os.environ.get('DISH_DEVICE_STATUS_INTERVAL', '60')) # 秒 DISH_DEVICE_STATUS_ENABLED = os.environ.get('DISH_DEVICE_STATUS_ENABLED', '1') == '1' # 启动时是否从 MySQL 拉取;后台定时同步间隔(秒,含上传队列 flush + 拉取) DISH_SYNC_ON_START = os.environ.get('DISH_SYNC_ON_START', '1') == '1' DISH_SYNC_INTERVAL = int(os.environ.get('DISH_SYNC_INTERVAL', 300)) # 默认 5 分钟 # 识别框是否显示「似xx 检xx」(默认关;需要时 set DISH_SHOW_BOX_SCORES=1) DISH_SHOW_BOX_SCORES = os.environ.get('DISH_SHOW_BOX_SCORES', '0') == '1' DEBUG = True LOG_DIR = os.path.join(os.getcwd(), f'log/{time.strftime("%Y-%m-%d")}.log') LOG_FORMAT = '{level: <8} {time:YYYY-MM-DD HH:mm:ss.SSS} - {name}:{function} - {message}'