fix(compute): /opc/compute/base 与 tokens 500 修复

- base: request.base_url 是 URL 对象无 rstrip, 改 str(...).rstrip
- tokens: list_user_tokens 现返回列表, 兼容 list/dict
- 修复 OPC 桌面端算力中心 Base API 地址与令牌列表 500(此前 500→前端空/失败)
This commit is contained in:
Pine
2026-08-25 14:15:16 +08:00
parent 515735b772
commit 6685d80600
+3 -2
View File
@@ -223,7 +223,7 @@ async def opc_compute_base(
user: dict = Depends(require_roles("opc_member")),
):
"""用户接入地址:经 server-core /v1 中继(OpenAI 兼容)。优先用公网配置,回落请求 host。"""
base = config.COMPUTE_PUBLIC_BASE or request.base_url.rstrip("/")
base = config.COMPUTE_PUBLIC_BASE or str(request.base_url).rstrip("/")
base = base.rstrip("/")
return {
"base_url": f"{base}/v1",
@@ -251,7 +251,8 @@ async def opc_compute_tokens(user: dict = Depends(require_roles("opc_member"))):
data = await compute_client.list_user_tokens(user.get("username"))
except compute_client.ComputeError as exc:
raise HTTPException(status_code=502, detail=f"算力引擎对接失败: {exc}") from exc
return {"items": data.get("items", [])}
items = data if isinstance(data, list) else data.get("items", [])
return {"items": items}
@router.post("/compute/tokens", summary="创建算力令牌")