feat:增加待办提醒功能

This commit is contained in:
2026-04-29 19:21:57 +08:00
parent 3804164cfd
commit 0e6fe4ad4b
16 changed files with 297 additions and 64 deletions

View File

@@ -13,6 +13,6 @@ class Schedule {
required this.endTime,
this.scheduleTime,
DateTime? createTime,
}) : id = id ?? DateTime.timestamp().microsecond,
createTime = DateTime.now();
}
}) : id = id ?? DateTime.now().millisecondsSinceEpoch ~/ 1000,
createTime = DateTime.now();
}

View File

@@ -1,7 +1,7 @@
import 'package:hive/hive.dart';
// flutter packages pub run build_runner build
// part 'todo.g.dart';
part 'task.g.dart';
@HiveType(typeId: 0)
class Task extends HiveObject {
@@ -45,10 +45,11 @@ class Task extends HiveObject {
this.isCompleted = false,
Priority priority = Priority.medium,
DateTime? createTime,
}) : id = id ?? DateTime.timestamp().microsecond,
DateTime? updateTime,
}) : id = id ?? DateTime.now().millisecondsSinceEpoch ~/ 1000,
this.priorityIndex = priority.index,
createTime = DateTime.now(),
updateTime = DateTime.now();
createTime = createTime ?? DateTime.now(),
updateTime = updateTime ?? DateTime.now();
}
enum Priority { low, medium, high }

65
lib/models/task.g.dart Normal file
View File

@@ -0,0 +1,65 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'task.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class TaskAdapter extends TypeAdapter<Task> {
@override
final int typeId = 0;
@override
Task read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return Task(
id: fields[0] as int?,
title: fields[1] as String,
desc: fields[2] as String?,
dueDate: fields[3] as DateTime?,
scheduleTime: fields[4] as DateTime?,
isCompleted: fields[5] as bool,
createTime: fields[7] as DateTime?,
)
..priorityIndex = fields[6] as int
..updateTime = fields[8] as DateTime;
}
@override
void write(BinaryWriter writer, Task obj) {
writer
..writeByte(9)
..writeByte(0)
..write(obj.id)
..writeByte(1)
..write(obj.title)
..writeByte(2)
..write(obj.desc)
..writeByte(3)
..write(obj.dueDate)
..writeByte(4)
..write(obj.scheduleTime)
..writeByte(5)
..write(obj.isCompleted)
..writeByte(6)
..write(obj.priorityIndex)
..writeByte(7)
..write(obj.createTime)
..writeByte(8)
..write(obj.updateTime);
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is TaskAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}