Compare commits

...

2 Commits

Author SHA1 Message Date
old burden eb8cab3f5a fix: 腾讯云cos上传警告 2026-04-03 14:24:33 +08:00
old burden fa99a4fb9b fix: 视频生成状态判断优化 2026-04-03 14:22:40 +08:00
2 changed files with 25 additions and 4 deletions

View File

@ -580,12 +580,18 @@ export default {
el.scrollTop = el.scrollHeight el.scrollTop = el.scrollHeight
}, },
taskRowResultTrim(row) {
return String(row?.result ?? '').trim()
},
taskStatusText(row) { taskStatusText(row) {
// 0 2 1+http(s) 1 http
if (row.status === 2) return '已失败/已取消' if (row.status === 2) return '已失败/已取消'
if (row.status === 0) return '执行中' if (row.status === 0) return '执行中'
if (row.status === 1) { if (row.status === 1) {
if (row.result && this.isHttpOrHttpsUrl(row.result)) return '已完成' const r = this.taskRowResultTrim(row)
if (!r) return '失败'
if (this.isHttpOrHttpsUrl(r)) return '已完成'
if (/^cgt/i.test(r)) return '任务执行中'
return '任务生成失败' return '任务生成失败'
} }
return '执行中' return '执行中'
@ -593,12 +599,19 @@ export default {
/** 是否展示完整「结果区」(视频 / 链接);其余状态仅紧凑展示在用户行右侧 */ /** 是否展示完整「结果区」(视频 / 链接);其余状态仅紧凑展示在用户行右侧 */
isChatRowSuccessWithMedia(row) { isChatRowSuccessWithMedia(row) {
return row.status === 1 && row.result && this.isHttpOrHttpsUrl(row.result) const r = this.taskRowResultTrim(row)
return row.status === 1 && !!r && this.isHttpOrHttpsUrl(r)
}, },
chatRowInlineStatusClass(row) { chatRowInlineStatusClass(row) {
if (row.status === 2) return 'vg-chat-inline-status--failed' if (row.status === 2) return 'vg-chat-inline-status--failed'
if (row.status === 1 && !this.isHttpOrHttpsUrl(row.result)) return 'vg-chat-inline-status--failed' if (row.status === 1) {
const r = this.taskRowResultTrim(row)
if (!r) return 'vg-chat-inline-status--failed'
if (/^cgt/i.test(r)) return 'vg-chat-inline-status--running'
if (this.isHttpOrHttpsUrl(r)) return 'vg-chat-inline-status--running'
return 'vg-chat-inline-status--failed'
}
return 'vg-chat-inline-status--running' return 'vg-chat-inline-status--running'
}, },

View File

@ -67,6 +67,14 @@ public class TencentCosUtil {
try { try {
InputStream inputStream = file.getInputStream(); InputStream inputStream = file.getInputStream();
ObjectMetadata objectMetadata = new ObjectMetadata(); ObjectMetadata objectMetadata = new ObjectMetadata();
// 必须设置长度否则底层 OkHttp 会告警No content length specified并整段缓冲到内存 OOM
long contentLength = file.getSize();
if (contentLength >= 0) {
objectMetadata.setContentLength(contentLength);
}
if (file.getContentType() != null && !file.getContentType().isEmpty()) {
objectMetadata.setContentType(file.getContentType());
}
PutObjectRequest putObjectRequest = new PutObjectRequest( PutObjectRequest putObjectRequest = new PutObjectRequest(
bucketName, bucketName,
key, key,