追加webdav重新登录的button,还在测试边界情况

This commit is contained in:
2026-08-27 21:52:45 +08:00
parent 90aa7d10e9
commit bca1288bd1
5 changed files with 151 additions and 13 deletions
+17 -10
View File
@@ -7,6 +7,7 @@ import '../services/webdav_service.dart';
import '../services/playback_service.dart';
import '../services/audio_service.dart';
import '../constants/ui_constants.dart';
import '../base/base_state.dart';
class WebDAVFileListPage extends StatefulWidget {
final String currentPath;
@@ -17,7 +18,7 @@ class WebDAVFileListPage extends StatefulWidget {
State<WebDAVFileListPage> createState() => _WebDAVFileListPageState();
}
class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
class _WebDAVFileListPageState extends BaseState<WebDAVFileListPage> {
List<WebDAVItem> _items = [];
bool _isLoading = true;
String _errorMessage = '';
@@ -43,7 +44,7 @@ class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
// 加载目录
// ============================================================
Future<void> _loadDirectory() async {
setState(() {
safeSetState(() {
_isLoading = true;
_errorMessage = '';
});
@@ -51,15 +52,21 @@ class _WebDAVFileListPageState extends State<WebDAVFileListPage> {
try {
final items =
await WebDAVService.instance.listDirectory(path: _currentPath);
setState(() {
_items = items;
_isLoading = false;
});
if (mounted) {
// ⭐ 加这个
setState(() {
_items = items;
_isLoading = false;
});
}
} catch (e) {
setState(() {
_errorMessage = '加载失败: $e';
_isLoading = false;
});
if (mounted) {
// ⭐ 加这个
setState(() {
_errorMessage = '加载失败: $e';
_isLoading = false;
});
}
}
}