我使用Flutter开发Web应用程序,并使用Firestore作为后端。用户登录时,还必须通过以下方式登录该公司:
如果引脚正确,则应将用户导航到HomeScreen(),否则,将弹出错误消息。
下面是getCompanyPin()方法(文档ID也是公司名称):
Future<String> getCompanyPin(String companyName) async {
String pin;
await store
.collection('companies')
.doc(companyName)
.get()
.then((val) {
pin = val.data()['Company Pin'];
});
return pin;
}
下面是调用getCompanyPin()然后检查引脚是否正确的方法
void checkPin(newPin, pin) {
if (newPin == pin) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => HomeScreen()),
);
} else {
//error;
}
}
下面是RaisedButton,按下该按钮时应触发检查引脚的过程:
Padding(
padding: const EdgeInsets.all(8),
child: Material(
child: RaisedButton(
textColor: Colors.white,
color: Colors.blue,
child: Text(
"Company Log In"),
onPressed: () async {
String newPin =
await getCompanyPin(
_selectedCompany);
if (_logFormKey
.currentState
.validate()) {
_logFormKey
.currentState
.save();
checkPin(newPin, _pin);
}
})),
)