Commit 1a43bf7cf58ac323981e1dfbfc8503d1e411957f
1 parent
2ca1b8bf
feat:更新UI
Showing
1 changed file
with
127 additions
and
120 deletions
lib/login/login_page.dart
| ... | ... | @@ -52,7 +52,8 @@ class LoginPage extends StatelessWidget { |
| 52 | 52 | Image.asset( |
| 53 | 53 | 'wow_logo'.assetPng, |
| 54 | 54 | height: 81.h, |
| 55 | - width: 139.w,), | |
| 55 | + width: 131.w, | |
| 56 | + ), | |
| 56 | 57 | Offstage( |
| 57 | 58 | offstage: bloc.loginType == LoginType.pwd, |
| 58 | 59 | child: _buildSmsViewWidget(), |
| ... | ... | @@ -61,7 +62,6 @@ class LoginPage extends StatelessWidget { |
| 61 | 62 | offstage: bloc.loginType == LoginType.sms, |
| 62 | 63 | child: _buildPwdViewWidget(), |
| 63 | 64 | ), |
| 64 | - 20.verticalSpace, | |
| 65 | 65 | Row( |
| 66 | 66 | mainAxisAlignment: MainAxisAlignment.center, |
| 67 | 67 | children: [ |
| ... | ... | @@ -75,9 +75,12 @@ class LoginPage extends StatelessWidget { |
| 75 | 75 | const Text('我已阅读并同意《用户隐私协议》,《儿童隐私策略》') |
| 76 | 76 | ], |
| 77 | 77 | ), |
| 78 | - 14.5.verticalSpace, | |
| 79 | 78 | GestureDetector( |
| 80 | - onTap: () => bloc.add(ChangeLoginTypeEvent()), | |
| 79 | + onTap: () { | |
| 80 | + if (bloc.canLogin) { | |
| 81 | + bloc.add(RequestLoginEvent()); | |
| 82 | + } | |
| 83 | + }, | |
| 81 | 84 | child: Container( |
| 82 | 85 | decoration: BoxDecoration( |
| 83 | 86 | image: DecorationImage( |
| ... | ... | @@ -113,12 +116,12 @@ class LoginPage extends StatelessWidget { |
| 113 | 116 | builder: (context,state){ |
| 114 | 117 | final bloc = BlocProvider.of<LoginBloc>(context); |
| 115 | 118 | return Padding( |
| 116 | - padding: const EdgeInsets.symmetric(horizontal: 340), | |
| 119 | + padding: EdgeInsets.symmetric(horizontal: 135.w), | |
| 117 | 120 | child: Column( |
| 118 | 121 | children: [ |
| 119 | 122 | 15.verticalSpace, |
| 120 | 123 | Container( |
| 121 | - height: 55, | |
| 124 | + height: 55.h, | |
| 122 | 125 | width: double.infinity, |
| 123 | 126 | alignment: Alignment.center, |
| 124 | 127 | decoration: BoxDecoration( |
| ... | ... | @@ -126,9 +129,8 @@ class LoginPage extends StatelessWidget { |
| 126 | 129 | image: AssetImage( |
| 127 | 130 | 'Input_layer_up'.assetPng |
| 128 | 131 | ), |
| 129 | - fit: BoxFit.fitHeight | |
| 132 | + fit: BoxFit.fitWidth | |
| 130 | 133 | ), |
| 131 | - color: Colors.red | |
| 132 | 134 | ), |
| 133 | 135 | child: TextField( |
| 134 | 136 | controller: bloc.phoneNumController, |
| ... | ... | @@ -150,30 +152,32 @@ class LoginPage extends StatelessWidget { |
| 150 | 152 | Row( |
| 151 | 153 | mainAxisAlignment: MainAxisAlignment.spaceBetween, |
| 152 | 154 | children: [ |
| 153 | - Container( | |
| 154 | - width: 257, | |
| 155 | - height: 50, | |
| 156 | - alignment: Alignment.center, | |
| 157 | - decoration: BoxDecoration( | |
| 158 | - image: DecorationImage( | |
| 159 | - image: AssetImage( | |
| 160 | - 'Input_layer_down'.assetPng | |
| 161 | - ) | |
| 162 | - ) | |
| 163 | - ), | |
| 164 | - child: TextField( | |
| 165 | - controller: bloc.checkNumController, | |
| 166 | - textAlign: TextAlign.center, | |
| 167 | - textInputAction: TextInputAction.done, | |
| 168 | - keyboardType: TextInputType.number, | |
| 169 | - decoration: const InputDecoration( | |
| 170 | - hintText: '请输入验证码', | |
| 171 | - border: InputBorder.none, | |
| 155 | + Expanded( | |
| 156 | + child: Container( | |
| 157 | + height: 50.h, | |
| 158 | + width: double.infinity, | |
| 159 | + alignment: Alignment.center, | |
| 160 | + decoration: BoxDecoration( | |
| 161 | + image: DecorationImage( | |
| 162 | + image: AssetImage( | |
| 163 | + 'Input_layer_down'.assetPng, | |
| 164 | + ), | |
| 165 | + ) | |
| 172 | 166 | ), |
| 173 | - onChanged: (String value) { | |
| 174 | - bloc.add(CheckFieldChangeEvent()); | |
| 175 | - }, | |
| 176 | - ) | |
| 167 | + child: TextField( | |
| 168 | + controller: bloc.checkNumController, | |
| 169 | + textAlign: TextAlign.center, | |
| 170 | + textInputAction: TextInputAction.done, | |
| 171 | + keyboardType: TextInputType.number, | |
| 172 | + decoration: const InputDecoration( | |
| 173 | + hintText: '请输入验证码', | |
| 174 | + border: InputBorder.none, | |
| 175 | + ), | |
| 176 | + onChanged: (String value) { | |
| 177 | + bloc.add(CheckFieldChangeEvent()); | |
| 178 | + }, | |
| 179 | + ) | |
| 180 | + ), | |
| 177 | 181 | ), |
| 178 | 182 | GestureDetector( |
| 179 | 183 | onTap: () { |
| ... | ... | @@ -206,101 +210,104 @@ class LoginPage extends StatelessWidget { |
| 206 | 210 | Widget _buildPwdViewWidget()=> BlocBuilder<LoginBloc,LoginState>( |
| 207 | 211 | builder: (context,state){ |
| 208 | 212 | final bloc = BlocProvider.of<LoginBloc>(context); |
| 209 | - return Column( | |
| 210 | - children: [ | |
| 211 | - 15.verticalSpace, | |
| 212 | - Row( | |
| 213 | - mainAxisAlignment: MainAxisAlignment.center, | |
| 214 | - children: [ | |
| 215 | - Image.asset( | |
| 216 | - 'phone'.assetPng, | |
| 217 | - height: 45, | |
| 218 | - width: 35, | |
| 219 | - ), | |
| 220 | - 10.5.horizontalSpace, | |
| 221 | - Container( | |
| 222 | - height: 55, | |
| 223 | - width: double.infinity, | |
| 224 | - alignment: Alignment.center, | |
| 225 | - decoration: BoxDecoration( | |
| 226 | - image: DecorationImage( | |
| 227 | - image: AssetImage( | |
| 228 | - 'Input_layer_up'.assetPng | |
| 213 | + return Padding( | |
| 214 | + padding: EdgeInsets.symmetric(horizontal: 90.w), | |
| 215 | + child: Column( | |
| 216 | + children: [ | |
| 217 | + 15.verticalSpace, | |
| 218 | + Row( | |
| 219 | + mainAxisAlignment: MainAxisAlignment.center, | |
| 220 | + children: [ | |
| 221 | + Image.asset( | |
| 222 | + 'phone'.assetPng, | |
| 223 | + height: 45.h, | |
| 224 | + width: 35.w, | |
| 225 | + ), | |
| 226 | + 10.5.horizontalSpace, | |
| 227 | + Expanded( | |
| 228 | + child: Container( | |
| 229 | + height: 55.h, | |
| 230 | + width: double.infinity, | |
| 231 | + alignment: Alignment.center, | |
| 232 | + decoration: BoxDecoration( | |
| 233 | + image: DecorationImage( | |
| 234 | + image: AssetImage( | |
| 235 | + 'Input_layer_up'.assetPng | |
| 236 | + ), | |
| 237 | + fit: BoxFit.fitWidth, | |
| 238 | + ) | |
| 229 | 239 | ), |
| 230 | - fit: BoxFit.fill, | |
| 231 | - ) | |
| 232 | - ), | |
| 233 | - child: TextField( | |
| 234 | - controller: bloc.phoneNumController, | |
| 235 | - textAlign: TextAlign.center, | |
| 236 | - textInputAction: TextInputAction.done, | |
| 237 | - decoration: const InputDecoration( | |
| 238 | - hintText: '请输入手机号', | |
| 239 | - border: InputBorder.none, | |
| 240 | - ), | |
| 241 | - keyboardType: TextInputType.phone, | |
| 242 | - onChanged: (String value) { | |
| 243 | - bloc.add(PhoneNumChangeEvent()); | |
| 244 | - }, | |
| 245 | - ) | |
| 246 | - ), | |
| 247 | - 5.horizontalSpace, | |
| 248 | - const SizedBox( | |
| 249 | - width: 100, | |
| 250 | - height: 55.0, | |
| 251 | - ) | |
| 252 | - ], | |
| 253 | - ), | |
| 254 | - 12.verticalSpace, | |
| 255 | - Row( | |
| 256 | - mainAxisAlignment: MainAxisAlignment.center, | |
| 257 | - children: [ | |
| 258 | - Image.asset( | |
| 259 | - 'lock'.assetPng, | |
| 260 | - height: 34, | |
| 261 | - width: 31, | |
| 262 | - ), | |
| 263 | - 10.5.horizontalSpace, | |
| 264 | - Container( | |
| 265 | - width: 397.5, | |
| 266 | - height: 55, | |
| 267 | - alignment: Alignment.center, | |
| 268 | - decoration: BoxDecoration( | |
| 269 | - image: DecorationImage( | |
| 270 | - image: AssetImage( | |
| 271 | - 'Input_layer_down'.assetPng | |
| 240 | + child: TextField( | |
| 241 | + controller: bloc.phoneNumController, | |
| 242 | + textAlign: TextAlign.center, | |
| 243 | + textInputAction: TextInputAction.done, | |
| 244 | + decoration: const InputDecoration( | |
| 245 | + hintText: '请输入手机号', | |
| 246 | + border: InputBorder.none, | |
| 247 | + ), | |
| 248 | + keyboardType: TextInputType.phone, | |
| 249 | + onChanged: (String value) {bloc.add(PhoneNumChangeEvent());},) | |
| 250 | + )), | |
| 251 | + 5.horizontalSpace, | |
| 252 | + SizedBox( | |
| 253 | + width: 100.w, | |
| 254 | + height: 55.h, | |
| 255 | + ) | |
| 256 | + ], | |
| 257 | + ), | |
| 258 | + 12.verticalSpace, | |
| 259 | + Row( | |
| 260 | + mainAxisAlignment: MainAxisAlignment.center, | |
| 261 | + children: [ | |
| 262 | + Image.asset( | |
| 263 | + 'lock'.assetPng, | |
| 264 | + height: 34.h, | |
| 265 | + width: 31.w, | |
| 266 | + ), | |
| 267 | + 10.5.horizontalSpace, | |
| 268 | + Expanded( | |
| 269 | + child: Container( | |
| 270 | + width: 397.5, | |
| 271 | + height: 55, | |
| 272 | + alignment: Alignment.center, | |
| 273 | + decoration: BoxDecoration( | |
| 274 | + image: DecorationImage( | |
| 275 | + image: AssetImage( | |
| 276 | + 'Input_layer_down'.assetPng | |
| 277 | + ), | |
| 278 | + fit: BoxFit.fill, | |
| 279 | + ) | |
| 280 | + ), | |
| 281 | + child: TextField( | |
| 282 | + controller: bloc.checkNumController, | |
| 283 | + textAlign: TextAlign.center, | |
| 284 | + textInputAction: TextInputAction.done, | |
| 285 | + decoration: const InputDecoration( | |
| 286 | + hintText: '请输入密码', | |
| 287 | + border: InputBorder.none, | |
| 272 | 288 | ), |
| 273 | - fit: BoxFit.fill, | |
| 289 | + onChanged: (String value) { | |
| 290 | + bloc.add(CheckFieldChangeEvent()); | |
| 291 | + }, | |
| 274 | 292 | ) |
| 275 | 293 | ), |
| 276 | - child: TextField( | |
| 277 | - controller: bloc.checkNumController, | |
| 278 | - textAlign: TextAlign.center, | |
| 279 | - textInputAction: TextInputAction.done, | |
| 280 | - decoration: const InputDecoration( | |
| 281 | - hintText: '请输入密码', | |
| 282 | - border: InputBorder.none, | |
| 294 | + ), | |
| 295 | + 5.horizontalSpace, | |
| 296 | + GestureDetector( | |
| 297 | + onTap: () => bloc.add(ForgetPasswordEvent()), | |
| 298 | + child: Container( | |
| 299 | + width: 100.w, | |
| 300 | + height: 55.h, | |
| 301 | + alignment: Alignment.centerLeft, | |
| 302 | + child: const Text( | |
| 303 | + '忘记密码 ?' | |
| 283 | 304 | ), |
| 284 | - onChanged: (String value) { | |
| 285 | - bloc.add(CheckFieldChangeEvent()); | |
| 286 | - }, | |
| 287 | - ) | |
| 288 | - ), | |
| 289 | - 5.horizontalSpace, | |
| 290 | - GestureDetector( | |
| 291 | - onTap: () => bloc.add(ForgetPasswordEvent()), | |
| 292 | - child: Container( | |
| 293 | - width: 100, | |
| 294 | - height: 55.0, | |
| 295 | - alignment: Alignment.centerLeft, | |
| 296 | - child: const Text( | |
| 297 | - '忘记密码 ?' | |
| 298 | 305 | ), |
| 299 | - ), | |
| 300 | - ) | |
| 301 | - ], | |
| 302 | - ) | |
| 303 | - ], | |
| 306 | + ) | |
| 307 | + ], | |
| 308 | + ) | |
| 309 | + ], | |
| 310 | + ), | |
| 304 | 311 | ); |
| 305 | 312 | }); |
| 306 | 313 | ... | ... |