Skip to content

Commit 06d6b4c

Browse files
committed
fix: ai cache count update not in time
1 parent 8b5d2b6 commit 06d6b4c

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

lib/service/ai/index.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import 'package:anx_reader/config/shared_preference_provider.dart';
2+
import 'package:anx_reader/providers/ai_cache_count.dart';
23
import 'package:anx_reader/service/ai/ai_cache.dart';
34
import 'package:anx_reader/service/ai/ai_dio.dart';
45
import 'package:anx_reader/service/ai/claude.dart';
56
import 'package:anx_reader/service/ai/deepseek.dart';
67
import 'package:anx_reader/service/ai/gemini.dart';
78
import 'package:anx_reader/service/ai/openai.dart';
89
import 'package:anx_reader/utils/log/common.dart';
10+
import 'package:flutter_riverpod/flutter_riverpod.dart';
911

1012
Stream<String> aiGenerateStream(
13+
WidgetRef ref,
1114
String prompt, {
1215
String? identifier,
1316
Map<String, String>? config,
@@ -52,16 +55,18 @@ Stream<String> aiGenerateStream(
5255
}
5356
AiDio.instance.cancel();
5457
await AiCache.setAiCache(hash, buffer, identifier);
58+
ref.read(aiCacheCountProvider.notifier).refresh();
5559
}
56-
60+
5761
Future<String> aiGenerate(
62+
WidgetRef ref,
5863
String prompt, {
5964
String? identifier,
6065
Map<String, String>? config,
6166
}) async {
6267
final buffer = StringBuffer();
6368
await for (final chunk
64-
in aiGenerateStream(prompt, identifier: identifier, config: config)) {
69+
in aiGenerateStream(ref, prompt, identifier: identifier, config: config)) {
6570
buffer.write(chunk);
6671
}
6772
return buffer.toString();

lib/widgets/ai_stream.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import 'package:flutter/foundation.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter/services.dart';
77
import 'package:flutter_markdown/flutter_markdown.dart';
8+
import 'package:flutter_riverpod/flutter_riverpod.dart';
89

9-
class AiStream extends StatefulWidget {
10+
class AiStream extends ConsumerStatefulWidget {
1011
final String prompt;
1112
final String? identifier;
1213
final Map<String, String>? config;
@@ -24,13 +25,14 @@ class AiStream extends StatefulWidget {
2425
AiStreamState createState() => AiStreamState();
2526
}
2627

27-
class AiStreamState extends State<AiStream> {
28+
class AiStreamState extends ConsumerState<AiStream> {
2829
late Stream stream;
2930

3031
@override
3132
void initState() {
3233
super.initState();
3334
stream = aiGenerateStream(
35+
ref,
3436
widget.prompt,
3537
identifier: widget.identifier,
3638
config: widget.config,
@@ -75,6 +77,7 @@ class AiStreamState extends State<AiStream> {
7577
onPressed: () {
7678
setState(() {
7779
stream = aiGenerateStream(
80+
ref,
7881
widget.prompt,
7982
identifier: widget.identifier,
8083
config: widget.config,

0 commit comments

Comments
 (0)