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

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

  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (context) => WechatAuthCubit(WechatAuthState()),
      child: BlocConsumer<WechatAuthCubit, WechatAuthState>(
        builder: (context, state) {
          return PopScope(
            canPop: false,
            onPopInvokedWithResult: (didPop, result) {
              context.read<WechatAuthCubit>().goIndex();
            },
            child: Scaffold(
              appBar: AppBar(title: Text('微信授权')),
              body: Center(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    SizedBox(
                      width: 200,
                      child: TextField(
                        controller: context.read<WechatAuthCubit>().textEditingController,
                        decoration: InputDecoration(hintText: '请输入UI端IP', border: OutlineInputBorder()),
                      ),
                    ),
                    SizedBox(height: 20),
                    Text(state.result ?? '点击拉取微信授权'),
                    SizedBox(height: 20),
                    ElevatedButton(
                      onPressed: () {
                        context.read<WechatAuthCubit>().auth();
                      },
                      child: const Text('微信授权'),
                    ),
                  ],
                ),
              ),
            ),
          );
        },
        listener: (context, state) {},
      ),
    );
  }
}