import json from fastapi import FastAPI, HTTPException, Header, Form, Request from fastapi.responses import JSONResponse from fastapi.middleware.cors import CORSMiddleware from loguru import logger from parser import * app = FastAPI() # 添加 CORS 支持 app.add_middleware( CORSMiddleware, allow_origins=["*"], # 可以改成你的前端域名,例如 ["https://yourdomain.com"] allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.post("/convert/start") async def convert_str( request: Request, content: str = Form(...), # ✅ 改为接收 x-www-form-urlencoded 参数 Authorization: str = Header(None) ): """ 带调试信息的转换接口 (支持 x-www-form-urlencoded) """ if Authorization != "3FFA6A4B073CF065969630692331A873": raise HTTPException(status_code=403, detail="未授权的操作") try: res = convert_text(content) logger.info(f"转换结果: {json.dumps(res, ensure_ascii=False, indent=2)}") return JSONResponse(content={"code": 0, "result": res}) except Exception as e: logger.error(f"转换异常: {str(e)}") return JSONResponse( content={"code": 500, "result": f"转换服务异常: {str(e)}"}, status_code=500 ) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=16661, log_level="info")