前言
点击登陆后先页面判断是否为空,不为空则将user和password传递给接口,由接口判断返回是否登陆成功的判断字段success。如果成功则跳转到主页,并销毁主页之前所有页面(即不能返回,点击物理返回键则退出程序)。还没写传给下个页面值的方法,后续会添加
loadDataByDio() async {
try {
print('登陆中');
Response response;
Dio dio = new Dio();
response = await dio.get(
"接口地址?LOGIN_NAME=$_user&PASSWORD=$_password");
if (response.statusCode == 200) {
_decodeTest(response.data);
} else {
_result = 'error code : ${response.statusCode}';
}
} catch (exception) {
print('exc:$exception');
_result = '网络异常';
}
setState(() {});
}
_decodeTest(var body) {
bool usertxt = body['success'];
String errMess = body['message'];
if (usertxt == false) {
_modalBottomSheetMenu(errMess);
} else {
Navigator.of(context).pushAndRemoveUntil(
new MaterialPageRoute(builder: (context) => new NavBar()),
(route) => route == null);
}
}
_modalBottomSheetMenu(errMess) {
showModalBottomSheet(
context: context,
builder: (builder) {
return new Container(
height: 50.0,
child: new Container(
decoration: new BoxDecoration(
color: Colors.grey,
),
child: new Center(
child: new Text(errMess,style: TextStyle(color: Colors.white),),
)),
);
});
}