#flutter
Вопрос:
Я использую этот код для записи информации для входа в защищенное хранилище flutter при успешном входе в настольное приложение macos:
static void saveAuthInfo(Response response, String username, String password) { Map result = response.data["result"]; String accessToken = result["accessToken"]; String refreshToken = result["refreshToken"]; String registerTime = result["registerTime"]; SecureStorageUtil.putString("username", username); SecureStorageUtil.putString("password", password); SecureStorageUtil.putString("accessToken", accessToken); SecureStorageUtil.putString("refreshToken", refreshToken); SecureStorageUtil.putString("registerTime", registerTime); }
сейчас версия защищенного хранилища flutter была 5.0.1, которую я использую в настоящее время. Но когда я попытался прочитать значение, возвращенное значение результата было равно нулю.
static Futurelt;AppUsergt; currentUser() async { String? userName = await SecureStorageUtil.getString("username"); String? registerTime = await SecureStorageUtil.getString("registerTime"); AppUser user = new AppUser(phone: userName, registerTime: registerTime); return user; }
SecureStorageUtil
класс выглядит так:
import 'package:flutter_secure_storage/flutter_secure_storage.dart'; class SecureStorageUtil{ static FlutterSecureStorage _preferences = FlutterSecureStorage(); static Futurelt;String?gt; getString (String key, {String defValue = ''}) { return _preferences.read(key:key) ; } static Futurelt;voidgt; putString(String key, String value) { return _preferences.write(key:key, value:value); } static Futurelt;voidgt; delString(String key) { return _preferences.delete(key:key); } }
Я что-то упускаю? что я должен сделать, чтобы безопасное хранилище flutter поместило и извлекло значение? Я не мог использовать версию 5.0.2, потому что эта версия хранилища flutter sececure не смогла скомпилироваться в Android(я попробовал версию 5.0.2, но все равно не сработало).