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? storyTitle;
|
||||
String? storyContent;
|
||||
String storyCoverUrl = '';
|
||||
|
||||
await for (final chunk in response.stream.transform(utf8.decoder)) {
|
||||
buffer += chunk;
|
||||
@ -109,9 +110,13 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
||||
case 'parsing':
|
||||
_updateProgress(progress / 100, '正在编制最后的魔法...');
|
||||
break;
|
||||
case 'cover':
|
||||
_updateProgress(progress / 100, '正在绘制故事封面...');
|
||||
break;
|
||||
case 'done':
|
||||
storyTitle = event['title'] as String? ?? '卡皮巴拉的故事';
|
||||
storyContent = event['content'] as String? ?? '';
|
||||
storyCoverUrl = event['cover_url'] as String? ?? '';
|
||||
_updateProgress(1.0, '大功告成!');
|
||||
break;
|
||||
case 'error':
|
||||
@ -142,6 +147,7 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
||||
story: {
|
||||
'title': storyTitle,
|
||||
'content': storyContent,
|
||||
'cover_url': storyCoverUrl,
|
||||
},
|
||||
),
|
||||
),
|
||||
@ -154,6 +160,7 @@ class _StoryLoadingPageState extends State<StoryLoadingPage> {
|
||||
'action': 'saved',
|
||||
'title': storyTitle,
|
||||
'content': storyContent,
|
||||
'cover_url': storyCoverUrl,
|
||||
});
|
||||
} else {
|
||||
Navigator.of(context).pop(result);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user