VWED_server/config/tf_api_config.py

99 lines
3.4 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
系统内部服务API配置
用于配置与系统内部服务通信的相关参数
"""
import os
from typing import Dict, Any, Optional, List
# 天系统内部服务API端点配置
tf_api_endpoints = {
"login": "/sys/ext/login",
"create_task": "/task",
"choose_amr": "/taskBlock",
"add_action": "/taskBlockAction",
"closure_task": "/taskBlock/{}/closure",
"get_task_block": "/taskBlock/{id}",
"get_task_block_action": "/taskBlockAction/{id}",
"set_task_in_progress": "/task/vwedtask/{id}/inprogress",
"set_task_completed": "/task/vwedtask/{id}/completed",
"set_task_terminated": "/task/vwedtask/{id}/terminated",
"set_task_failed": "/task/vwedtask/{id}/failed",
"set_task_description": "/task/vwedtask/{id}/description",
"get_amr_info": "/task/vwedtask/getAmrInfo"
}
# 系统内部服务API HTTP方法配置
tf_api_methods = {
"login": "POST",
"create_task": "POST",
"choose_amr": "POST",
"add_action": "POST",
"closure_task": "PUT",
"get_task_block": "GET",
"get_task_block_action": "GET",
"set_task_in_progress": "PUT",
"set_task_completed": "PUT",
"set_task_terminated": "PUT",
"set_task_failed": "PUT",
"set_task_description": "PUT",
"get_amr_info": "GET"
}
# 外部任务类型对应的优先级
TASK_TYPE_PRIORITY={
"GT": "6", # 缸体
"GG": "5", # 缸盖
"QZ": "4", # 曲轴
"ZG": "3",#
"PHZ": "2",
"LG": "1",
"OR": "1"
}
# 外部任务对应所属库区
TASK_TYPE_AREA={
"GT": "ZK/ZKG",
"GG": "ZK/ZKG",
"QZ": "KW",
"ZG": "ZK/ZKG",
"PHZ": "AGW/PL",
"LG": "AGW/PL"
}
# 从环境变量读取配置,或使用默认值
TF_API_BASE_URL = os.getenv("TF_API_BASE_URL", "http://192.168.189.206:8080/jeecg-boot")
# TF_API_BASE_URL = os.getenv("TF_API_BASE_URL", "http://111.231.146.230:4080/jeecg-boot")
TF_API_TIMEOUT = int(os.getenv("TF_API_TIMEOUT", "10")) # 减少超时时间从60秒到10秒
TF_API_RETRY_TIMES = int(os.getenv("TF_API_RETRY_TIMES", "3"))
TF_API_MOCK_MODE = False
TF_API_TOKEN_HEADER = os.getenv("TF_API_TOKEN_HEADER", "X-Access-Token") # token请求头名称
TF_API_TOKEN = os.getenv("TF_API_TOKEN", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NDk3NzY1MzEsInVzZXJuYW1lIjoiYWRtaW4ifQ.uRLHZuRQTrR2fHyA-dMzP46yXAa5wdjfdUcmr9PNY4g")
TF_WEB_POST = os.getenv("TF_WEB_POST", "false").lower() == "true" # 是否过账,从环境变量读取
sync_disabled_label = "sync_disabled" # 是否限制接口调用的变量名
# MQTT服务配置
MQTT_CONFIG = {
"host": os.getenv("MQTT_HOST", "192.168.189.97"),
"port": int(os.getenv("MQTT_PORT", "1883")),
"username": os.getenv("MQTT_USERNAME", ""),
"password": os.getenv("MQTT_PASSWORD", ""),
"keepalive": int(os.getenv("MQTT_KEEPALIVE", "60")),
"reconnect_delay": int(os.getenv("MQTT_RECONNECT_DELAY", "5")),
"max_retries": int(os.getenv("MQTT_MAX_RETRIES", "3"))
}
# 外部接口叫料模板id
CM_ID = os.getenv("CM_ID", "571985c1-cfa5-4186-8acd-6e3868a5e08c")
# 送货模板id
DG_ID = os.getenv("DG_ID", "e22cacb4-a580-45ba-949e-356f57fa1a43")
def get_tf_api_config() -> Dict[str, Any]:
"""获取天风系统API配置"""
return {
"base_url": TF_API_BASE_URL,
"timeout": TF_API_TIMEOUT,
"retry_times": TF_API_RETRY_TIMES,
"mock_mode": TF_API_MOCK_MODE,
"endpoints": tf_api_endpoints,
"methods": tf_api_methods,
"token_header": TF_API_TOKEN_HEADER
}