right_template 新增 summary / description (2026-07-21)

变更概览

为权利模板 right_templates 新增两段展示文案字段,供前端在授权类型卡片中展示:

  • summary:短标题,对应卡片内第一行适用场景说明(例如「适用于个人及非营利用途」)
  • description:详细说明,对应卡片内第二段解释文案

字段均为多语言 JSON,与现有 name 一致,常见结构:

{
  "zh": "...",
  "en": "..."
}

本次为纯返回字段扩展,不新增接口,不改请求参数。所有直接返回 right_template / right_templates,或在 service / product 快照中嵌套返回它们的接口都会自动带上这两个字段。

字段速查

对象字段类型说明
right_template / right_templates[]summaryobject | null适用场景短标题,多语言 JSON
right_template / right_templates[]descriptionobject | null详细用途说明,多语言 JSON

前端可按当前语言读取 summary.zh / summary.endescription.zh / description.en;字段可能为 null(历史数据尚未补齐时)。

接口变更

content

  • GET /api/content/site/meta
    • 功能:获取站点元数据,包含全部 right_templates
    • 变更:data.right_templates[] 新增 summarydescription
  • GET /api/content/service/info
    • 功能:获取 service 详情
    • 变更:data.right_templates[] 新增 summarydescription
  • POST /api/content/products/info
    • 功能:获取 product 详情
    • 变更:data.options[].right_template 新增 summarydescription
  • POST /api/content/projects/list
    • 功能:获取公开 project 列表
    • 变更:data[].right_template 新增 summarydescription
  • GET /api/content/projects/info
    • 功能:获取公开 project 详情
    • 变更:data.right_template 新增 summarydescription

user

  • POST /api/service_requests/create
    • 功能:创建 service request,并快照 service 的 right templates
    • 变更:service_snap.data.right_templates[] 新增 summarydescription
  • POST /api/service_requests/info
    • 功能:获取 service request 详情
    • 变更:data.service_snap.data.right_templates[] 新增 summarydescription
  • POST /api/projects/list
    • 功能:获取当前用户 project 列表
    • 变更:data[].right_template 新增 summarydescription
  • GET /api/projects/info
    • 功能:获取当前用户 project 详情
    • 变更:data.right_template 新增 summarydescription
  • POST /api/product_licenses/info
    • 功能:获取 product license 详情
    • 变更:快照中的 product_option_snap.right_template 新增 summarydescription

artist_center

  • GET /api/artist_center/services/meta
    • 功能:获取 service 编辑元数据,包含全部 right_templates
    • 变更:data.right_templates[] 新增 summarydescription
  • GET /api/artist_center/services/info
    • 功能:获取 artist 自己的 service 详情
    • 变更:data.right_templates[] 新增 summarydescription
  • product option / product manage 中返回的 right_template 同样新增 summarydescription

接口示例

content

GET /api/content/site/meta

  • 功能说明:获取站点公共元数据,其中包含完整权利模板列表。
  • 变更说明:right_templates 每一项新增 summarydescription,用于前端授权卡片展示。

请求参数

请求示例

GET /api/content/site/meta

响应示例

{
  "data": {
    "languages": [],
    "assets": [],
    "right_templates": [
      {
        "id": 1,
        "name": {
          "zh": "个人使用",
          "en": "Personal use"
        },
        "summary": {
          "zh": "适用于个人及非营利用途",
          "en": "Suitable for personal and non-commercial use"
        },
        "description": {
          "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
          "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
        },
        "right_tree": [
          {
            "id": 10,
            "name": {
              "en": "Personal"
            },
            "description": {
              "en": "Personal use"
            },
            "state": 1,
            "children": []
          }
        ]
      },
      {
        "id": 2,
        "name": {
          "zh": "商业使用",
          "en": "Commercial use"
        },
        "summary": {
          "zh": "适用于约定范围内的商业项目",
          "en": "Suitable for commercial projects within the agreed scope"
        },
        "description": {
          "zh": "客户可以将作品用于营利内容、品牌项目、直播内容及商业宣传。商品销售和大规模广告用途可能需要另外协商。",
          "en": "Clients may use the work for profit-oriented content, brand projects, livestream content, and commercial promotion. Product sales and large-scale advertising may require separate negotiation."
        },
        "right_tree": []
      },
      {
        "id": 3,
        "name": {
          "zh": "扩展商业使用",
          "en": "Extended commercial use"
        },
        "summary": {
          "zh": "适用于商品、广告和更广泛的商业发布",
          "en": "Suitable for merchandise, advertising, and broader commercial publishing"
        },
        "description": {
          "zh": "在一般商业使用基础上,进一步包含商品生产、商品销售、广告投放和市场宣传等用途,具体发行规模仍可由双方约定。",
          "en": "Building on general commercial use, this further covers merchandise production, product sales, advertising placements, and marketing. Specific distribution scale may still be agreed by both parties."
        },
        "right_tree": []
      },
      {
        "id": 4,
        "name": {
          "zh": "完整权利买断",
          "en": "Full rights buyout"
        },
        "summary": {
          "zh": "提供更完整的作品使用与处置权",
          "en": "Provides more complete rights to use and dispose of the work"
        },
        "description": {
          "zh": "客户可获得更广泛的商业、修改及再利用权限。署名、再转让、著作人格权及其他特殊权利仍应根据双方所在地法律和明确协议确认。",
          "en": "Clients may obtain broader commercial, modification, and reuse rights. Attribution, reassignment, moral rights, and other special rights should still be confirmed under applicable law and explicit agreement."
        },
        "right_tree": []
      }
    ],
    "selected_reviews": []
  }
}

