diff --git a/app.py b/app.py index 8c3268e..ed5e33e 100644 --- a/app.py +++ b/app.py @@ -1,5 +1,5 @@ from typing import Union -from fastapi import FastAPI, Header +from fastapi import FastAPI, Header,BackgroundTasks from urllib.parse import unquote from flashSMS import sendFlash from tgMesaage import sendTg @@ -7,6 +7,7 @@ import re import pickle import os from fastapi.responses import JSONResponse +import asyncio app = FastAPI() @@ -54,6 +55,35 @@ def findPhoneNum(text): return None +def resData(inputArguments,uid): + print("inputArguments", inputArguments) + # uid:唯一标识用户的openid + # print("appid", appid, "bid", bid, "requestid", requestid, "uid", uid) + # uid='wxx' + # 要处理url编码问题decode + try: + inputArguments = unquote(inputArguments, "utf-8") + except: + inputArguments = "" + # 正则获取11位手机号 + phonenumber = findPhoneNum(inputArguments) + print("phonenumber", phonenumber) + # # phonenumber='13243889782' + if phonenumber is not None and uid is not None: + warntext = "[异度世界],微信加群验证码:3399" + # sendTg(f"用户手机号{phonenumber},开始发送验证码") + # 判断用户uid是都触发过短信,不允许触发第2次 + if findUid(uid, phonenumber) is True: + print("用户uid已存在,不触发短信") + # sendTg(f"用户{uid}已存在,不触发短信") + else: + # 发送闪信 + sendFlash(phonenumber, warntext) + else: + print(f"用户输入:{inputArguments},手机号不正确,或者uid参数异常") + # sendTg(f"用户输入:{inputArguments},手机号不正确,或者uid参数异常") + + @app.get("/") # def read_root(): # return {"Hello": "World"} @@ -68,51 +98,21 @@ def read_items( # 微信对话-用户输入 -@app.get("/input") +@app.get("/input",) async def getphonenum( inputArguments: Union[str, None] = None, appid: Union[str, None] = Header(default=None), bid: Union[str, None] = Header(default=None), requestid: Union[str, None] = Header(default=None), uid: Union[str, None] = Header(default=None), + bt: BackgroundTasks ): - print("inputArguments", inputArguments) - # uid:唯一标识用户的openid - print("appid", appid, "bid", bid, "requestid", requestid, "uid", uid) - # uid='wxx' - # 要处理url编码问题decode - try: - inputArguments = unquote(inputArguments, "utf-8") - except: - inputArguments = "" - # 正则获取11位手机号 - phonenumber = findPhoneNum(inputArguments) - print("phonenumber", phonenumber) - # # phonenumber='13243889782' - if phonenumber is not None and uid is not None: - warntext = "[异度世界],微信加群验证码:3399" - sendTg(f"用户手机号{phonenumber},开始发送验证码") - # 判断用户uid是都触发过短信,不允许触发第2次 - if findUid(uid, phonenumber) is True: - print("用户uid已存在,不触发短信") - sendTg(f"用户{uid}已存在,不触发短信") - else: - # 发送闪信 - sendFlash(phonenumber, warntext) - - else: - sendTg(f"用户输入:{inputArguments},手机号不正确,或者uid参数异常") # 存储uid和手机号 # return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid,'inputArguments':inputArguments} + + # 后台任务 + bt.add_task(resData.inputArguments,uid) content = {"err_code": 0,"data_list": [{"outputArguments":'test'}]} - # content = { - # "ans_node_name": "小微闲聊", - # "title": "小薇兄你好", - # "answer": "你好呀!", - # "from_user_name": "o9U-85tEZToQxIF8ht6o-KkagxO0", - # "status": "FAQ", - # "to_user_name": "xalsjfasf1ljasjdf1", - # } headers = {"Content-Type": "application/json"} return JSONResponse(content=content, headers=headers)