mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-05 05:13:14 +08:00
Add error handle for login page
This commit is contained in:
@@ -106,3 +106,5 @@ EHApi get api {
|
||||
|
||||
final AuthInfo auth = AuthInfo();
|
||||
final Path platformPath = Path();
|
||||
final GlobalKey<ScaffoldMessengerState> rootScaffoldMessengerKey =
|
||||
GlobalKey<ScaffoldMessengerState>();
|
||||
|
||||
@@ -6,5 +6,8 @@
|
||||
"password": "Password",
|
||||
"save": "Save",
|
||||
"login": "Login",
|
||||
"titleBar": "EH Downloader"
|
||||
"titleBar": "EH Downloader",
|
||||
"incorrectUserPassword": "Incorrect username or password.",
|
||||
"networkError": "Network error.",
|
||||
"internalError": "Some internal error occurred. Please send the log file to the developer."
|
||||
}
|
||||
|
||||
@@ -6,5 +6,8 @@
|
||||
"password": "密码",
|
||||
"save": "保存",
|
||||
"login": "登录",
|
||||
"titleBar": "EH 下载器"
|
||||
"titleBar": "EH 下载器",
|
||||
"incorrectUserPassword": "不正确的用户名或密码。",
|
||||
"networkError": "网络错误。",
|
||||
"internalError": "出现了内部错误,请将日志发送给开发者。"
|
||||
}
|
||||
|
||||
@@ -70,7 +70,9 @@ class _LoginPageState extends State<LoginPage> {
|
||||
setCookie: true,
|
||||
httpOnly: true,
|
||||
secure: u.scheme == 'https');
|
||||
return re.ok;
|
||||
if (re.ok) return true;
|
||||
if (re.status == 4) return false;
|
||||
throw re.unwrapErr();
|
||||
}
|
||||
|
||||
void _checkStatus(BuildContext build) {
|
||||
@@ -147,12 +149,27 @@ class _LoginPageState extends State<LoginPage> {
|
||||
if (re) {
|
||||
context.go("/");
|
||||
} else {
|
||||
final snackBar = SnackBar(
|
||||
content: Text(
|
||||
AppLocalizations.of(context)!
|
||||
.incorrectUserPassword));
|
||||
ScaffoldMessenger.of(context)
|
||||
.showSnackBar(snackBar);
|
||||
setState(() {
|
||||
_isLogin = false;
|
||||
});
|
||||
}
|
||||
}).catchError((e) {
|
||||
_log.severe("Failed to login:", e);
|
||||
final isNetworkError = e is! (int, String);
|
||||
final snackBar = SnackBar(
|
||||
content: Text(isNetworkError
|
||||
? AppLocalizations.of(context)!
|
||||
.networkError
|
||||
: AppLocalizations.of(context)!
|
||||
.internalError));
|
||||
ScaffoldMessenger.of(context)
|
||||
.showSnackBar(snackBar);
|
||||
setState(() {
|
||||
_isLogin = false;
|
||||
});
|
||||
|
||||
@@ -123,6 +123,7 @@ class _MainApp extends State<MainApp> {
|
||||
theme: _themeData,
|
||||
darkTheme: _darkThemeData,
|
||||
themeMode: _themeMode,
|
||||
scaffoldMessengerKey: rootScaffoldMessengerKey,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user