diff --git a/app.py b/app.py index d56f42d..0ccc47d 100644 --- a/app.py +++ b/app.py @@ -1,7 +1,7 @@ from typing import Union -from fastapi import FastAPI,Header +from fastapi import FastAPI, Header from urllib.parse import unquote -from flashSMS import sendFlash +from flashSMS import sendFlash from tgMesaage import sendTg import re import pickle @@ -13,33 +13,34 @@ app = FastAPI() # 判断uid是否存在 -def findUid(uiddata,phoneNum): - isFind=False - newDict={} - if(os.path.exists("data.txt")): +def findUid(uiddata, phoneNum): + isFind = False + newDict = {} + if os.path.exists("data.txt"): # print('文件存在') with open("data.txt", "rb") as f: - newDict=pickle.load(f) + newDict = pickle.load(f) if newDict[uiddata] is not None: - print('newDict[uid]',newDict[uiddata]) - isFind= True + print("newDict[uid]", newDict[uiddata]) + isFind = True else: newDict[uiddata] = phoneNum with open("data.txt", "wb") as f: pickle.dump(newDict, f) - isFind= False + isFind = False return isFind else: # print('文件不存在') - isFind= False + isFind = False newDict[uiddata] = phoneNum with open("data.txt", "wb") as f: - pickle.dump(newDict, f) + pickle.dump(newDict, f) return isFind - + # findUid('test','13243889782') + # 正则查找11位手机号 def findPhoneNum(text): pattern = re.compile(r"1[356789]\d{9}") @@ -47,50 +48,71 @@ def findPhoneNum(text): result = pattern.findall(text) print(result) # ['13987692110'] - if len(result)>0: + if len(result) > 0: return result[0] else: return None + @app.get("/") -#def read_root(): - # return {"Hello": "World"} -def read_items(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)): - print("console :,","appid", appid,"bid", bid,"requestid", requestid,"uid", uid) - return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid} +# def read_root(): +# return {"Hello": "World"} +def read_items( + 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), +): + print("console :,", "appid", appid, "bid", bid, "requestid", requestid, "uid", uid) + return {"appid": appid, "bid": bid, "requestid": requestid, "uid": uid} + # 微信对话-用户输入 @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)): - print('inputArguments',inputArguments) - # uid:唯一标识用户的openid - print("appid", appid,"bid",bid,"requestid", requestid,"uid", uid) +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), +): + print("inputArguments", inputArguments) + # uid:唯一标识用户的openid + print("appid", appid, "bid", bid, "requestid", requestid, "uid", uid) # uid='wxx' # 要处理url编码问题decode try: - inputArguments = unquote(inputArguments, 'utf-8') + inputArguments = unquote(inputArguments, "utf-8") except: - inputArguments='' + inputArguments = "" # 正则获取11位手机号 - phonenumber=findPhoneNum(inputArguments) - print('phonenumber',phonenumber) - # # phonenumber='13243889782' + phonenumber = findPhoneNum(inputArguments) + print("phonenumber", phonenumber) + # # phonenumber='13243889782' if phonenumber is not None and uid is not None: - warntext='[异度世界],微信加群验证码:3399' - sendTg(f'用户手机号{phonenumber},开始发送验证码') + warntext = "[异度世界],微信加群验证码:3399" + sendTg(f"用户手机号{phonenumber},开始发送验证码") # 判断用户uid是都触发过短信,不允许触发第2次 - if findUid(uid,phonenumber) is True: - print('用户uid已存在,不触发短信') - sendTg(f'用户{uid}已存在,不触发短信') + if findUid(uid, phonenumber) is True: + print("用户uid已存在,不触发短信") + sendTg(f"用户{uid}已存在,不触发短信") else: # 发送闪信 - sendFlash(phonenumber,warntext) + sendFlash(phonenumber, warntext) else: - sendTg(f'用户输入:{inputArguments},手机号不正确,或者uid参数异常') + sendTg(f"用户输入:{inputArguments},手机号不正确,或者uid参数异常") # 存储uid和手机号 # return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid,'inputArguments':inputArguments} - content = {"err_code": 0,"data_list": [{"outputArguments":'test'}]} - headers = { "Content-Type":"application/json"} + # 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)