我正在處理我想使用共享首選項的 flutter 專案。看下面的代碼:
Future<String?> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final password = localStorage.getString('password');
return email, password;
}
這是我的 getCredentials 函式 我希望此函式將電子郵件和密碼作為不同的引數回傳,但 dart 不允許我可以請你幫助我我該怎么做?
整個 SharedPreference 代碼:
import 'package:shared_preferences/shared_preferences.dart';
class sharedPreference {
Future<String?> saveCredentials({
required String email,
required String password,
}) async {
final localStorage = await SharedPreferences.getInstance();
await localStorage.setString('email', email);
await localStorage.setString('password', password);
}
Future<String?> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final password = localStorage.getString('password');
return email, password;
}
}
uj5u.com熱心網友回復:
只需創建類。您甚至可以稍后將方法添加到 Credentials。就像安全比較一樣,將 passwordHash 與常數時間進行比較。
class Credentials {
Credentials(this.email, this.passwordHash);
final String email;
final String passwordHash;
}
Future<Credentials> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final passwordHash = localStorage.getString('passwordHash');
return Credentials(email, passwordHash));
}
uj5u.com熱心網友回復:
將回傳型別 String 更改為 Map<String,dynamic>
Future<Map<String,dynamic>> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final password = localStorage.getString('password');
return {
'email':email,
'password':password
};
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/535032.html
標籤:扑镖
