init
This commit is contained in:
65
utils/wxcom/wx_com.py
Normal file
65
utils/wxcom/wx_com.py
Normal file
@@ -0,0 +1,65 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user