MCPcopy
hub / github.com/HisMax/RedInk / startGenerationFlow

Function startGenerationFlow

frontend/src/composables/useGenerationRunner.ts:19–73  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17 let isUnmounted = false
18
19 async function startGenerationFlow() {
20 if (store.outline.pages.length === 0) {
21 router.push('/')
22 return
23 }
24
25 if (await restoreFromHistory()) return
26
27 await ensureRecord()
28
29 store.startGeneration()
30
31 generateImagesPost(
32 store.outline.pages,
33 null,
34 store.outline.raw,
35 (event) => {
36 console.log('Progress:', event)
37 },
38 (event) => {
39 console.log('Complete:', event)
40 if (event.image_url) {
41 store.updateProgress(event.index, 'done', event.image_url)
42 }
43 },
44 (event) => {
45 console.error('Error:', event)
46 store.updateProgress(
47 event.index,
48 'error',
49 undefined,
50 formatErrorMessage(event.error || event.message || '图片生成失败', '图片生成失败')
51 )
52 },
53 (event) => {
54 console.log('Finish:', event)
55 store.finishGeneration(event.task_id)
56
57 if (!hasFailedImages.value) {
58 redirectTimer.value = window.setTimeout(() => {
59 if (!isUnmounted) {
60 router.push('/result')
61 }
62 }, 1000)
63 }
64 },
65 (err) => {
66 console.error('Stream Error:', err)
67 setError(normalizeApiError(err, '图片生成失败'))
68 },
69 store.userImages.length > 0 ? store.userImages : undefined,
70 store.topic,
71 store.recordId
72 )
73 }
74
75 function cleanupGenerationRunner() {
76 isUnmounted = true

Callers

nothing calls this directly

Calls 6

generateImagesPostFunction · 0.90
formatErrorMessageFunction · 0.90
normalizeApiErrorFunction · 0.90
restoreFromHistoryFunction · 0.85
ensureRecordFunction · 0.85
setErrorFunction · 0.85

Tested by

no test coverage detected