generated from dellevin/template
优化
This commit is contained in:
@@ -233,6 +233,7 @@ class _BookReviewFormPageState extends State<BookReviewFormPage> {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
final now = DateTime.now();
|
||||
|
||||
if (widget.review == null) {
|
||||
@@ -264,5 +265,9 @@ class _BookReviewFormPageState extends State<BookReviewFormPage> {
|
||||
ToastUtil.show(context, widget.review == null ? '添加成功' : '更新成功');
|
||||
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
if (!mounted) return;
|
||||
ToastUtil.show(context, '保存失败: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ class _BookTabPageState extends State<BookTabPage> {
|
||||
int _lastDataCount = -1;
|
||||
DateTime? _lastUpdatedAt;
|
||||
late ScrollController _scrollController;
|
||||
AppProvider? _provider;
|
||||
|
||||
static const _statusMap = {0: 'read', 1: 'reading', 2: 'want_to_read'};
|
||||
|
||||
@@ -38,6 +39,7 @@ class _BookTabPageState extends State<BookTabPage> {
|
||||
_scrollController = ScrollController()..addListener(_onScroll);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
final provider = context.read<AppProvider>();
|
||||
_provider = provider;
|
||||
provider.addListener(_onDataChanged);
|
||||
_lastDataCount = provider.books.length;
|
||||
if (provider.books.isNotEmpty) _lastUpdatedAt = provider.books.first.updatedAt;
|
||||
@@ -47,6 +49,7 @@ class _BookTabPageState extends State<BookTabPage> {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_provider?.removeListener(_onDataChanged);
|
||||
_scrollController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -1806,6 +1806,7 @@ class _MovieFormPageState extends State<MovieFormPage> {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 收集所有多值字段输入框中的未提交内容
|
||||
_collectUnsubmittedValues();
|
||||
|
||||
@@ -1869,6 +1870,10 @@ class _MovieFormPageState extends State<MovieFormPage> {
|
||||
ToastUtil.show(context, widget.movie == null ? '添加成功' : '更新成功');
|
||||
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
if (!mounted) return;
|
||||
ToastUtil.show(context, '保存失败: $e');
|
||||
}
|
||||
}
|
||||
|
||||
/// 将海报从临时ID目录移动到新的影视ID目录
|
||||
|
||||
@@ -303,6 +303,7 @@ class _MovieReviewFormPageState extends State<MovieReviewFormPage> {
|
||||
Future<void> _saveReview() async {
|
||||
if (!_formKey.currentState!.validate()) return;
|
||||
|
||||
try {
|
||||
final now = DateTime.now();
|
||||
|
||||
if (widget.review == null) {
|
||||
@@ -331,5 +332,9 @@ class _MovieReviewFormPageState extends State<MovieReviewFormPage> {
|
||||
if (!mounted) return;
|
||||
ToastUtil.show(context, widget.review == null ? '添加成功' : '更新成功');
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
if (!mounted) return;
|
||||
ToastUtil.show(context, '保存失败: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ class _MovieTabPageState extends State<MovieTabPage> {
|
||||
int _lastDataCount = -1;
|
||||
DateTime? _lastUpdatedAt;
|
||||
late ScrollController _scrollController;
|
||||
AppProvider? _provider;
|
||||
|
||||
static const _statusMap = {0: 'watched', 1: 'watching', 2: 'want_to_watch'};
|
||||
|
||||
@@ -38,6 +39,7 @@ class _MovieTabPageState extends State<MovieTabPage> {
|
||||
_scrollController = ScrollController()..addListener(_onScroll);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
final provider = context.read<AppProvider>();
|
||||
_provider = provider;
|
||||
provider.addListener(_onDataChanged);
|
||||
_lastDataCount = provider.movies.length;
|
||||
if (provider.movies.isNotEmpty) _lastUpdatedAt = provider.movies.first.updatedAt;
|
||||
@@ -47,6 +49,7 @@ class _MovieTabPageState extends State<MovieTabPage> {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_provider?.removeListener(_onDataChanged);
|
||||
_scrollController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -825,6 +825,7 @@ class _NoteFormPageState extends State<NoteFormPage> {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
final now = DateTime.now();
|
||||
|
||||
if (_isEditing) {
|
||||
@@ -873,6 +874,10 @@ class _NoteFormPageState extends State<NoteFormPage> {
|
||||
|
||||
if (!mounted) return;
|
||||
Navigator.pop(context);
|
||||
} catch (e) {
|
||||
if (!mounted) return;
|
||||
ToastUtil.show(context, '保存失败: $e');
|
||||
}
|
||||
}
|
||||
|
||||
/// 将图片从临时ID目录移动到新ID目录
|
||||
|
||||
@@ -21,6 +21,7 @@ class _NoteTabPageState extends State<NoteTabPage> {
|
||||
bool _isLoading = false;
|
||||
int _offset = 0;
|
||||
late ScrollController _scrollController;
|
||||
AppProvider? _provider;
|
||||
int _layoutStyle = 0;
|
||||
bool _initialized = false;
|
||||
int _lastDataCount = -1;
|
||||
@@ -33,6 +34,7 @@ class _NoteTabPageState extends State<NoteTabPage> {
|
||||
_scrollController = ScrollController()..addListener(_onScroll);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
final provider = context.read<AppProvider>();
|
||||
_provider = provider;
|
||||
provider.addListener(_onDataChanged);
|
||||
_lastDataCount = provider.notes.length;
|
||||
if (provider.notes.isNotEmpty) _lastUpdatedAt = provider.notes.first.updatedAt;
|
||||
@@ -42,6 +44,7 @@ class _NoteTabPageState extends State<NoteTabPage> {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_provider?.removeListener(_onDataChanged);
|
||||
_scrollController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user