readful/lib/pages/home_page.dart
ddshi bef0de5909 feat: 完成文件导入功能和Book模型扩展
## 新增功能
- 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>
2025-12-04 20:34:16 +08:00

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,
),
),
),
],
),
);
}
}