33 lines
948 B
Python
33 lines
948 B
Python
import base64
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from config.app import F8_SERVER_USER_ID
|
|
from models.BaseResponse import BaseResponse
|
|
from models.F8ImageRequestV2 import F8ImageRequestV2
|
|
from service.vision import process_ticket_image
|
|
from utils import MyUtils
|
|
|
|
publicRouter = APIRouter()
|
|
|
|
|
|
@publicRouter.post("/recognize-cocoon-metrics")
|
|
async def cocoonTicket(data: F8ImageRequestV2):
|
|
input_data = data.image
|
|
if "," in input_data:
|
|
input_data = input_data.split(",")[1]
|
|
try:
|
|
img_bytes = base64.b64decode(input_data)
|
|
json_data = await MyUtils.async_task(
|
|
process_ticket_image,
|
|
2,
|
|
data.needBarcode,
|
|
img_bytes,
|
|
f"{data.title}.jpg",
|
|
data.title,
|
|
F8_SERVER_USER_ID,
|
|
)
|
|
return BaseResponse(data=json_data)
|
|
except Exception as e:
|
|
return BaseResponse(status=False, message=f"解析失败: {str(e)}", data=None)
|