import qrcode, logging, io
@router.get("/{android_id}/qrcode")
async def device_bind_qrcode(android_id: str):
try:
data = f"{android_id}"
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=20,
border=2,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
out = io.BytesIO()
img.save(out, "PNG")
logger.info(f"QR Code: {data}")
return Response(content=out.getvalue(), media_type="image/png")
except Exception as e:
logger.error(e)
return None