fastAPI/huaweitest.py

90 lines
2.1 KiB
Python

from fastapi import FastAPI, Query, Request
from datetime import datetime
app = FastAPI()
@app.get("/")
async def root():
return "welcome to fastAPI!"
@app.get("/script/getscriparam")
async def getscriparam():
data = {
"interaction": {
"from": 20,
"to": 30
},
"bounceRate": {
"from": 0.3,
"to": 0.4
},
"ctr": {
"from": 0.03,
"to": 0.05
},
"pagesToViewPerSession": {
"from": 2,
"to": 3
},
"sessionsPerUser": {
"from": 2,
"to": 3
}
}
return data
@app.get("/script/success")
async def do_success(request: Request):
# 获取当前时间
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 获取请求者的IP地址
client_host = request.client.host
# 打印上报成功的时间和IP地址
print(f"上报成功时间: {current_time}, IP地址: {client_host}")
data = {}
return {
"code": 0,
"msg": "ok",
"data": data
}
@app.get("/script/failed")
async def do_failed(reason: str = None):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
# 假设这里记录失败原因到日志或数据库
print(f"上报失败,Time: {formatted_now}, 失败原因: {reason}") # 实际应用中应使用更专业的日志记录方式
return {
"code": 0,
"msg": "ok",
"data": {}
}
@app.get("/report/chrome/crash")
async def report_chrome_crash(id: str, timestamp: str = Query(None)):
# 获取当前时间
now = datetime.now()
# 格式化时间为 年-月-日 时:分:秒 的格式
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
# 假设这里记录失败原因到日志或数据库
print(f"Time: {formatted_now}, ID: {id}, 时间戳: {timestamp}") # 实际应用中应使用更专业的日志记录方式
return {
"code": 0,
"msg": "ok",
"data": {}
}