api_get_word.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. from fastapi import FastAPI, Form, HTTPException, Request,status,APIRouter,Query,Path
  3. from fastapi.responses import FileResponse,PlainTextResponse
  4. from tools.loglog import logger
  5. from tools.audio import GetAudio
  6. from core.respone_format import *
  7. import traceback
  8. from make_docx_demo.main_word_applet import start_make_word as s2
  9. router = APIRouter()
  10. """
  11. @router.post("/make_word")
  12. def make_word(json_data:dict,request:Request,
  13. document_format:int=Query(1,description="1:docx;2.pdf"),
  14. scanpage_format:int=Query(1,description="1:老版筛查表;2.新版筛查表;3.老版+新版筛查表")):
  15. real_ip = request.headers.get("X-Real-IP")
  16. logger.info(f"收到生成word请求:客户ip:{real_ip},查询参数:document_format {document_format},scanpage_format {scanpage_format},参数:{json_data}")
  17. headers = {"Content-Type": "application/octet-stream"}
  18. if path := start_make_word(json_data, document_format, scanpage_format):
  19. return FileResponse(path=path,headers=headers, media_type='application/octet-stream')
  20. else:
  21. return PlainTextResponse(status_code=500,content="服务器内部错误")
  22. """
  23. @router.post("/make_word/vocabulary_assault")
  24. def make_word(json_data:dict,request:Request,
  25. document_format:int=Query(1,description="1:docx;2.pdf"),
  26. scanpage_format:int=Query(1,description="1:老版筛查表;2.新版筛查表;3.老版+新版筛查表")):
  27. headers = {"Content-Type": "application/octet-stream"}
  28. if path := s2(json_data, document_format, scanpage_format):
  29. return FileResponse(path=path,headers=headers, media_type='application/octet-stream')
  30. else:
  31. return PlainTextResponse(status_code=500,content="服务器内部错误")