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 } => {