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()