fix: canvas image/video download - fix data URL parsing in cvDownloadPreview (v1.5.21, hot 1.5.23)

This commit is contained in:
mac
2026-07-20 08:48:56 +08:00
parent 42e23663ee
commit aadd2b04ae
28 changed files with 5881 additions and 329 deletions
+17
View File
@@ -76,6 +76,12 @@ contextBridge.exposeInMainWorld("api", {
routerRestoreClaude: () => ipcRenderer.invoke("router-restore-claude"),
routerSnippet: () => ipcRenderer.invoke("router-snippet"),
routerFetchModels: (baseUrl, key, groupId) => ipcRenderer.invoke("router-fetch-models", { baseUrl, key, groupId }),
// —— 接入 Claude 桌面 App ——
claudedeskStatus: () => ipcRenderer.invoke("claudedesk-status"),
claudedeskApply: (groupId) => ipcRenderer.invoke("claudedesk-apply", { groupId }),
claudedeskRestore: () => ipcRenderer.invoke("claudedesk-restore"),
claudedeskSnippet: (groupId) => ipcRenderer.invoke("claudedesk-snippet", { groupId }),
claudedeskExport: (groupId, format) => ipcRenderer.invoke("claudedesk-export", { groupId, format }),
onRouterChanged: (cb) => {
const handler = (_e, s) => cb(s);
ipcRenderer.on("router-changed", handler);
@@ -86,6 +92,14 @@ contextBridge.exposeInMainWorld("api", {
canvasRun: (kind, params) => ipcRenderer.invoke("canvas-run", { kind, params }),
canvasGroups: () => ipcRenderer.invoke("canvas-groups"),
canvasModels: (groupId) => ipcRenderer.invoke("canvas-models", { groupId }),
// —— 多 Agent 员工团队生成 ——
teamGenerate: (params) => ipcRenderer.invoke("team-generate", params || {}),
teamPreview: (params) => ipcRenderer.invoke("team-preview", params || {}),
teamPack: (params) => ipcRenderer.invoke("team-pack", params || {}),
// —— 提示词提取(图片 → 反推生图提示词)——
promptGroups: () => ipcRenderer.invoke("prompt-groups"),
promptModels: (groupId) => ipcRenderer.invoke("prompt-models", { groupId }),
promptAnalyze: (params) => ipcRenderer.invoke("prompt-analyze", params || {}),
onCanvasProgress: (cb) => {
const h = (_e, p) => cb(p);
ipcRenderer.on("canvas-progress", h);
@@ -102,6 +116,9 @@ contextBridge.exposeInMainWorld("api", {
ipcRenderer.on("voice-status", h);
return () => ipcRenderer.removeListener("voice-status", h);
},
// —— Token 用量监控(注入 Codex,复用 CDP 连接)——
tokenStatus: () => ipcRenderer.invoke("token-status"),
tokenReset: () => ipcRenderer.invoke("token-reset"),
// —— 全局 / 系统代理 ——
proxyStatus: () => ipcRenderer.invoke("proxy-status"),
proxyGetConfig: () => ipcRenderer.invoke("proxy-get-config"),