Files
ancient_date_parser/client_app.py
T
2026-07-23 17:17:53 +08:00

49 lines
1.4 KiB
Python

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")