From 8fa2bfc3edf6e20961ecce58253b7bde4ea827b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 24 Sep 2026 21:06:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E8=A7=86=E5=9B=BE=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E7=9A=84=E6=B3=A8=E9=87=8A=E6=94=B9=E6=88=90?= =?UTF-8?q?=20TODO=EF=BC=9A=E6=8E=A5=E7=BA=BF=E6=97=B6=E5=BF=85=E9=A1=BB?= =?UTF-8?q?=E8=A1=A5=E5=9C=B0=E5=9D=80=E6=A0=A1=E9=AA=8C=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=88=A0=E6=8E=89=E5=BC=95=E9=94=99=E7=9A=84=20ADR=20=E4=BE=9D?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - platform-tripo:`view_value` 的说明不再引用 ADR 0001(那份 ADR 里没有这条约定),改成 `TODO(multiview-url-validation)`,写明当前只有冒烟示例与接口测试能构造 `Url` 形态、api-server 没有现役入口,以及真正接线时必须在构造侧补协议 / 账号密码 / 内网主机校验 - 同时点明 image-to-model 的 `PublicUrl` 是同一处待办 --- .../platform-tripo/src/multiview_to_model/client.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server-rs/crates/platform-tripo/src/multiview_to_model/client.rs b/server-rs/crates/platform-tripo/src/multiview_to_model/client.rs index 4a0557481..41d2ffd85 100644 --- a/server-rs/crates/platform-tripo/src/multiview_to_model/client.rs +++ b/server-rs/crates/platform-tripo/src/multiview_to_model/client.rs @@ -83,8 +83,14 @@ fn view_inputs_wire(inputs: &Model3dMultiviewInputs) -> Result, Tripo /// 单个视图的显式取值:URL 与 file_token 各自一种形态,不合并成裸字符串。 /// -/// 只做非空白校验,不在这里收窄地址范围(例如拒绝 userinfo / 内网主机):该字段是 -/// provider 侧要读的地址,与 image-to-model 的 `PublicUrl` 同一口径,见 ADR 0001 的边界约定。 +/// 只做非空白校验,不在这里收窄地址范围(例如拒绝 userinfo / 内网主机)。 +/// +/// TODO(multiview-url-validation): 现在的理由只是「还没接线」,不是在给这个字段发放行条: +/// 能构造 `Model3dMultiviewInputs::Url` 的只有冒烟示例与接口测试,`api-server` 里没有任何 +/// 路由或调用方会构造它,所以「客户端可以提交任意地址」今天不成立。等真正接线时必须先在 +/// 构造侧补校验——协议只允许 http/https、拒绝带账号密码的地址,并拒绝本机回环与内网主机 +/// (口径同 `TripoUrl::parse`)。本条原先写「见 ADR 0001 的边界约定」,但 ADR 0001 里并没有 +/// 这条约定,是引错了(评审 #66);image-to-model 的 `PublicUrl` 是同一处待办。 fn view_value(view: &Model3dViewInput) -> Option { match view { Model3dViewInput::Url { url } => {