Files
xianyan/lib/main.dart
Developer 35202b51e8 feat: 闲言APP v0.9.1 — 编辑器全面重写 + 迷你编辑器
- 标准编辑器: freezed数据模型 + 5Tab工具栏 + 多图层管理 + 文字增强 + 背景系统 + 导出链路
- 迷你编辑器: 极简6项功能(文字/字号/颜色/背景/预览/导出) + 三种调用方式(全屏/半屏/内嵌)
- 共享组件: GlassSlider/ColorPicker/FontPicker/TipsView
- 服务层: ExportService/ImageImportService/FontService/XycardService
- 设计系统: 统一主题令牌 + Liquid Glass风格
2026-04-20 07:48:07 +08:00

62 lines
1.8 KiB
Dart

// ============================================================
// 闲言APP — 应用入口
// 创建时间: 2026-04-20
// 更新时间: 2026-04-20
// 作用: main 函数,初始化存储 + 液态玻璃 + 启动 App
// 上次更新: 集成 LiquidGlassWidgets 初始化 + wrap()
// ============================================================
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:liquid_glass_widgets/liquid_glass_widgets.dart';
import 'app/app.dart';
import 'core/storage/kv_storage.dart';
import 'core/utils/logger.dart';
import 'core/registry/page_registry.dart';
import 'core/router/app_router.dart';
/// KV 存储是否初始化成功
bool kvStorageReady = false;
/// 应用入口
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// ---- 初始化 KV 存储 ----
try {
await KvStorage.init();
kvStorageReady = true;
Log.i('KV 存储初始化完成');
} catch (e) {
Log.e('KV 存储初始化失败', e);
}
// ---- 初始化 Liquid Glass Widgets ----
await LiquidGlassWidgets.initialize();
Log.i('LiquidGlassWidgets 初始化完成');
// ---- 页面注册表验证 ----
_validatePageRegistry();
// ---- 启动 App (LiquidGlassWidgets.wrap 共享 GPU backdrop) ----
runApp(LiquidGlassWidgets.wrap(const ProviderScope(child: XianyanApp())));
}
/// 页面注册表强制验证
void _validatePageRegistry() {
final errors = PageRegistry.validateAll();
if (errors.isNotEmpty) {
for (final e in errors) {
Log.e('页面注册表验证失败: $e');
}
} else {
Log.i('页面注册表验证通过,共 ${PageRegistry.pageCount} 个页面已注册');
}
final route = AppRoutes.home;
if (!PageRegistry.isRouteRegistered(route)) {
Log.e('页面注册表验证: 首页路由 $route 未注册!');
}
}