新增api-server Tripo3D模块与泥点定价结构

- 新增 tripo3d/pricing.rs,底价按 endpoint × 模型版本 × 是否有贴图,add-on 按固定键表叠加
- 定价段加载即校验全部底价与 add-on 键,缺键即配置非法;缺段代表未配置,查价直接拒绝
- editor_generation_config 挂载可选 model3d 段并提供 fail-closed 查价入口
- 后台记录形状尚不支持 3D 段,暂由文件配置提供并留下同步待办
- model_version 增加 ALL 与排序,供定价表枚举校验
This commit is contained in:
2026-09-21 12:53:02 +08:00
parent f90e114bcb
commit 8f6458ffe2
7 changed files with 545 additions and 2 deletions
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
use super::MODEL3D_TS_EXPORT_DIR;
#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, ts_rs::TS)]
#[derive(Clone, Copy, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize, ts_rs::TS)]
#[ts(export, export_to = MODEL3D_TS_EXPORT_DIR)]
pub enum Model3dModelVersion {
#[serde(rename = "v3.1-20260211")]
@@ -18,6 +18,9 @@ pub enum Model3dModelVersion {
}
impl Model3dModelVersion {
/// 契约支持的全部模型版本;定价配置必须为每个版本给出两个端点的底价。
pub const ALL: [Self; 5] = [Self::H31, Self::H30, Self::H25, Self::P1, Self::P2];
pub const fn as_str(self) -> &'static str {
match self {
Self::H31 => "v3.1-20260211",