|
@@ -1,6 +1,6 @@
|
|
|
from fastapi import APIRouter, Request, Depends, HTTPException, Query
|
|
|
from sqlalchemy.exc import IntegrityError
|
|
|
-from fastapi.responses import HTMLResponse, FileResponse, StreamingResponse
|
|
|
+from fastapi.responses import HTMLResponse, FileResponse, StreamingResponse, RedirectResponse
|
|
|
from fastapi.responses import JSONResponse
|
|
|
from database import get_db
|
|
|
from sqlalchemy import text, exists, and_, or_, not_
|
|
@@ -27,14 +27,12 @@ router = APIRouter()
|
|
|
|
|
|
@router.get('/qrcode', response_class=StreamingResponse)
|
|
|
async def get_qrcode(
|
|
|
+ request: Request,
|
|
|
event_id: str,
|
|
|
db: Session = Depends(get_db)
|
|
|
):
|
|
|
- redirect_url = "{}/#/signPage?event_id={}".format(settings.YJXP_WEB_ROOT_PATH, event_id) # 业务页面
|
|
|
- logger.info("redirect_url: {}", redirect_url)
|
|
|
-
|
|
|
- # qrcode_str = f"http://19.155.220.209/api/event_management/event?event_id={event_id}"
|
|
|
- detail_url = YzyApi.format_redirect_url(redirect_url)
|
|
|
+ url = str(request.url)
|
|
|
+ url = url.replace("qrcode", "qrcode2")
|
|
|
|
|
|
qr = qrcode.QRCode(
|
|
|
version=1,
|
|
@@ -42,7 +40,7 @@ async def get_qrcode(
|
|
|
box_size=10,
|
|
|
border=0,
|
|
|
)
|
|
|
- qr.add_data(detail_url)
|
|
|
+ qr.add_data(url)
|
|
|
qr.make(fit=True)
|
|
|
image = qr.make_image()
|
|
|
|
|
@@ -51,6 +49,19 @@ async def get_qrcode(
|
|
|
img_data = buf.getvalue()
|
|
|
return StreamingResponse(BytesIO(img_data), media_type="image/png")
|
|
|
|
|
|
+@router.get('/qrcode2')
|
|
|
+async def get_qrcode2(
|
|
|
+ event_id: str,
|
|
|
+ db: Session = Depends(get_db)
|
|
|
+):
|
|
|
+ redirect_url = "{}/#/signPage?event_id={}".format(settings.YJXP_WEB_ROOT_PATH, event_id) # 业务页面
|
|
|
+ logger.info("redirect_url: {}", redirect_url)
|
|
|
+
|
|
|
+ # qrcode_str = f"http://19.155.220.209/api/event_management/event?event_id={event_id}"
|
|
|
+ detail_url = YzyApi.format_redirect_url(redirect_url)
|
|
|
+
|
|
|
+ return RedirectResponse(detail_url)
|
|
|
+
|
|
|
|
|
|
@router.post("/getInfo")
|
|
|
async def getInfo(
|