错误响应

无新增,沿用原有错误语义。


GET /api/content/service/info

  • 功能说明:获取 service 详情,包含该 service 配置的权利模板及加价信息。
  • 变更说明:right_templates[] 新增 summarydescription;原有 markup_typemarkup_valueright_tree 不变。

请求参数

字段类型必填说明
service_idnumberservice id

请求示例

GET /api/content/service/info?service_id=12

响应示例

{
  "data": {
    "id": 12,
    "price": 100,
    "right_templates": [
      {
        "id": 1,
        "name": {
          "zh": "个人使用",
          "en": "Personal use"
        },
        "summary": {
          "zh": "适用于个人及非营利用途",
          "en": "Suitable for personal and non-commercial use"
        },
        "description": {
          "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
          "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
        },
        "markup_type": "percent",
        "markup_value": 0,
        "right_tree": []
      },
      {
        "id": 2,
        "name": {
          "zh": "商业使用",
          "en": "Commercial use"
        },
        "summary": {
          "zh": "适用于约定范围内的商业项目",
          "en": "Suitable for commercial projects within the agreed scope"
        },
        "description": {
          "zh": "客户可以将作品用于营利内容、品牌项目、直播内容及商业宣传。商品销售和大规模广告用途可能需要另外协商。",
          "en": "Clients may use the work for profit-oriented content, brand projects, livestream content, and commercial promotion. Product sales and large-scale advertising may require separate negotiation."
        },
        "markup_type": "percent",
        "markup_value": 100,
        "right_tree": []
      }
    ]
  }
}

错误响应

404:service 不存在或不可访问

{
  "message": "Service Not Found"
}

POST /api/content/products/info

  • 功能说明:获取 product 详情。
  • 变更说明:每个 option 关联的 right_template 新增 summarydescription

请求参数

字段类型必填说明
product_idnumberproduct id

请求示例

{
  "product_id": 88
}

响应示例

{
  "data": {
    "id": 88,
    "options": [
      {
        "id": 301,
        "name": {
          "en": "Standard"
        },
        "right_template": {
          "id": 2,
          "name": {
            "zh": "商业使用",
            "en": "Commercial use"
          },
          "summary": {
            "zh": "适用于约定范围内的商业项目",
            "en": "Suitable for commercial projects within the agreed scope"
          },
          "description": {
            "zh": "客户可以将作品用于营利内容、品牌项目、直播内容及商业宣传。商品销售和大规模广告用途可能需要另外协商。",
            "en": "Clients may use the work for profit-oriented content, brand projects, livestream content, and commercial promotion. Product sales and large-scale advertising may require separate negotiation."
          },
          "right_tree": []
        }
      }
    ]
  }
}

错误响应

无新增,沿用原有错误语义。


POST /api/content/projects/list

  • 功能说明:获取公开 project 列表。
  • 变更说明:列表项 right_template 新增 summarydescription

请求参数

字段类型必填说明
pagenumber页码
sizenumber每页数量

请求示例

{
  "page": 1,
  "size": 15
}

响应示例

{
  "data": [
    {
      "id": 45,
      "name": "Character Design",
      "right_template": {
        "id": 1,
        "name": {
          "zh": "个人使用",
          "en": "Personal use"
        },
        "summary": {
          "zh": "适用于个人及非营利用途",
          "en": "Suitable for personal and non-commercial use"
        },
        "description": {
          "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
          "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
        },
        "right_tree": []
      }
    }
  ],
  "total": 1
}

