修复webdav重新登录后,userID位置错位与页面跳转逻辑错误的重大bug
This commit is contained in:
@@ -35,7 +35,7 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
|
||||
Future<void> _loadSavedCredentials() async {
|
||||
final hasCred = await WebDAVService.instance.loadCredentials();
|
||||
setState(() {
|
||||
safeSetState(() {
|
||||
_isConnected = hasCred;
|
||||
_statusText = hasCred ? '已连接' : '未连接';
|
||||
if (hasCred) {
|
||||
@@ -47,7 +47,7 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
Future<void> _connect() async {
|
||||
if (!_formKey.currentState!.validate()) return;
|
||||
|
||||
setState(() => _isLoading = true);
|
||||
safeSetState(() => _isLoading = true);
|
||||
|
||||
try {
|
||||
await WebDAVService.instance.saveCredentials(
|
||||
@@ -59,7 +59,7 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
// 验证连接
|
||||
await WebDAVService.instance.getMusicFiles();
|
||||
|
||||
setState(() {
|
||||
safeSetState(() {
|
||||
_isConnected = true;
|
||||
_statusText = '已连接';
|
||||
_isLoading = false;
|
||||
@@ -72,7 +72,8 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
backgroundColor: Color(0xFF4CAF50),
|
||||
),
|
||||
);
|
||||
// ✅ 登录成功 → 直接跳转到文件列表页
|
||||
// ⭐ 用 pushReplacement 替换当前页面(WebDAVSetupPage)
|
||||
// 此时栈底是 HomePage,替换后栈变为 [HomePage, WebDAVFileListPage]
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
@@ -81,7 +82,7 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
setState(() {
|
||||
safeSetState(() {
|
||||
_isConnected = false;
|
||||
_statusText = '连接失败';
|
||||
_isLoading = false;
|
||||
@@ -99,7 +100,7 @@ class _WebDAVSetupPageState extends BaseState<WebDAVSetupPage> {
|
||||
|
||||
Future<void> _disconnect() async {
|
||||
await WebDAVService.instance.clearCredentials();
|
||||
setState(() {
|
||||
safeSetState(() {
|
||||
_isConnected = false;
|
||||
_statusText = '未连接';
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user