feat:增加hive数据库

This commit is contained in:
2026-04-28 19:59:51 +08:00
parent db52de7b56
commit 3804164cfd
11 changed files with 490 additions and 52 deletions

View File

@@ -3,7 +3,7 @@ class Schedule {
String title; String title;
DateTime startTime; DateTime startTime;
DateTime endTime; DateTime endTime;
DateTime? scheduleDate; DateTime? scheduleTime;
DateTime createTime; DateTime createTime;
Schedule({ Schedule({
@@ -11,7 +11,7 @@ class Schedule {
required this.title, required this.title,
required this.startTime, required this.startTime,
required this.endTime, required this.endTime,
this.scheduleDate, this.scheduleTime,
DateTime? createTime, DateTime? createTime,
}) : id = id ?? DateTime.timestamp().microsecond, }) : id = id ?? DateTime.timestamp().microsecond,
createTime = DateTime.now(); createTime = DateTime.now();

View File

@@ -1,26 +1,54 @@
class Task { import 'package:hive/hive.dart';
final int id;
// flutter packages pub run build_runner build
// part 'todo.g.dart';
@HiveType(typeId: 0)
class Task extends HiveObject {
@HiveField(0)
int id;
@HiveField(1)
String title; String title;
@HiveField(2)
String? desc; String? desc;
@HiveField(3)
DateTime? dueDate; DateTime? dueDate;
DateTime? scheduleDate;
@HiveField(4)
DateTime? scheduleTime;
@HiveField(5)
bool isCompleted; bool isCompleted;
Priority priority;
String? category; @HiveField(6)
int priorityIndex;
@HiveField(7)
DateTime createTime; DateTime createTime;
@HiveField(8)
DateTime updateTime;
Priority get priority => Priority.values[priorityIndex];
set priority(Priority value) => priorityIndex = value.index;
Task({ Task({
int? id, int? id,
required this.title, required this.title,
this.desc, this.desc,
this.dueDate, this.dueDate,
this.scheduleDate, this.scheduleTime,
this.isCompleted = false, this.isCompleted = false,
this.priority = Priority.medium, Priority priority = Priority.medium,
this.category,
DateTime? createTime, DateTime? createTime,
}) : id = id ?? DateTime.timestamp().microsecond, }) : id = id ?? DateTime.timestamp().microsecond,
createTime = DateTime.now(); this.priorityIndex = priority.index,
createTime = DateTime.now(),
updateTime = DateTime.now();
} }
enum Priority { low, medium, high } enum Priority { low, medium, high }

View File

@@ -1,7 +1,7 @@
import 'package:fluent_ui/fluent_ui.dart'; import 'package:fluent_ui/fluent_ui.dart';
import 'package:flutter/material.dart' show ButtonSegment, SegmentedButton; import 'package:flutter/material.dart' show ButtonSegment, SegmentedButton;
import 'package:syncfusion_flutter_calendar/calendar.dart' as calendar; import 'package:syncfusion_flutter_calendar/calendar.dart' as calendar;
import 'package:task_hub/models/Schedule.dart'; import 'package:task_hub/models/schedule.dart';
import 'package:task_hub/widgets/schedule_dialog.dart'; import 'package:task_hub/widgets/schedule_dialog.dart';
class AppointmentDataSource extends calendar.CalendarDataSource { class AppointmentDataSource extends calendar.CalendarDataSource {

View File

@@ -91,8 +91,7 @@ class _TaskPageState extends State<TaskPage> {
createTime: task.createTime, createTime: task.createTime,
dueDate: task.dueDate, dueDate: task.dueDate,
isCompleted: !task.isCompleted, isCompleted: !task.isCompleted,
priority: task.priority, priority: task.priority
category: task.category,
); );
} }
}); });

View File