错误响应

无新增,沿用原有错误语义。


GET /api/content/projects/info

  • 功能说明:获取公开 project 详情。
  • 变更说明:data.right_template 新增 summarydescription

请求参数

字段类型必填说明
idnumberproject id

请求示例

GET /api/content/projects/info?id=45

响应示例

{
  "data": {
    "id": 45,
    "name": "Character Design",
    "right_template": {
      "id": 1,
      "name": {
        "zh": "个人使用",
        "en": "Personal use"
      },
      "summary": {
        "zh": "适用于个人及非营利用途",
        "en": "Suitable for personal and non-commercial use"
      },
      "description": {
        "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
        "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
      },
      "right_tree": []
    }
  }
}

错误响应

无新增,沿用原有错误语义。

user

POST /api/service_requests/info

  • 功能说明:获取 service request 详情。
  • 变更说明:service_snap.data.right_templates[] 快照中新增 summarydescription。新创建的 request 会写入当前模板文案;历史 request 快照取决于创建时的数据。

请求参数

字段类型必填说明
idnumberservice request id

请求示例

{
  "id": 1001
}

响应示例

{
  "data": {
    "id": 1001,
    "service_snap": {
      "data": {
        "id": 12,
        "right_templates": [
          {
            "id": 1,
            "name": {
              "zh": "个人使用",
              "en": "Personal use"
            },
            "summary": {
              "zh": "适用于个人及非营利用途",
              "en": "Suitable for personal and non-commercial use"
            },
            "description": {
              "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
              "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
            },
            "markup_type": "percent",
            "markup_value": 0,
            "right_tree": []
          }
        ]
      }
    }
  }
}

错误响应

无新增,沿用原有错误语义。


POST /api/projects/list /GET /api/projects/info

  • 功能说明:用户中心 project 列表 / 详情。
  • 变更说明:right_template 字段结构与 content 侧一致,新增 summarydescription

请求参数

列表:无新增。详情:

字段类型必填说明
idnumberproject id

响应示例

与 content project 的 right_template 结构一致。

错误响应

无新增,沿用原有错误语义。

artist_center

GET /api/artist_center/services/meta

  • 功能说明:artist 编辑 service 时获取元数据,包含全部权利模板。
  • 变更说明:data.right_templates[] 新增 summarydescription,便于配置页预览授权说明。

请求参数

请求示例

GET /api/artist_center/services/meta

响应示例

{
  "data": {
    "right_templates": [
      {
        "id": 1,
        "name": {
          "zh": "个人使用",
          "en": "Personal use"
        },
        "summary": {
          "zh": "适用于个人及非营利用途",
          "en": "Suitable for personal and non-commercial use"
        },
        "description": {
          "zh": "客户可以将作品用于头像、壁纸、个人展示和收藏。商业活动、商品销售或其他直接营利用途不包含在此范围内。",
          "en": "Clients may use the work for avatars, wallpapers, personal display, and collection. Commercial activities, product sales, or other direct profit-making uses are not included."
        }
      }
    ],
    "rights": []
  }
}

错误响应

无新增,沿用原有错误语义。


GET /api/artist_center/services/info

  • 功能说明:获取 artist 自己的 service 详情。
  • 变更说明:data.right_templates[] 新增 summarydescription,同时保留 markup_typemarkup_valueright_tree

请求参数

字段类型必填说明
idnumberservice id

请求示例

GET /api/artist_center/services/info?id=12

响应示例

GET /api/content/service/inforight_templates 结构一致。

错误响应

无新增,沿用原有错误语义。

兼容性说明

  • 本次为向后兼容的字段新增,不删除、不重命名旧字段。
  • 请求参数无变化;前端未读取这两个字段时行为不变。
  • summary / description 可能为 null
    • 模板尚未配置文案
    • 历史快照创建于本次变更之前
  • service request / product license / work task 等快照数据以创建时落库内容为准:
    • 变更上线后新建的快照会包含 summarydescription
    • 历史快照不会自动回填
  • 实时查询接口(site meta、service info、project list/info、artist service meta/info 等)会返回当前数据库中的最新文案。
  • 推荐前端优先使用:
    • 列表/详情实时展示:直接读返回的 right_template.summary / right_template.description
    • 订单/履约历史:读对应 snap 中的字段,避免后续模板文案变更影响历史记录展示