AI 接入 V1.0

UI更新
This commit is contained in:
2026-09-24 14:24:34 +08:00
parent 34bc2e04b0
commit 9a144f159f
65 changed files with 1195 additions and 196 deletions
+13 -1
View File
@@ -9,6 +9,7 @@ import '../../models/ai.dart';
import '../../providers/ai_provider.dart';
import '../../utils/toast.dart';
import '../../widgets/state_views.dart';
import '../../widgets/cute_icon.dart';
/// 助手:和 AI 对话,问账单、问笔记。
///
@@ -32,6 +33,17 @@ class _AssistantPageState extends ConsumerState<AssistantPage> {
'我的笔记里有哪些关于 MySQL 的?',
];
@override
void initState() {
super.initState();
// 打开就把上一次的对话展开,而不是每次都从空白开始。
// 放进 postFrameCallback:initState 里改 provider 状态会撞上「构建期间改状态」。
WidgetsBinding.instance.addPostFrameCallback((_) {
if (!mounted) return;
ref.read(assistantProvider.notifier).restoreLastSessionIfNeeded();
});
}
@override
void dispose() {
_input.dispose();
@@ -156,7 +168,7 @@ class _AssistantPageState extends ConsumerState<AssistantPage> {
return ListView(
padding: const EdgeInsets.fromLTRB(24, 40, 24, 0),
children: [
const Center(child: Text('✨', style: TextStyle(fontSize: 44))),
const Center(child: CuteIcon('assistant', size: 48)),
const SizedBox(height: 14),
const Center(
child: Text(