register_page.dart 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. import 'package:flutter/material.dart';
  2. class RegisterPage extends StatefulWidget {
  3. const RegisterPage({Key key}) : super(key: key);
  4. @override
  5. _RegisterPageState createState() => _RegisterPageState();
  6. }
  7. class _RegisterPageState extends State<RegisterPage> {
  8. //用户名密码控制器
  9. final TextEditingController _controllerUsn = TextEditingController();
  10. final TextEditingController _controllerPwd = TextEditingController();
  11. final TextEditingController _controllerRepwd = TextEditingController();
  12. final GlobalKey _formKey = GlobalKey<FormState>();
  13. String _userName = "";
  14. String _pwd = "";
  15. @override
  16. Widget build(BuildContext context) {
  17. return Scaffold(
  18. appBar: AppBar(
  19. title: Text("注册账号"),
  20. ),
  21. body: Padding(
  22. padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 24.0),
  23. child: Form(
  24. autovalidateMode: AutovalidateMode.always, key: _formKey, //开启自动校验
  25. child: ListView(
  26. children: [
  27. TextFormField(
  28. autofocus: true,
  29. controller: _controllerUsn,
  30. decoration: const InputDecoration(
  31. labelText: "用户名",
  32. hintText: "请输入用户名",
  33. icon: Icon(Icons.person)),
  34. // 校验用户名
  35. validator: (v) {
  36. return v.trim().isNotEmpty ? null : "用户名不能为空";
  37. },
  38. onChanged: (inputStr) {
  39. _userName = inputStr;
  40. },
  41. ),
  42. TextFormField(
  43. controller: _controllerPwd,
  44. decoration: const InputDecoration(
  45. labelText: "密码",
  46. hintText: "请输入密码",
  47. icon: Icon(Icons.lock)),
  48. obscureText: true,
  49. //校验密码
  50. validator: (v) {
  51. return v.trim().length > 5 ? null : "密码不能少于6位";
  52. }),
  53. TextFormField(
  54. controller: _controllerRepwd,
  55. decoration: const InputDecoration(
  56. labelText: "确认密码",
  57. hintText: "确认登录密码",
  58. icon: Icon(Icons.lock)),
  59. obscureText: true,
  60. //校验密码
  61. validator: (v) {
  62. return v.trim().length > 5 ? null : "密码不能少于6位";
  63. },
  64. onChanged: (inputStr) {
  65. _pwd = inputStr;
  66. },
  67. ),
  68. // 登录按钮
  69. Padding(
  70. padding: const EdgeInsets.only(top: 28.0),
  71. child: Row(
  72. children: <Widget>[
  73. Expanded(
  74. child: RaisedButton(
  75. padding: EdgeInsets.all(15.0),
  76. child: Text("注册"),
  77. color: Theme.of(context).primaryColor,
  78. textColor: Colors.white,
  79. onPressed: () {
  80. register();
  81. },
  82. ),
  83. ),
  84. ],
  85. ),
  86. )
  87. ],
  88. ),
  89. ),
  90. ),
  91. );
  92. }
  93. //注册
  94. void register() async {
  95. // UserModel loginEntity = await LoginDao.register(userName, password);
  96. //注册成功挑战到登录界面
  97. // if (loginEntity.userModel != null) {
  98. // DialogUtil.buildToast(loginEntity.msgModel.msg);
  99. // Navigator.of(context).pushNamed(Routes.loginPage);
  100. // } else {
  101. // DialogUtil.buildToast(loginEntity.msgModel.msg);
  102. // }
  103. }
  104. // // //保存用户信息
  105. // void saveUserInfo(UserModel userModel) async {
  106. // SharedPreferences prefs = await SharedPreferences.getInstance();
  107. // prefs.setString("token", userModel.token);
  108. // AppConfig.isUser = false;
  109. // AppConfig.token = userModel.token;
  110. // loadUserInfo(userModel.token);
  111. // }
  112. //
  113. // void loadUserInfo(String token) async {
  114. // UserEntity entity = await UserDao.fetch(token);
  115. // if (entity?.userInfoModel != null) {
  116. // DialogUtil.buildToast("登录成功~");
  117. // Navigator.pop(context);
  118. // // eventBus.fire(UserLoggedInEvent("sucuss"));
  119. // } else {
  120. // DialogUtil.buildToast(entity.msgModel.msg);
  121. // }
  122. // }
  123. }