Files
AIcreat/app/main.py
2026-04-01 14:21:10 +08:00

41 lines
1.2 KiB
Python

from __future__ import annotations
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from app.config import settings
from app.schemas import IMPublishRequest, RewriteRequest, WechatPublishRequest
from app.services.ai_rewriter import AIRewriter
from app.services.im import IMPublisher
from app.services.wechat import WechatPublisher
app = FastAPI(title=settings.app_name)
app.mount("/static", StaticFiles(directory="app/static"), name="static")
templates = Jinja2Templates(directory="app/templates")
rewriter = AIRewriter()
wechat = WechatPublisher()
im = IMPublisher()
@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "app_name": settings.app_name})
@app.post("/api/rewrite")
async def rewrite(req: RewriteRequest):
return rewriter.rewrite(req)
@app.post("/api/publish/wechat")
async def publish_wechat(req: WechatPublishRequest):
return await wechat.publish_draft(req)
@app.post("/api/publish/im")
async def publish_im(req: IMPublishRequest):
return await im.publish(req)