c6206787da
项目结构: - backend/ Python FastAPI 后端 - uni-app/ uni-app跨端前端 - docs/ 设计文档 - docker-compose.yml Docker编排 - nginx/scripts/systemd 运维配置 已完成功能: - 用户认证 (JWT) - 智能翻译 + 回复建议 - 营销素材生成 - 客户管理 + 沉默检测 - 报价单管理 - 产品库管理 - 汇率换算 - 推送通知 (uni-push) - WhatsApp Webhook框架 - Celery定时任务
54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
class ExchangeRateResponse(BaseModel):
|
|
from_currency: str
|
|
to_currency: str
|
|
rate: float
|
|
updated_at: str
|
|
|
|
|
|
EXCHANGE_RATES = {
|
|
("USD", "CNY"): 7.24,
|
|
("EUR", "CNY"): 7.85,
|
|
("GBP", "CNY"): 9.15,
|
|
("CNY", "USD"): 0.138,
|
|
("USD", "EUR"): 0.92,
|
|
("EUR", "USD"): 1.09,
|
|
("GBP", "USD"): 1.27,
|
|
("USD", "GBP"): 0.79,
|
|
}
|
|
|
|
|
|
@router.get("/convert")
|
|
async def convert_currency(
|
|
from_currency: str = "USD",
|
|
to_currency: str = "CNY",
|
|
amount: float = 1.0,
|
|
):
|
|
rate = EXCHANGE_RATES.get((from_currency, to_currency), 1.0)
|
|
return {
|
|
"from_currency": from_currency,
|
|
"to_currency": to_currency,
|
|
"amount": amount,
|
|
"converted": round(amount * rate, 2),
|
|
"rate": rate,
|
|
"updated_at": "2026-05-08T00:00:00Z",
|
|
}
|
|
|
|
|
|
@router.get("/rates")
|
|
async def get_rates(base: str = "USD"):
|
|
rates = {}
|
|
for (from_curr, to_curr), rate in EXCHANGE_RATES.items():
|
|
if from_curr == base:
|
|
rates[to_curr] = rate
|
|
|
|
return {
|
|
"base": base,
|
|
"rates": rates,
|
|
"updated_at": "2026-05-08T00:00:00Z",
|
|
} |