Flutter-Backendless 用户登录 __ 如何验证用户凭据(电子邮件和密码)以从登录页面移动到主页
Flutter-Backendless User Login __ How to Validate User Credentials (Email and Password) to move from Login Page to Home Page
这里是移动开发新手。我正在尝试使用 Backendless 实现用户登录,但我不知道最好的方法是什么,尤其是要避免调用太多 API。
我知道这里有一些不当行为(尤其是用户体验),但我真的只是想先把逻辑弄好。
在以下摘录中,我尝试进行登录,完成后授予用户访问该应用程序的权限。如果它不成功,我希望发出警报。但是,该应用程序会独立于凭据是否正确显示警报。就好像在登录完成之前if就开始执行了。
我不是在寻找解决方法,我是一个菜鸟开发者,老实说,不知道处理这个问题的最佳方法。我将非常感谢您的帮助。谢谢大家!
Backendless.userService.login(email, password).then((user) => boologin=true);
if (boologin==true) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Home(),
),
);
} else {
showBasicAlert(context,
"Wrong username or password", "");
boologin
到达 if
时总是 false
。因为 login
是异步的并且在 boologin = true
被设置之前,代码流继续。尝试像这里一样改变它
await Backendless.userService.login(email, password);
然后设置boologin = true
正如 Marat 所说,Flutter Backendless SDK 的大部分调用都是异步的,并且
您可以使用 await
关键字等待 Future 完成。或者您可以在响应正文中执行操作。
这里是处理Backendless SDK调用最方便的方式:
void logIn(email, password) {
Backendless.userService.login(email, password)
.then((loggedInUser) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Home(),
),
);
})
.catchError((onError) {
showBasicAlert(context, "Wrong username or password", "");
});
}
这里是移动开发新手。我正在尝试使用 Backendless 实现用户登录,但我不知道最好的方法是什么,尤其是要避免调用太多 API。
我知道这里有一些不当行为(尤其是用户体验),但我真的只是想先把逻辑弄好。
在以下摘录中,我尝试进行登录,完成后授予用户访问该应用程序的权限。如果它不成功,我希望发出警报。但是,该应用程序会独立于凭据是否正确显示警报。就好像在登录完成之前if就开始执行了。
我不是在寻找解决方法,我是一个菜鸟开发者,老实说,不知道处理这个问题的最佳方法。我将非常感谢您的帮助。谢谢大家!
Backendless.userService.login(email, password).then((user) => boologin=true);
if (boologin==true) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Home(),
),
);
} else {
showBasicAlert(context,
"Wrong username or password", "");
boologin
到达 if
时总是 false
。因为 login
是异步的并且在 boologin = true
被设置之前,代码流继续。尝试像这里一样改变它
await Backendless.userService.login(email, password);
然后设置boologin = true
正如 Marat 所说,Flutter Backendless SDK 的大部分调用都是异步的,并且
您可以使用 await
关键字等待 Future 完成。或者您可以在响应正文中执行操作。
这里是处理Backendless SDK调用最方便的方式:
void logIn(email, password) {
Backendless.userService.login(email, password)
.then((loggedInUser) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Home(),
),
);
})
.catchError((onError) {
showBasicAlert(context, "Wrong username or password", "");
});
}