Flutter-Backendless 用户登录 __ 如何验证用户凭据(电子邮件和密码)以从登录页面移动到主页



新手移动开发人员在这里。我正在尝试使用 Backendless 实现用户登录,但我不知道最好的方法是什么,尤其是为了避免进行太多的 API 调用。

我知道这里有一些弊端(尤其是UX(,但我真的只是想先把逻辑弄对。

在下面的摘录中,我尝试登录,并在登录完成后授予用户对应用程序的访问权限。如果它不成功 Id,就像要发出警报一样。但是,应用显示警报与凭据是否正确无关。这就像 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关键字等待未来完成。或者,您可以在响应的正文中执行操作。

以下是处理 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", "");
});
}

最新更新