2026-07-08 22:58:25 +08:00
|
|
|
|
"""企业微信渠道插件共享常量。
|
|
|
|
|
|
|
|
|
|
|
|
集中定义在多个模块间共享的配置默认值、依赖标识与渠道标识,避免重复
|
|
|
|
|
|
定义导致的不一致风险。
|
|
|
|
|
|
|
|
|
|
|
|
仅汇集真正跨模块共享的常量;仅单一模块使用的常量仍保留在各自模块内。
|
|
|
|
|
|
所有常量值需与 ``manifest.json`` 中 ``config_schema`` 的 ``default`` 字段
|
|
|
|
|
|
及 ``resource_quota`` 保持一致(F-03 manifest 单真相源),本模块的常量
|
|
|
|
|
|
作为 ConfigPort 未命中时的本地回退默认值。
|
|
|
|
|
|
|
|
|
|
|
|
依赖方向:仅标准库,不 import 任何框架层或同插件模块,避免循环依赖。
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
# 渠道与依赖标识
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
# 渠道标识,用于 ConfigPort CHANNEL 作用域 target(与 manifest.json
|
|
|
|
|
|
# channel_type / provides 对齐)
|
|
|
|
|
|
CHANNEL_TARGET = "wecom"
|
|
|
|
|
|
|
|
|
|
|
|
# 企业微信 API 依赖标识,统一用于 ``DependencyError.dep`` 字段
|
|
|
|
|
|
WECOM_API_DEP = "wecom_api"
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
# HTTP 客户端配置(lifecycle 与 wecom_client 共享)
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
# HTTP 客户端默认超时(秒),对齐 manifest.json config_schema
|
|
|
|
|
|
# request_timeout_ms.default=30000
|
|
|
|
|
|
HTTP_TIMEOUT_SECONDS = 30.0
|
|
|
|
|
|
|
|
|
|
|
|
# HTTP 连接池最大连接数,对齐 manifest.json
|
|
|
|
|
|
# resource_quota.max_connections=50
|
|
|
|
|
|
HTTP_MAX_CONNECTIONS = 50
|
|
|
|
|
|
|
|
|
|
|
|
# HTTP 连接池 keepalive 连接数上限
|
|
|
|
|
|
HTTP_MAX_KEEPALIVE_CONNECTIONS = 10
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
# Token 缓存与刷新
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
# token 提前刷新时间(秒),企业微信 access_token 有效期 7200s
|
|
|
|
|
|
TOKEN_REFRESH_LEAD_TIME_SEC = 60
|
|
|
|
|
|
|
|
|
|
|
|
# 企业微信 token 缓存默认 TTL(秒)
|
|
|
|
|
|
TOKEN_CACHE_TTL_SEC = 7200
|
|
|
|
|
|
|
|
|
|
|
|
# 流式会话缓存 key 前缀(与 streaming_adapter._streaming_key / _buf_key 对齐)
|
|
|
|
|
|
STREAMING_CACHE_KEY_PREFIX = "wecom:streaming:"
|
|
|
|
|
|
# 流式缓冲区缓存 key 前缀(与 streaming_adapter._buf_key 对齐)
|
|
|
|
|
|
STREAMING_BUF_CACHE_KEY_PREFIX = "wecom:streaming:buf:"
|
|
|
|
|
|
|
|
|
|
|
|
# 身份解析缓存 TTL(秒),契约规定 60s
|
|
|
|
|
|
IDENTITY_CACHE_TTL_SEC = 60
|
|
|
|
|
|
|
|
|
|
|
|
# 用户信息缓存 TTL(秒),保守 30 分钟
|
|
|
|
|
|
USER_CACHE_TTL_SEC = 1800
|
|
|
|
|
|
|
|
|
|
|
|
# 模板卡片 response_code 缓存 TTL(秒),72 小时
|
|
|
|
|
|
RESPONSE_CODE_CACHE_TTL_SEC = 72 * 3600
|
|
|
|
|
|
|
|
|
|
|
|
# 消息反向映射缓存 TTL(秒),1 天
|
|
|
|
|
|
MSG_CACHE_TTL_SEC = 86400
|
|
|
|
|
|
|
2026-07-09 04:20:26 +08:00
|
|
|
|
# 客服 open_kfid 映射缓存 TTL(秒),1 天(对齐 MSG_CACHE_TTL_SEC,
|
|
|
|
|
|
# 覆盖客服会话生命周期,确保出站回复能反查到 open_kfid)
|
|
|
|
|
|
KF_OPEN_KFID_CACHE_TTL_SEC = 86400
|
|
|
|
|
|
|
2026-07-08 22:58:25 +08:00
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
# 企业微信 API 常量
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
# 企业微信回调 Webhook 超时(秒),5 秒内必须响应
|
|
|
|
|
|
WEBHOOK_TIMEOUT_SEC = 5
|
|
|
|
|
|
|
|
|
|
|
|
# 消息重复检查默认间隔(秒)
|
|
|
|
|
|
DUPLICATE_CHECK_INTERVAL_SEC = 1800
|
|
|
|
|
|
|
|
|
|
|
|
# 模板卡片 response_code 有效期(小时),72 小时
|
|
|
|
|
|
RESPONSE_CODE_VALID_HOURS = 72
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__all__ = [
|
|
|
|
|
|
"CHANNEL_TARGET",
|
|
|
|
|
|
"WECOM_API_DEP",
|
|
|
|
|
|
"HTTP_TIMEOUT_SECONDS",
|
|
|
|
|
|
"HTTP_MAX_CONNECTIONS",
|
|
|
|
|
|
"HTTP_MAX_KEEPALIVE_CONNECTIONS",
|
|
|
|
|
|
"TOKEN_REFRESH_LEAD_TIME_SEC",
|
|
|
|
|
|
"TOKEN_CACHE_TTL_SEC",
|
|
|
|
|
|
"STREAMING_CACHE_KEY_PREFIX",
|
|
|
|
|
|
"STREAMING_BUF_CACHE_KEY_PREFIX",
|
|
|
|
|
|
"IDENTITY_CACHE_TTL_SEC",
|
|
|
|
|
|
"USER_CACHE_TTL_SEC",
|
|
|
|
|
|
"RESPONSE_CODE_CACHE_TTL_SEC",
|
|
|
|
|
|
"MSG_CACHE_TTL_SEC",
|
2026-07-09 04:20:26 +08:00
|
|
|
|
"KF_OPEN_KFID_CACHE_TTL_SEC",
|
2026-07-08 22:58:25 +08:00
|
|
|
|
"WEBHOOK_TIMEOUT_SEC",
|
|
|
|
|
|
"DUPLICATE_CHECK_INTERVAL_SEC",
|
|
|
|
|
|
"RESPONSE_CODE_VALID_HOURS",
|
|
|
|
|
|
]
|