@@ -12,29 +12,23 @@ Widget buildFormItem({
children: [ children: [
SizedBox( SizedBox(
width: 80, width: 80,
child: Padding( child: Row(
padding: const EdgeInsets.only(top: 8), mainAxisSize: MainAxisSize.min,
child: Row( children: [
mainAxisSize: MainAxisSize.min, if (required)
children: [ Padding(
if (required) padding: EdgeInsets.only(right: 4),
Padding( child: Text(
padding: EdgeInsets.only(right: 4), '*',
child: Text( style: TextStyle(color: Colors.red, fontSize: 16),
'*',
style: TextStyle(color: Colors.red, fontSize: 16),
),
),
Text(
label,
style: const TextStyle(
fontSize: 14,
fontWeight: FontWeight.w500,
), ),
), ),
const Text(':', style: TextStyle(fontSize: 14)), Text(
], label,
), style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500),
),
const Text(':', style: TextStyle(fontSize: 14)),
],
), ),
), ),
const SizedBox(width: 12), const SizedBox(width: 12),

View File

@@ -1,6 +1,6 @@
import 'package:fluent_ui/fluent_ui.dart'; import 'package:fluent_ui/fluent_ui.dart';
import 'package:omni_datetime_picker/omni_datetime_picker.dart'; import 'package:omni_datetime_picker/omni_datetime_picker.dart';
import 'package:task_hub/models/Schedule.dart'; import 'package:task_hub/models/schedule.dart';
import 'package:task_hub/widgets/common.dart'; import 'package:task_hub/widgets/common.dart';
class ScheduleDialog extends StatefulWidget { class ScheduleDialog extends StatefulWidget {
@@ -17,7 +17,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
late TextEditingController _titleController; late TextEditingController _titleController;
DateTime? _selectedStartTime; DateTime? _selectedStartTime;
DateTime? _selectedEndTime; DateTime? _selectedEndTime;
DateTime? _selectedScheduleDate; DateTime? _selectedScheduleTime;
final _formKey = GlobalKey<FormState>(); final _formKey = GlobalKey<FormState>();
@override @override
@@ -28,7 +28,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
); );
_selectedStartTime = widget.schedule?.startTime; _selectedStartTime = widget.schedule?.startTime;
_selectedEndTime = widget.schedule?.endTime; _selectedEndTime = widget.schedule?.endTime;
_selectedScheduleDate = widget.schedule?.scheduleDate; _selectedScheduleTime = widget.schedule?.scheduleTime;
} }
@override @override
@@ -83,7 +83,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
title: _titleController.text, title: _titleController.text,
startTime: _selectedStartTime!, startTime: _selectedStartTime!,
endTime: _selectedEndTime!, endTime: _selectedEndTime!,
scheduleDate: _selectedScheduleDate, scheduleTime: _selectedScheduleTime,
); );
widget.onSave(schedule); widget.onSave(schedule);
Navigator.pop(context); Navigator.pop(context);
@@ -169,12 +169,12 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
label: '提醒日期', label: '提醒日期',
child: buildOmniDateButton( child: buildOmniDateButton(
context: context, context: context,
selectedDate: _selectedScheduleDate, selectedDate: _selectedScheduleTime,
placeholder: '请选择提醒日期', placeholder: '请选择提醒日期',
type: OmniDateTimePickerType.dateAndTime, type: OmniDateTimePickerType.dateAndTime,
onChanged: (date) { onChanged: (date) {
setState(() { setState(() {
_selectedScheduleDate = date; _selectedScheduleTime = date;
}); });
}, },
), ),

View File

