66 lines
1.8 KiB
Python
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()
|