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 | ... | ... |