feat(web): 角色与音频工作台 - 完善素材选择、生成参数与同步交互
This commit is contained in:
@@ -17,9 +17,10 @@ description: 信封、错误码与 OpenAPI
|
||||
|
||||
资源展示、播放、下载、复制地址和模型输入统一消费资源访问合同,不在客户端通过 `direct=1`、`proxy=1` 或存储厂商规则选择出口。
|
||||
|
||||
- `POST /api/resources/access` 要求登录,请求体为 1–100 项 `{ resourceId, purpose?, variant? }`。`purpose` 支持 `display`、`copy`、`download`、`browser-process`、`provider-input`;`variant` 支持 `original`、`playback`。每项独立返回 `access` 或结构化 `error`。
|
||||
- `POST /api/resources/access` 要求登录,请求体为 1–100 项 `{ resourceId, purpose?, variant? }`。`purpose` 支持 `display`、`copy`、`download`、`browser-process`、`provider-input`;`variant` 支持 `original`、`playback`、`thumbnail`(缩略图未生成前回落原件,`fallbackReason` 为 `thumbnail_not_ready`)。每项独立返回 `access` 或结构化 `error`。
|
||||
- `access.delivery` 为 `cdn`、`origin`、`platform-local` 或 `platform-proxy`。配置了可用 CDN 时返回 CDN 地址;OSS 源站签名是源站直连,不等于 CDN。`requireCDN` 开启且 CDN 鉴权不完整时失败,不静默回源。浏览器的展示、复制、下载和本地处理不允许使用 `platform-proxy`,云资源正文始终由 OSS/CDN 直接发送给浏览器;`allowPrivateProxy` 只允许服务端在 `provider-input` 场景向第三方模型提交参考素材时读取私有源站。
|
||||
- `expiresAt` / `refreshAt` 只描述当前授权有效期。`provider-input` 默认 4 小时,其余签名访问默认 5 分钟;公开 CDN 可没有 `expiresAt`。签名地址不写入画布或服务端持久化内容。
|
||||
- `expiresAt` / `refreshAt` 只描述当前授权有效期。有效期来自后台「资源与请求策略」(`provider-input` 与其余签名访问分别配置,默认均为 4 小时);公开 CDN 可没有 `expiresAt`。签名地址不写入画布或服务端持久化内容。
|
||||
- `display`、`copy`、`browser-process` 的源站签名把签名起始时间对齐到有效期 1/4 的时间窗(按 Unix 纪元对齐),过期时间为窗口起点加有效期:同一窗口内重复签发得到逐字节相同的 URL,刷新画布或多实例签发都能命中浏览器 HTTP 缓存;签名同时携带 `response-cache-control=private, max-age=<有效期>, immutable`,由对象存储回写缓存头。`download` 与 `provider-input` 仍按当前时间签发,不带缓存覆盖。
|
||||
- `GET /api/resources/:id/file` 仍是稳定平台入口,负责本地/平台代理字节流,云资源只返回 307 到 CDN 或对象存储;`?access=1` 只返回访问描述,不打开正文。`Range` 只影响字节流路径。
|
||||
- 公共资源、画布分享、外观、公告、管理员资源和日志媒体复用同一个 HTTP 执行器。公共签名链接受自身到期时间和变体绑定限制,但已签发的外部 URL 不承诺立即撤销。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user