# -*- coding: utf-8 -*- """ SMS Send Module Init ===================== 按照 dagflow 模式: - load_smssend() 加载模块 - 将功能注册到 ServerEnv """ import asyncio from appPublic.log import info from ahserver.serverenv import ServerEnv from .smssend import ( SMSEngine, get_sms_engine ) _sms_engine_instance = None async def generate_sms_code(length: int = 6, expire_minutes: int = 5) -> str: engine = get_sms_engine() return await engine.generate_sms_code(length, expire_minutes) async def check_sms_code(code_id: str, vcode: str) -> bool: engine = get_sms_engine() return await engine.check_sms_code(code_id, vcode) async def send_vcode(phone: str, stype: str, vcode: dict) -> dict: engine = get_sms_engine() return await engine.send_vcode(phone, stype, vcode) async def send_sms(phone: str, stype: str) -> dict: engine = get_sms_engine() return await engine.send_sms(phone, stype) async def smsbacktask(engine, app): task = asyncio.create_task(asyncio.sleep(999999)) await asyncio.sleep(0.1) return task def load_smssend(): global _sms_engine_instance _sms_engine_instance = SMSEngine() info(f'SMS Send Module loaded, signature_id: {_sms_engine_instance.signature_id}') env = ServerEnv() env.sms_engine = _sms_engine_instance env.generate_sms_code = generate_sms_code env.check_sms_code = check_sms_code env.send_vcode = send_vcode env.send_sms = send_sms