feat: 故事加载页接收并传递封面 URL
- 新增 storyCoverUrl 变量,从 SSE done 事件中读取 cover_url - 新增 cover SSE 阶段的进度展示(正在绘制故事封面...) - 将 cover_url 传递给 StoryDetailPage 和返回结果 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d741fd4f5c
commit
51f994a2cc
@ -72,6 +72,7 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
|||||||
String buffer = '';
|
String buffer = '';
|
||||||
String? storyTitle;
|
String? storyTitle;
|
||||||
String? storyContent;
|
String? storyContent;
|
||||||
|
String storyCoverUrl = '';
|
||||||
|
|
||||||
await for (final chunk in response.stream.transform(utf8.decoder)) {
|
await for (final chunk in response.stream.transform(utf8.decoder)) {
|
||||||
buffer += chunk;
|
buffer += chunk;
|
||||||
@ -109,9 +110,13 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
|||||||
case 'parsing':
|
case 'parsing':
|
||||||
_updateProgress(progress / 100, '正在编制最后的魔法...');
|
_updateProgress(progress / 100, '正在编制最后的魔法...');
|
||||||
break;
|
break;
|
||||||
|
case 'cover':
|
||||||
|
_updateProgress(progress / 100, '正在绘制故事封面...');
|
||||||
|
break;
|
||||||
case 'done':
|
case 'done':
|
||||||
storyTitle = event['title'] as String? ?? '卡皮巴拉的故事';
|
storyTitle = event['title'] as String? ?? '卡皮巴拉的故事';
|
||||||
storyContent = event['content'] as String? ?? '';
|
storyContent = event['content'] as String? ?? '';
|
||||||
|
storyCoverUrl = event['cover_url'] as String? ?? '';
|
||||||
_updateProgress(1.0, '大功告成!');
|
_updateProgress(1.0, '大功告成!');
|
||||||
break;
|
break;
|
||||||
case 'error':
|
case 'error':
|
||||||
@ -142,6 +147,7 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
|||||||
story: {
|
story: {
|
||||||
'title': storyTitle,
|
'title': storyTitle,
|
||||||
'content': storyContent,
|
'content': storyContent,
|
||||||
|
'cover_url': storyCoverUrl,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -154,6 +160,7 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
|||||||
'action': 'saved',
|
'action': 'saved',
|
||||||
'title': storyTitle,
|
'title': storyTitle,
|
||||||
'content': storyContent,
|
'content': storyContent,
|
||||||
|
'cover_url': storyCoverUrl,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Navigator.of(context).pop(result);
|
Navigator.of(context).pop(result);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user