还在尝试跑通播放状态
This commit is contained in:
@@ -26,10 +26,22 @@ class WebDAVService {
|
||||
Future<void> saveCredentials(
|
||||
String baseUrl, String username, String password) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
|
||||
print('💾 [saveCredentials] 开始保存凭据...');
|
||||
print('💾 [saveCredentials] baseUrl: $baseUrl');
|
||||
print('💾 [saveCredentials] username: $username');
|
||||
print('💾 [saveCredentials] password 长度: ${password.length}');
|
||||
|
||||
await prefs.setString(_keyBaseUrl, baseUrl);
|
||||
await prefs.setString(_keyUsername, username);
|
||||
await prefs.setString(_keyPassword, password);
|
||||
|
||||
// 立即读取验证
|
||||
final verifyUsername = prefs.getString(_keyUsername);
|
||||
final verifyPassword = prefs.getString(_keyPassword);
|
||||
print(
|
||||
'💾 [saveCredentials] 验证读取 - username: $verifyUsername, password 存在: ${verifyPassword != null}');
|
||||
|
||||
_baseUrl = baseUrl;
|
||||
_username = username;
|
||||
_dio = Dio(BaseOptions(
|
||||
@@ -74,6 +86,28 @@ class WebDAVService {
|
||||
_username = null;
|
||||
}
|
||||
|
||||
// ✅ 新增:获取认证头(用于 media_kit 播放)
|
||||
Future<Map<String, String>> getAuthHeaders() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final username = prefs.getString(_keyUsername);
|
||||
final password = prefs.getString(_keyPassword);
|
||||
|
||||
print('🔑 [getAuthHeaders] 读取到用户名: $username');
|
||||
print('🔑 [getAuthHeaders] 密码存在: ${password != null}');
|
||||
print('🔑 [getAuthHeaders] 密码长度: ${password?.length ?? 0}');
|
||||
|
||||
if (username != null && password != null) {
|
||||
final credentials = '$username:$password';
|
||||
final encoded = base64Encode(utf8.encode(credentials));
|
||||
print('🔑 [getAuthHeaders] 生成的 Authorization 头: Basic $encoded');
|
||||
return {
|
||||
'Authorization': 'Basic $encoded',
|
||||
};
|
||||
}
|
||||
print('⚠️ [getAuthHeaders] 用户名或密码为 null,返回空 Map');
|
||||
return {};
|
||||
}
|
||||
|
||||
// 获取音乐文件列表(PROPFIND)
|
||||
Future<List<WebDAVItem>> listDirectory({String path = '/'}) async {
|
||||
if (_dio == null) throw Exception('WebDAV 未连接');
|
||||
|
||||
Reference in New Issue
Block a user