feat: 后台任务

This commit is contained in:
eric
2023-05-04 17:05:20 +08:00
parent 77483804b1
commit e800579801

72
app.py
View File

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