Files
wecom-wnzs-adapter/utils/wxcom/wx_com.py
2026-01-14 17:58:25 +08:00

66 lines
1.8 KiB
Python

from uvicorn.server import logger
from wecom_sdk import Wecom
from utils.wxcom.modules.contact import WecomContactClient
from config import setting
from .WXBizMsgCrypt3 import WXBizMsgCrypt
class WecomPro(Wecom , WecomContactClient):
pass
def get_wxcpt():
"""
初始化并返回 WXBizMsgCrypt 实例
:param setting_env: 配置环境对象,包含企业微信相关配置
:return: WXBizMsgCrypt 实例
"""
try:
# 验证企业微信配置是否完整
required_configs = [
setting.env.WECOM_APP_TOKEN,
setting.env.WECOM_APP_ENCODING_AES_KEY,
setting.env.WECOM_CORPID
]
if not all(required_configs):
raise ValueError("企业微信配置不完整")
return WXBizMsgCrypt(
setting.env.WECOM_APP_TOKEN, # 设置的Token
setting.env.WECOM_APP_ENCODING_AES_KEY, # 设置密钥
setting.env.WECOM_CORPID # 企业ID
)
except Exception as e:
logger.error(f"初始化WXBizMsgCrypt失败: {str(e)}")
raise
def get_wecom_service():
"""
初始化并返回 Wecom 服务实例
:param setting_env: 配置环境对象,包含企业微信相关配置
:return: Wecom 服务实例
"""
try:
# 验证企业微信配置是否完整
required_configs = [
setting.env.WECOM_CORPID,
setting.env.WECOM_CORPSECRET
]
if not all(required_configs):
raise ValueError("企业微信配置不完整")
return WecomPro(
corpid=setting.env.WECOM_CORPID,
corpsecret=setting.env.WECOM_CORPSECRET
)
except Exception as e:
logger.error(f"初始化Wecom服务失败: {str(e)}")
raise
wecom_service = get_wecom_service()
wxcpt = get_wxcpt()