## 新增功能 - EPUB文件导入功能:支持文件选择、解析和存储 - 文件重复检测:避免重复导入同一文件 - 导入状态反馈:成功/失败消息提示 ## 模型扩展 - Book模型新增多作者支持(authors字段) - 新增章节数统计(chapterCount字段) - 新增语言标识(language字段) - 新增EPUB标识符(identifier字段) - 优化TypeAdapter序列化支持 ## 服务优化 - 新增EpubParserService:EPUB文件解析服务 - 改进DatabaseService:错误处理和数据迁移 - 优化BookRepository:调试日志和错误追踪 ## 依赖更新 - 新增epubx ^4.0.0:EPUB电子书解析库 - 更新pubspec.lock:同步依赖版本 ## UI改进 - AppHeader组件集成完整导入功能 - SafeArea适配:避免系统状态栏重叠 - 优化测试数据结构 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.3 KiB
Dart
48 lines
1.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import '../components/app_header.dart';
|
|
|
|
/// 首页页面
|
|
///
|
|
/// 这是应用的主页面,用户进入应用时看到的第一个界面。
|
|
/// 功能规划:
|
|
/// - 顶部搜索栏和导入按钮
|
|
/// - 最近阅读书籍展示(横向滚动)
|
|
/// - 摘录列表(纵向滚动)
|
|
/// - 阅读进度统计
|
|
class HomePage extends StatelessWidget {
|
|
const HomePage({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
body: Column(
|
|
children: [
|
|
// 顶部导航组件
|
|
const SafeArea(
|
|
bottom: false, // 只处理顶部安全区域
|
|
child: AppHeader(
|
|
// onSearchPressed: () {
|
|
// // TODO: 实现搜索功能
|
|
// print('搜索按钮被点击');
|
|
// },
|
|
// onImportPressed: () {
|
|
// // TODO: 实现导入功能
|
|
// print('导入按钮被点击');
|
|
// },
|
|
),
|
|
),
|
|
|
|
// 页面内容区域
|
|
Expanded(
|
|
child: Center(
|
|
child: Text(
|
|
'首页内容区域',
|
|
style: Theme.of(context).textTheme.headlineMedium,
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
} |