@@ -18,7 +18,7 @@ class _TaskDialogState extends State<TaskDialog> {
late TextEditingController _descController; late TextEditingController _descController;
late Priority _selectedPriority; late Priority _selectedPriority;
DateTime? _selectedDueDate; DateTime? _selectedDueDate;
DateTime? _selectedScheduleDate; DateTime? _selectedScheduleTime;
final _formKey = GlobalKey<FormState>(); final _formKey = GlobalKey<FormState>();
@override @override
@@ -28,7 +28,7 @@ class _TaskDialogState extends State<TaskDialog> {
_descController = TextEditingController(text: widget.task?.desc ?? ''); _descController = TextEditingController(text: widget.task?.desc ?? '');
_selectedPriority = widget.task?.priority ?? Priority.medium; _selectedPriority = widget.task?.priority ?? Priority.medium;
_selectedDueDate = widget.task?.dueDate; _selectedDueDate = widget.task?.dueDate;
_selectedScheduleDate = widget.task?.scheduleDate; _selectedScheduleTime = widget.task?.scheduleTime;
} }
@override @override
@@ -45,7 +45,7 @@ class _TaskDialogState extends State<TaskDialog> {
title: _titleController.text, title: _titleController.text,
desc: _descController.text.isEmpty ? null : _descController.text, desc: _descController.text.isEmpty ? null : _descController.text,
dueDate: _selectedDueDate, dueDate: _selectedDueDate,
scheduleDate: _selectedScheduleDate, scheduleTime: _selectedScheduleTime,
priority: _selectedPriority, priority: _selectedPriority,
isCompleted: widget.task?.isCompleted ?? false, isCompleted: widget.task?.isCompleted ?? false,
); );
@@ -159,12 +159,12 @@ class _TaskDialogState extends State<TaskDialog> {
label: '提醒日期', label: '提醒日期',
child: buildOmniDateButton( child: buildOmniDateButton(
context: context, context: context,
selectedDate: _selectedScheduleDate, selectedDate: _selectedScheduleTime,
placeholder: '请选择提醒日期', placeholder: '请选择提醒日期',
type: OmniDateTimePickerType.dateAndTime, type: OmniDateTimePickerType.dateAndTime,
onChanged: (date) { onChanged: (date) {
setState(() { setState(() {
_selectedScheduleDate = date; _selectedScheduleTime = date;
}); });
}, },
), ),

View File

@@ -42,7 +42,7 @@ class TaskItem extends StatelessWidget {
const SizedBox(height: 4), const SizedBox(height: 4),
if (task.desc != null && task.desc!.isNotEmpty) _buildDesc(), if (task.desc != null && task.desc!.isNotEmpty) _buildDesc(),
const SizedBox(height: 4), const SizedBox(height: 4),
if (task.dueDate != null || task.scheduleDate != null) if (task.dueDate != null || task.scheduleTime != null)
_buildDate(), _buildDate(),
], ],
), ),
@@ -97,11 +97,11 @@ class TaskItem extends StatelessWidget {
), ),
const SizedBox(width: 4), const SizedBox(width: 4),
], ],
if (task.scheduleDate != null) ...[ if (task.scheduleTime != null) ...[
Icon(FluentIcons.clock, size: 12, color: Colors.grey), Icon(FluentIcons.clock, size: 12, color: Colors.grey),
const SizedBox(width: 4), const SizedBox(width: 4),
Text( Text(
'提醒日期: ${_formatDate(task.scheduleDate!)}', '提醒日期: ${_formatDate(task.scheduleTime!)}',
style: TextStyle(color: Colors.grey, fontSize: 12), style: TextStyle(color: Colors.grey, fontSize: 12),
), ),
], ],

View File

