From 2b2f9f025f9093194654b5f2674bc0cf967b3b8f Mon Sep 17 00:00:00 2001 From: DelLevin-Home Date: Mon, 9 Mar 2026 14:43:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 74 +++---------------------------------------- test/widget_test.dart | 30 ------------------ 2 files changed, 5 insertions(+), 99 deletions(-) delete mode 100644 test/widget_test.dart diff --git a/README.md b/README.md index 6028a91..f869326 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # MookNote - Flutter 观影阅读笔记应用 ## 项目简介 -MookNote 是一款用于记录观影、阅读和笔记的 Android 应用,使用 Flutter 框架开发。 +MookNote 是一款用于记录观影、阅读和笔记的 Android 软件,基于 Flutter 框架开发。 ## 功能特性 @@ -23,13 +23,11 @@ MookNote 是一款用于记录观影、阅读和笔记的 Android 应用,使 ### 笔记模块 - 显示所有笔记列表 - 支持标签分类 -- 显示笔记内容和更新时间 ### 侧边菜单 -- GitHub 风格热力图(年度记录可视化) -- 统计功能入口 -- 回收站入口 -- 设置入口 +- 个人记录简要 +- 回顾影视/书籍 +- 月份风格热力图 ## 环境要求 @@ -109,72 +107,10 @@ flutter run - **Flutter**: 跨平台移动应用框架 - **Dart**: 编程语言 - **Provider**: 状态管理 -- **Material Design 3**: UI 设计规范 -## 后续开发计划 -### 数据存储 -- [x] 集成 SQLite 数据库(sqflite 包) -- [x] 实现本地数据持久化 -- [x] 数据备份与恢复 - -### 功能增强 - -- [x] 添加/编辑表单页面 -- [x] 详情页完整实现 -- [x] 搜索功能 -- [x] 统计图表页面 -- [x] 回收站功能 - -### 高级功能 - -- [x] 导出功能(JSON) -- [ ] 云同步 - -## 双向同步规则 - -双向同步的规则如下: - -**1. 数据库文件同步规则:** - -| 情况 | 操作 | -| :---------------- | :----------------------- | -| 远程数据库不存在 | 上传本地数据库 | -| 本地较新(>10秒) | 上传本地数据库 | -| 远程较新(>10秒) | 下载远程数据库 | -| 时间相近(±10秒) | 不传输数据库,仅同步图片 | - -**2. 图片同步规则:** - -| 情况 | 操作 | -| :--------------- | :------------------------------------- | -| 本地有,远程没有 | 上传到远程 | -| 远程有,本地没有 | 下载到本地 | -| 两边都有 | 不处理(暂不支持基于时间戳的图片同步) | - -**3. 同步方向选项:** - -- **双向同步** - 按上述规则自动判断上传/下载 -- **仅上传** - 只上传本地数据库和所有本地图片 -- **仅下载** - 只下载远程数据库和所有远程图片 - -**4. 时间戳比较:** - -```dart -// 10秒误差范围内视为相同 -if (timeDiff > 10) { - // 本地较新,上传 -} else if (timeDiff < -10) -{ - // 远程较新,下载 -} else -{ - // 时间相近,仅同步图片 -} -``` - -**5. 文件路径:** +**5. 图片文件存储路径:** - 数据库:`/mooknote/mooknote.db` - 图片:`/mooknote/images/图片文件名` diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index 9532999..0000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:mooknote/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -}