31 lines
886 B
Python
31 lines
886 B
Python
import base64
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from config.app import F8_SERVER_USER_ID
|
|
from models.BaseResponse import BaseResponse
|
|
from models.F8ImageRequest import F8ImageRequest
|
|
from service.vision import process_ticket_image
|
|
from utils import MyUtils
|
|
|
|
f8Router = APIRouter()
|
|
|
|
|
|
@f8Router.post("/createTicketImageTask")
|
|
async def cocoonTicket(data: F8ImageRequest):
|
|
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,
|
|
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)
|