feat: 后台任务
This commit is contained in:
72
app.py
72
app.py
@@ -1,5 +1,5 @@
|
|||||||
from typing import Union
|
from typing import Union
|
||||||
from fastapi import FastAPI, Header
|
from fastapi import FastAPI, Header,BackgroundTasks
|
||||||
from urllib.parse import unquote
|
from urllib.parse import unquote
|
||||||
from flashSMS import sendFlash
|
from flashSMS import sendFlash
|
||||||
from tgMesaage import sendTg
|
from tgMesaage import sendTg
|
||||||
@@ -7,6 +7,7 @@ import re
|
|||||||
import pickle
|
import pickle
|
||||||
import os
|
import os
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
import asyncio
|
||||||
|
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
@@ -54,6 +55,35 @@ def findPhoneNum(text):
|
|||||||
return None
|
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("/")
|
@app.get("/")
|
||||||
# def read_root():
|
# def read_root():
|
||||||
# return {"Hello": "World"}
|
# return {"Hello": "World"}
|
||||||
@@ -68,51 +98,21 @@ def read_items(
|
|||||||
|
|
||||||
|
|
||||||
# 微信对话-用户输入
|
# 微信对话-用户输入
|
||||||
@app.get("/input")
|
@app.get("/input",)
|
||||||
async def getphonenum(
|
async def getphonenum(
|
||||||
inputArguments: Union[str, None] = None,
|
inputArguments: Union[str, None] = None,
|
||||||
appid: Union[str, None] = Header(default=None),
|
appid: Union[str, None] = Header(default=None),
|
||||||
bid: Union[str, None] = Header(default=None),
|
bid: Union[str, None] = Header(default=None),
|
||||||
requestid: Union[str, None] = Header(default=None),
|
requestid: Union[str, None] = Header(default=None),
|
||||||
uid: 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和手机号
|
# 存储uid和手机号
|
||||||
# return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid,'inputArguments':inputArguments}
|
# 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 = {"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"}
|
headers = {"Content-Type": "application/json"}
|
||||||
return JSONResponse(content=content, headers=headers)
|
return JSONResponse(content=content, headers=headers)
|
||||||
|
|||||||
Reference in New Issue
Block a user