import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:wow_english/login/blocs/login_bloc.dart'; import 'package:wow_english/modes/test_model.dart'; import 'package:wow_english/route/route.dart'; import 'package:wow_english/widgets/we_app_bar.dart'; class LoginPage extends StatelessWidget { const LoginPage({super.key, this.title}); final String? title; @override Widget build(BuildContext context) { // TODO: implement build return BlocProvider( create: (context) => LoginBloc(), child: _buildLoginViewWidget(), ); } Widget _buildLoginViewWidget() => BlocBuilder ( builder: (context, state) { final bloc = BlocProvider.of(context); return Scaffold( appBar: WEAppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, titleText: title??'', ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ GestureDetector( onTap: () { Navigator.of(context).pushNamedAndRemoveUntil(AppRouteName.tab, (route) => false); }, child: const Text( '进入首页' ), ), Text( bloc.isLogin?'登陆成功':'还未登陆' ), GestureDetector( onTap: () { TestModel testModel = TestModel(name: 'lcy',age: 31,sex: '男'); Map jsonMap = testModel.toJson(); if (kDebugMode) { print(jsonMap); } TestModel testModel2 = TestModel.fromJson(jsonMap); if (kDebugMode) { print(testModel2.name); } }, child: const Text( '数据转换' ), ), GestureDetector( onTap: (){ bloc.add(RequestLoginEvent()); }, child: const Text( '发起网络请求' ), ) ], ), ), ); }, ); }