@@ -1,6 +1,22 @@
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
_fe_analyzer_shared:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
url: "https://pub.flutter-io.cn"
source: hosted
version: "67.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.4.1"
args: args:
dependency: transitive dependency: transitive
description: description:
@@ -33,6 +49,70 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.2" version: "2.1.2"
build:
dependency: transitive
description:
name: build
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.1"
build_config:
dependency: transitive
description:
name: build_config
sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.2"
build_daemon:
dependency: transitive
description:
name: build_daemon
sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.1.1"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.2"
build_runner:
dependency: "direct dev"
description:
name: build_runner
sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.13"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.3.2"
built_collection:
dependency: transitive
description:
name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
url: "https://pub.flutter-io.cn"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
sha256: "0730c18c770d05636a8f945c32a4d7d81cb6e0f0148c8db4ad12e7748f7e49af"
url: "https://pub.flutter-io.cn"
source: hosted
version: "8.12.5"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@@ -41,6 +121,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.4.0" version: "1.4.0"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.4"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@@ -49,6 +137,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
code_builder:
dependency: transitive
description:
name: code_builder
sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.11.1"
collection: collection:
dependency: transitive dependency: transitive
description: description:
@@ -57,6 +153,22 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.19.1" version: "1.19.1"
convert:
dependency: transitive
description:
name: convert
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.2"
crypto:
dependency: transitive
description:
name: crypto
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.7"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -65,6 +177,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.8" version: "1.0.8"
dart_style:
dependency: transitive
description:
name: dart_style
sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.6"
dbus: dbus:
dependency: transitive dependency: transitive
description: description:
@@ -97,6 +217,22 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.2.0" version: "2.2.0"
file:
dependency: transitive
description:
name: file
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.0.1"
fixnum:
dependency: transitive
description:
name: fixnum
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
fluent_ui: fluent_ui:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -168,6 +304,54 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.0.0"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.3"
graphs:
dependency: transitive
description:
name: graphs
sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.2"
hive:
dependency: "direct main"
description:
name: hive
sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.3"
hive_flutter:
dependency: "direct main"
description:
name: hive_flutter
sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.0"
hive_generator:
dependency: "direct dev"
description:
name: hive_generator
sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
http: http:
dependency: transitive dependency: transitive
description: description:
@@ -176,6 +360,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.6.0" version: "1.6.0"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.2.2"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
@@ -192,6 +384,46 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.20.2" version: "0.20.2"
io:
dependency: transitive
description:
name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.5"
jni:
dependency: transitive
description:
name: jni
sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.0"
jni_flutter:
dependency: transitive
description:
name: jni_flutter
sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
js:
dependency: transitive
description:
name: js
sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.7.2"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.11.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@@ -224,6 +456,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.1.1" version: "5.1.1"
logging:
dependency: transitive
description:
name: logging
sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@@ -256,6 +496,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.17.0" version: "1.17.0"
mime:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.0"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@@ -272,6 +520,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.3.1" version: "2.3.1"
package_config:
dependency: transitive
description:
name: package_config
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.0"
path: path:
dependency: transitive dependency: transitive
description: description:
@@ -280,6 +536,54 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.9.1" version: "1.9.1"
path_provider:
dependency: transitive
description:
name: path_provider
sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.5"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.1"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.5.1"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.1"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.2"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.0"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
@@ -288,6 +592,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "7.0.2" version: "7.0.2"
platform:
dependency: transitive
description:
name: platform
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.6"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -296,6 +608,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.8" version: "2.1.8"
pool:
dependency: transitive
description:
name: pool
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.5.2"
provider: provider:
dependency: transitive dependency: transitive
description: description:
@@ -304,6 +624,22 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.1.5+1" version: "6.1.5+1"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.0"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.5.0"
recase: recase:
dependency: transitive dependency: transitive
description: description:
@@ -328,11 +664,43 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.5.0" version: "0.5.0"
shelf:
dependency: transitive
description:
name: shelf
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.2"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
source_gen:
dependency: transitive
description:
name: source_gen
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.5.0"
source_helper:
dependency: transitive
description:
name: source_helper
sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.5"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@@ -357,6 +725,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
stream_transform:
dependency: transitive
description:
name: stream_transform
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
@@ -421,6 +797,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.10.1" version: "0.10.1"
timing:
dependency: transitive
description:
name: timing
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -445,6 +829,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "14.3.1" version: "14.3.1"
watcher:
dependency: transitive
description:
name: watcher
sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -453,6 +845,22 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
web_socket:
dependency: transitive
description:
name: web_socket
sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.3"
window_size: window_size:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -477,6 +885,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.6.1" version: "6.6.1"
yaml:
dependency: transitive
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.3"
sdks: sdks:
dart: ">=3.10.0 <4.0.0" dart: ">=3.10.0 <4.0.0"
flutter: ">=3.32.0" flutter: ">=3.35.6"

View File

@@ -1 +1 @@
name: task_hub name: task_hub

View File

@@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
list(APPEND FLUTTER_FFI_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST
flutter_local_notifications_windows flutter_local_notifications_windows
jni
) )
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)