From 6685d806000490346ab0b367500cc5cd34125e74 Mon Sep 17 00:00:00 2001 From: Pine Date: Tue, 25 Aug 2026 14:15:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(compute):=20/opc/compute/base=20=E4=B8=8E?= =?UTF-8?q?=20tokens=20500=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - base: request.base_url 是 URL 对象无 rstrip, 改 str(...).rstrip - tokens: list_user_tokens 现返回列表, 兼容 list/dict - 修复 OPC 桌面端算力中心 Base API 地址与令牌列表 500(此前 500→前端空/失败) --- app/api/routers/rbac_opc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/api/routers/rbac_opc.py b/app/api/routers/rbac_opc.py index 6608644..cc322a7 100644 --- a/app/api/routers/rbac_opc.py +++ b/app/api/routers/rbac_opc.py @@ -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="创建算力令牌")