wechat_auth_page.dart 1.77 KB
import 'package:appframe/bloc/wechat_auth_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';

class WechatAuthPage extends StatelessWidget {
  const WechatAuthPage({super.key});

  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (context) => WechatAuthCubit(WechatAuthState(null, null, null, null, null, 'no msg!')),
      child: BlocConsumer<WechatAuthCubit, WechatAuthState>(
        builder: (context, state) {
          return Scaffold(
            appBar: AppBar(title: Text('微信授权')),
            body: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Text(state.result ?? 'no msg!'),
                  ElevatedButton(
                    onPressed: () {
                      context.read<WechatAuthCubit>().auth();
                    },
                    child: const Text('授权'),
                  ),
                ],
              ),
            ),
          );
        },
        listener: (context, state) {
          print("wechat auth page listener-------------------------");
          print(state.sessionCode);
          print(state.userCode);
          print(state.classCode);
          print(state.userType);
          print(state.stuId);
          print(state.result);

          print('带参数跳转webview');

          context.go(
            '/web',
            extra: {
              "sessionCode": state.sessionCode,
              "userCode": state.userCode,
              "classCode": state.classCode,
              "userType": state.userType,
              "stuId": state.stuId,
            },
          );
        },
      ),
    );
  }
}