fix(platform): response模板usage值去包裹引号——json.dumps(usage)非空时内层双引号破坏外层JSON字符串值,渲染断在char161生成物不落地(2026-09-06 E2E实测)

- _media_response_template 手工拼接: "usage": {{ json.dumps(usage) }} 嵌套对象形态
- 存量3个模板(r2v/t2v/i2v)已在测试机直接UPDATE修复
This commit is contained in:
yumoqing 2026-09-06 17:36:11 +08:00
parent 9a4e3e87b8
commit 9c5378df17

View File

@ -1168,12 +1168,12 @@ def _resp_tpl_for(capability, spec):
field = _MEDIA_OUT_FIELD.get(outkey, 'result_url')
note = ('产物字段名「%s」按供应商惯例兜底(文档未提供响应示例或示例中无 URL 字段),'
'如上游字段不同需修正' % field)
resp = json.dumps({
'status': 'SUCCEEDED',
outkey: '{{ downloadfile2url(request, %s) }}' % field,
'usage': '{{ json.dumps(usage) }}',
'task_id': '{{ task_id }}',
}, ensure_ascii=False)
# usage 值不加包裹引号2026-09-06 实测 bug`"usage": "{{ json.dumps(usage) }}"`
# 在 usage 非空时内层双引号破坏外层 JSON 字符串值 → json.loads 断在 char 161
# 渲染整体回退、生成物不落地。渲染为嵌套 JSON 对象才是合法形态,手工拼接:
resp = ('{"status": "SUCCEEDED", "%s": "{{ downloadfile2url(request, %s) }}", '
'"usage": {{ json.dumps(usage) }}, "task_id": "{{ task_id }}"}'
% (outkey, field))
return resp, note