import 'dart:io';

import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:fluwx/fluwx.dart';
import 'package:get_storage/get_storage.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/color/appFontsize.dart';
import 'package:vbvs_app/common/util/CheckNetwork.dart';
import 'package:vbvs_app/common/util/CommonVariables.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
import 'package:vbvs_app/component/tool/CustomCard.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/controller/time/countdown_controller.dart';
import 'package:vbvs_app/pages/mh_page/user/controller/mht_login_controller.dart';
import 'package:vbvs_app/pages/mh_page/user/controller/mht_register_controller.dart';

class MHTLoginPage extends GetView<MHTLoginController> {
  final scaffoldKey = GlobalKey<ScaffoldState>();
  BoxConstraints? bodysize;

  final ScrollController _scrollController = ScrollController();
  final FocusNode _focusNode1 = FocusNode();
  final FocusNode _focusNode2 = FocusNode();
  final FocusNode _focusNode3 = FocusNode();
  final FocusNode _focusNode4 = FocusNode();

  MHTLoginPage({super.key}) {
    controller.model.showPd = true;
    _focusNode1.addListener(() {
      if (_focusNode1.hasFocus) {
        MyUtils.scrollToFocusedInput(_focusNode1, _scrollController);
      }
    });
    _focusNode2.addListener(() {
      if (_focusNode2.hasFocus) {
        MyUtils.scrollToFocusedInput(_focusNode2, _scrollController);
      }
    });
    _focusNode3.addListener(() {
      if (_focusNode3.hasFocus) {
        MyUtils.scrollToFocusedInput(_focusNode3, _scrollController);
      }
    });
    _focusNode4.addListener(() {
      if (_focusNode4.hasFocus) {
        MyUtils.scrollToFocusedInput(_focusNode4, _scrollController);
      }
    });

    // 微信登录监听
    Fluwx fluwx = controller.fluwx;
    /*
    1、目前移动应用上微信登录只提供原生的登录方式，需要用户安装微信客户端才能配合使用。
    2、对于Android应用，建议总是显示微信登录按钮，当用户手机没有安装微信客户端时，请引导用户下载安装微信客户端。
    3、对于iOS应用，考虑到iOS应用商店审核指南中的相关规定，建议开发者接入微信登录时，先检测用户手机是否已安装微信客户端
    （使用sdk中isWXAppInstalled函数 ），对未安装的用户隐藏微信登录按钮，只提供其他登录方式（比如手机号注册登录、游客登录等）
    */
    if (isiOS) {
      controller.model.isIos = true;
      fluwx.isWeChatInstalled.then((isWeChatInstalled) {
        debugPrint('is wechat installed: $isWeChatInstalled');
        if (!isWeChatInstalled) {
          // TODO ios未安装微信 隐藏微信一键登录按钮
          controller.model.isWeChatNotInstalled = false;
        } else {
          controller.model.isWeChatNotInstalled = true;
        }
        controller.updateAll();
      });
    }

    // 微信监听回调
    controller.fluwxCancelable = fluwx.addSubscriber((response) async {
      if (response is WeChatAuthResponse) {
        debugPrint('state :${response.state} \n code:${response.code}');
        int errCode = response.errCode ?? -9999;
        if (errCode == 0) {
          // TODO 微信登录成功 传递code给后台 再操作逻辑
          String code = response.code ?? "";
          //把微信登录返回的code传给后台，剩下的事就交给后台处理
          //首次未注册的用户引导去手机号填写页面
          //已注册的用户直接跳转首页
          if (CommonVariables.isNetWorkOn == false) {
            TopSlideNotification.show(Get.context!,
                text: "网络未连接，请开启设备网络后重试".tr,
                textColor: themeController.currentColor.sc9);
            return;
          }
          String msg = await controller.loginByWechatCode(code);
          if (msg.isEmpty) {
            // TODO 操作全部跳转页面前成功以后移除监听，防止重复监听，其他方式登录成功也需要移出监听
            controller.fluwxCancelable?.cancel();
            // 登录成功移出网络检查监听
            Checknetwork.subscription?.cancel();
            Get.offAndToNamed("/mianPageBottomChange");
          }
          // TODO 操作全部跳转页面前成功以后移除监听，防止重复监听，其他方式登录成功也需要移出监听
          // fluwxCancelable?.cancel();
        } else if (errCode == -4) {
          TopSlideNotification.show(Get.context!,
              text: "用户拒绝授权".tr, textColor: themeController.currentColor.sc9);
        } else if (errCode == -2) {
          TopSlideNotification.show(Get.context!,
              text: "用户取消授权".tr, textColor: themeController.currentColor.sc9);
        }
      }
    });
  }

  DateTime? _lastBackPressedTime; // 记录上一次返回的时间

  final getStorage = GetStorage();

  @override
  Widget build(BuildContext context) {
    MHTRegisterController registerController = Get.find();
    bool isProgrammaticPop = false; // 标记变量
    Future.delayed(const Duration(milliseconds: 300), () {
      String? isShowYingShiDialog = getStorage.read("isShowYingShiDialog");
      if (isShowYingShiDialog == null || isShowYingShiDialog != "true") {
        String btnName = "同意";
        String cancelName = "取消";
        if (Platform.isAndroid) {
          cancelName = "退出";
        }
      }
    });

    return LayoutBuilder(builder: (context, cc) {
      bodysize = cc;
      return GestureDetector(
        onTap: () => FocusScope.of(context).unfocus(),
        child: Container(
          decoration: const BoxDecoration(
            image: DecorationImage(
              image: AssetImage('assets/images/new_background.png'), // 本地图片
              fit: BoxFit.fill, // 填满整个 Container
            ),
          ),
          child: Scaffold(
            backgroundColor: Colors.transparent,
            resizeToAvoidBottomInset: false,
            appBar: AppBar(
              backgroundColor: Colors.transparent,
              automaticallyImplyLeading: false,
              iconTheme: IconThemeData(color: Colors.white),
              titleSpacing: 0,
              title: Container(
                width: double.infinity,
                height: 180.rpx,
                child: Stack(
                  alignment: Alignment.center,
                  children: [
                    // Text(
                    //   '用户注册',
                    //   textAlign: TextAlign.center,
                    //   style: TextStyle(
                    //     color: Colors.white,
                    //     fontSize: 30.rpx,
                    //   ),
                    // ),
                    Positioned(
                      left: 0.rpx,
                      child: returnIconButtomNew,
                    ),
                  ],
                ),
              ),
              actions: [],
              centerTitle: false,
            ),
            body: PopScope(
              canPop: false,
              onPopInvokedWithResult: (disposition, result) async {
                if (isProgrammaticPop) {
                  // 如果是程序触发，重置标记并忽略
                  isProgrammaticPop = false;
                  return; // 阻止处理
                }
                if (Platform.isAndroid) {
                  var flag = await _handleBackPressed(context); // 自定义返回逻辑
                  if (flag) {
                    SystemNavigator.pop();
                  }
                }
              },
              child: Align(
                alignment: AlignmentDirectional(0, 0),
                child: Container(
                  width: bodysize!.maxWidth,
                  height: bodysize!.maxHeight * 1,
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    mainAxisSize: MainAxisSize.max,
                    children: [
                      SizedBox(
                        height: 50.rpx,
                      ),
                      Expanded(
                        child: Container(
                          decoration: BoxDecoration(),
                          child: Container(
                            width: bodysize!.maxWidth,
                            decoration: BoxDecoration(),
                            child: SingleChildScrollView(
                              child: Column(
                                mainAxisAlignment: MainAxisAlignment.start,
                                mainAxisSize: MainAxisSize.max,
                                children: [
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0.rpx, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.06,
                                          decoration: BoxDecoration(),
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.06,
                                            decoration: BoxDecoration(),
                                            child: SingleChildScrollView(
                                              scrollDirection: Axis.horizontal,
                                              child: Row(
                                                mainAxisSize: MainAxisSize.max,
                                                children: [
                                                  Container(
                                                    width: MediaQuery.sizeOf(
                                                                context)
                                                            .width *
                                                        0.165,
                                                    height: MediaQuery.sizeOf(
                                                                context)
                                                            .height *
                                                        1,
                                                    constraints: BoxConstraints(
                                                      minWidth: 100,
                                                    ),
                                                    decoration: BoxDecoration(),
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.165,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          1,
                                                      constraints:
                                                          BoxConstraints(
                                                        minWidth: 124,
                                                      ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Column(
                                                        mainAxisSize:
                                                            MainAxisSize.max,
                                                        children: [
                                                          Padding(
                                                            padding:
                                                                EdgeInsetsDirectional
                                                                    .fromSTEB(
                                                                        0,
                                                                        0,
                                                                        0,
                                                                        8),
                                                            child: Container(
                                                              width: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .width *
                                                                  0.165,
                                                              height: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .height *
                                                                  0.045,
                                                              constraints:
                                                                  BoxConstraints(
                                                                minWidth: 124,
                                                              ),
                                                              decoration:
                                                                  BoxDecoration(),
                                                              child: Container(
                                                                width: MediaQuery.sizeOf(
                                                                            context)
                                                                        .width *
                                                                    0.162,
                                                                height: MediaQuery.sizeOf(
                                                                            context)
                                                                        .height *
                                                                    0.055,
                                                                decoration:
                                                                    BoxDecoration(),
                                                                child: Align(
                                                                  alignment:
                                                                      AlignmentDirectional(
                                                                          0, 1),
                                                                  child: Text(
                                                                    '密码登录'.tr,
                                                                    style:
                                                                        TextStyle(
                                                                      fontFamily:
                                                                          'Readex Pro',
                                                                      color: stringToColor(
                                                                          "#84F5FF"),
                                                                      fontSize:
                                                                          AppFontsize
                                                                              .title_size,
                                                                      letterSpacing:
                                                                          0,
                                                                    ),
                                                                  ),
                                                                ),
                                                              ),
                                                            ),
                                                          ),
                                                          Align(
                                                            alignment:
                                                                AlignmentDirectional(
                                                                    0, 0),
                                                            child: Container(
                                                              width: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .width *
                                                                  0.156,
                                                              height: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .height *
                                                                  0.003,
                                                              constraints:
                                                                  BoxConstraints(
                                                                minWidth: 100,
                                                                maxWidth: 100,
                                                                maxHeight: 6,
                                                              ),
                                                              decoration:
                                                                  BoxDecoration(
                                                                color: stringToColor(
                                                                    "#84F5FF"),
                                                              ),
                                                            ),
                                                          ),
                                                        ],
                                                      ),
                                                    ),
                                                  ),
                                                  InkWell(
                                                    onTap: () {
                                                      controller
                                                          .model.loginStyle = 2;
                                                      controller.updateAll();
                                                    },
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.165,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          1,
                                                      constraints:
                                                          BoxConstraints(
                                                        minWidth: 100,
                                                      ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Column(
                                                        mainAxisSize:
                                                            MainAxisSize.max,
                                                        children: [
                                                          Container(
                                                            width: MediaQuery
                                                                        .sizeOf(
                                                                            context)
                                                                    .width *
                                                                0.14,
                                                            height: MediaQuery
                                                                        .sizeOf(
                                                                            context)
                                                                    .height *
                                                                0.045,
                                                            constraints:
                                                                BoxConstraints(
                                                              minWidth: 105,
                                                            ),
                                                            decoration:
                                                                BoxDecoration(),
                                                            child: Align(
                                                              alignment:
                                                                  AlignmentDirectional(
                                                                      0, 1),
                                                              child: Text(
                                                                '短信登录'.tr,
                                                                style:
                                                                    TextStyle(
                                                                  fontFamily:
                                                                      'Readex Pro',
                                                                  color: Colors
                                                                      .white,
                                                                  fontSize:
                                                                      AppFontsize
                                                                          .normal_text_size,
                                                                  letterSpacing:
                                                                      0,
                                                                ),
                                                              ),
                                                            ),
                                                          ),
                                                        ],
                                                      ),
                                                    ),
                                                  ),
                                                ],
                                              ),
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.06,
                                          decoration: BoxDecoration(),
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.06,
                                            decoration: BoxDecoration(),
                                            child: SingleChildScrollView(
                                              scrollDirection: Axis.horizontal,
                                              child: Row(
                                                mainAxisSize: MainAxisSize.max,
                                                children: [
                                                  InkWell(
                                                    onTap: () {
                                                      controller
                                                          .model.loginStyle = 1;
                                                      controller.updateAll();
                                                    },
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.165,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          1,
                                                      constraints:
                                                          BoxConstraints(
                                                        minWidth: 100,
                                                      ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Column(
                                                        mainAxisSize:
                                                            MainAxisSize.max,
                                                        children: [
                                                          Align(
                                                            alignment:
                                                                AlignmentDirectional(
                                                                    0, 1),
                                                            child: Container(
                                                              width: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .width *
                                                                  0.14,
                                                              height: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .height *
                                                                  0.045,
                                                              constraints:
                                                                  BoxConstraints(
                                                                minWidth: 105,
                                                              ),
                                                              decoration:
                                                                  BoxDecoration(),
                                                              child: Align(
                                                                alignment:
                                                                    AlignmentDirectional(
                                                                        0, 1),
                                                                child: Text(
                                                                  '密码登录'.tr,
                                                                  style:
                                                                      TextStyle(
                                                                    fontFamily:
                                                                        'Readex Pro',
                                                                    color: Colors
                                                                        .white,
                                                                    fontSize:
                                                                        AppFontsize
                                                                            .normal_text_size,
                                                                    letterSpacing:
                                                                        0,
                                                                  ),
                                                                ),
                                                              ),
                                                            ),
                                                          ),
                                                        ],
                                                      ),
                                                    ),
                                                  ),
                                                  Container(
                                                    width: MediaQuery.sizeOf(
                                                                context)
                                                            .width *
                                                        0.165,
                                                    height: MediaQuery.sizeOf(
                                                                context)
                                                            .height *
                                                        1,
                                                    constraints: BoxConstraints(
                                                      minWidth: 100,
                                                    ),
                                                    decoration: BoxDecoration(),
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.165,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          1,
                                                      constraints:
                                                          BoxConstraints(
                                                        minWidth: 124,
                                                      ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Column(
                                                        mainAxisSize:
                                                            MainAxisSize.max,
                                                        children: [
                                                          Padding(
                                                            padding:
                                                                EdgeInsetsDirectional
                                                                    .fromSTEB(
                                                                        0,
                                                                        0,
                                                                        0,
                                                                        8),
                                                            child: Container(
                                                              width: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .width *
                                                                  0.165,
                                                              height: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .height *
                                                                  0.045,
                                                              constraints:
                                                                  BoxConstraints(
                                                                minWidth: 124,
                                                              ),
                                                              decoration:
                                                                  BoxDecoration(),
                                                              child: Container(
                                                                width: MediaQuery.sizeOf(
                                                                            context)
                                                                        .width *
                                                                    0.162,
                                                                height: MediaQuery.sizeOf(
                                                                            context)
                                                                        .height *
                                                                    0.055,
                                                                decoration:
                                                                    BoxDecoration(),
                                                                child: Align(
                                                                  alignment:
                                                                      AlignmentDirectional(
                                                                          0, 1),
                                                                  child: Text(
                                                                    '短信登录'.tr,
                                                                    style:
                                                                        TextStyle(
                                                                      fontFamily:
                                                                          'Readex Pro',
                                                                      color: stringToColor(
                                                                          "#84F5FF"),
                                                                      fontSize:
                                                                          AppFontsize
                                                                              .title_size,
                                                                      letterSpacing:
                                                                          0,
                                                                    ),
                                                                  ),
                                                                ),
                                                              ),
                                                            ),
                                                          ),
                                                          Align(
                                                            alignment:
                                                                AlignmentDirectional(
                                                                    0, 0),
                                                            child: Container(
                                                              width: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .width *
                                                                  0.156,
                                                              height: MediaQuery
                                                                          .sizeOf(
                                                                              context)
                                                                      .height *
                                                                  0.003,
                                                              constraints:
                                                                  BoxConstraints(
                                                                minWidth: 100,
                                                                maxWidth: 100,
                                                                maxHeight: 6,
                                                              ),
                                                              decoration:
                                                                  BoxDecoration(
                                                                color: stringToColor(
                                                                    "#84F5FF"),
                                                              ),
                                                            ),
                                                          ),
                                                        ],
                                                      ),
                                                    ),
                                                  ),
                                                ],
                                              ),
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 17, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: 46,
                                          decoration: BoxDecoration(),
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.06,
                                            decoration: BoxDecoration(
                                              color: Color(0xFFF3F5F6),
                                              borderRadius:
                                                  BorderRadius.circular(12),
                                            ),
                                            child: Align(
                                              alignment:
                                                  AlignmentDirectional(0, 0),
                                              child: TextFormField(
                                                // focusNode: _focusNode1,
                                                onChanged: (value) {
                                                  controller.model.account =
                                                      value;
                                                },
                                                initialValue:
                                                    controller.model.account,
                                                obscureText: false,
                                                decoration: InputDecoration(
                                                  labelStyle: TextStyle(
                                                    fontFamily: 'Readex Pro',
                                                    fontSize: AppFontsize
                                                        .normal_text_size,
                                                    letterSpacing: 0,
                                                  ),
                                                  hintText: '请输入账号',
                                                  hintStyle: TextStyle(
                                                    fontFamily: 'Readex Pro',
                                                    color: Color(0xFFD2D2D2),
                                                    fontSize: 13.px,
                                                    letterSpacing: 0,
                                                  ),
                                                  enabledBorder:
                                                      InputBorder.none,
                                                  focusedBorder:
                                                      InputBorder.none,
                                                  errorBorder: InputBorder.none,
                                                  focusedErrorBorder:
                                                      InputBorder.none,
                                                  contentPadding:
                                                      EdgeInsetsDirectional
                                                          .fromSTEB(
                                                              10, 0, 0, 5),
                                                ),
                                                style: TextStyle(
                                                  fontFamily: 'Readex Pro',
                                                  fontSize: AppFontsize
                                                      .normal_text_size,
                                                  letterSpacing: 0,
                                                ),
                                              ),
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 17, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: 46,
                                          decoration: BoxDecoration(),
                                          child: Stack(
                                            children: [
                                              Align(
                                                alignment:
                                                    AlignmentDirectional(0, 0),
                                                child: Container(
                                                  width:
                                                      MediaQuery.sizeOf(context)
                                                          .width,
                                                  height: 46,
                                                  decoration: BoxDecoration(
                                                    color: Color(0xFFF3F5F6),
                                                    borderRadius:
                                                        BorderRadius.circular(
                                                            12),
                                                  ),
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0, 0),
                                                    child: TextFormField(
                                                      obscureText: controller
                                                          .model.showPd!,
                                                      onChanged: (value) {
                                                        controller.model
                                                            .password = value;
                                                      },
                                                      initialValue: controller
                                                          .model.password,
                                                      decoration:
                                                          InputDecoration(
                                                        labelStyle: TextStyle(
                                                          fontFamily:
                                                              'Readex Pro',
                                                          fontSize: AppFontsize
                                                              .normal_text_size,
                                                          letterSpacing: 0,
                                                        ),
                                                        hintText: '请输入密码',
                                                        hintStyle: TextStyle(
                                                          fontFamily:
                                                              'Readex Pro',
                                                          color:
                                                              Color(0xFFD2D2D2),
                                                          fontSize: AppFontsize
                                                              .normal_text_size,
                                                          letterSpacing: 0,
                                                        ),
                                                        enabledBorder:
                                                            InputBorder.none,
                                                        focusedBorder:
                                                            InputBorder.none,
                                                        errorBorder:
                                                            InputBorder.none,
                                                        focusedErrorBorder:
                                                            InputBorder.none,
                                                        contentPadding:
                                                            EdgeInsetsDirectional
                                                                .fromSTEB(10,
                                                                    12, 0, 0),
                                                        suffixIcon: IconButton(
                                                          icon: Icon(
                                                            // 根据 pdshow 控制图标
                                                            controller.model
                                                                    .showPd!
                                                                ? Icons
                                                                    .visibility_off
                                                                : Icons
                                                                    .visibility,
                                                            color: Color(
                                                                0xFF333333),
                                                            size: 16,
                                                          ),
                                                          onPressed: () {
                                                            // 切换 pdshow 状态
                                                            controller.model
                                                                    .showPd =
                                                                !controller
                                                                    .model
                                                                    .showPd!;
                                                            controller
                                                                .updateAll();
                                                          },
                                                        ),
                                                      ),
                                                      style: TextStyle(
                                                        fontFamily:
                                                            'Readex Pro',
                                                        fontSize: AppFontsize
                                                            .normal_text_size,
                                                        letterSpacing: 0,
                                                      ),
                                                    ),
                                                  ),
                                                ),
                                              ),
                                              Obx(() {
                                                return Visibility(
                                                  visible: controller
                                                          .model.loginStyle ==
                                                      2,
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0.2, 0.3),
                                                    child: Container(
                                                      width: 3,
                                                      height: 30,
                                                      decoration: BoxDecoration(
                                                        color: stringToColor(
                                                            "#929699"),
                                                      ),
                                                    ),
                                                  ),
                                                );
                                              }),
                                              Obx(() {
                                                return Visibility(
                                                  visible: controller
                                                          .model.loginStyle ==
                                                      2,
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0.9, 0),
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.157,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          0.014,
                                                      constraints:
                                                          BoxConstraints(
                                                        minWidth: 118,
                                                        minHeight: 30,
                                                        maxWidth: 118,
                                                      ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Align(
                                                        alignment:
                                                            AlignmentDirectional(
                                                                0, 0),
                                                        child: Obx(() {
                                                          final CountdownController
                                                              countdownController =
                                                              Get.find<
                                                                  CountdownController>();
                                                          return InkWell(
                                                            onTap: () async {
                                                              if (countdownController
                                                                      .countdown
                                                                      .value !=
                                                                  0) {
                                                                return;
                                                              }
                                                              if (CommonVariables
                                                                      .isNetWorkOn ==
                                                                  false) {
                                                                TopSlideNotification.show(
                                                                    context,
                                                                    text:
                                                                        "网络未连接，请开启设备网络后重试"
                                                                            .tr,
                                                                    textColor:
                                                                        themeController
                                                                            .currentColor
                                                                            .sc9);
                                                                return;
                                                              }
                                                              String msg =
                                                                  await controller
                                                                      .getCode(
                                                                          context);
                                                              if (msg
                                                                  .isNotEmpty) {
                                                                return;
                                                              }
                                                              countdownController
                                                                          .countdown
                                                                          .value ==
                                                                      0
                                                                  ? countdownController
                                                                      .startCountdown(
                                                                          AppConstants
                                                                              .code_time)
                                                                  : null;
                                                            },
                                                            child: Text(
                                                              countdownController
                                                                          .countdown
                                                                          .value ==
                                                                      0
                                                                  ? '获取验证码'.tr
                                                                  : '${countdownController.countdown.value}' +
                                                                      '秒'.tr,
                                                              style: TextStyle(
                                                                fontFamily:
                                                                    'Readex Pro',
                                                                color: Color(
                                                                    0xFF333333),
                                                                fontSize:
                                                                    AppFontsize
                                                                        .normal_text_size,
                                                                letterSpacing:
                                                                    0,
                                                              ),
                                                            ),
                                                          );
                                                        }),
                                                      ),
                                                    ),
                                                  ),
                                                );
                                              })
                                            ],
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 17, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: 46,
                                          decoration: BoxDecoration(),
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.06,
                                            decoration: BoxDecoration(
                                              color: Color(0xFFF3F5F6),
                                              borderRadius:
                                                  BorderRadius.circular(12),
                                            ),
                                            child: Align(
                                              alignment:
                                                  AlignmentDirectional(0, 0),
                                              child: TextFormField(
                                                // focusNode: _focusNode3,
                                                onChanged: (value) {
                                                  controller.model.phone =
                                                      value;
                                                },
                                                obscureText: false,
                                                decoration: InputDecoration(
                                                  labelStyle: TextStyle(
                                                    fontFamily: 'Readex Pro',
                                                    fontSize: AppFontsize
                                                        .normal_text_size,
                                                    letterSpacing: 0,
                                                  ),
                                                  hintText: '请输入手机号'.tr,
                                                  hintStyle: TextStyle(
                                                    fontFamily: 'Readex Pro',
                                                    color: Color(0xFFD2D2D2),
                                                    fontSize: AppFontsize
                                                        .normal_text_size,
                                                    letterSpacing: 0,
                                                  ),
                                                  enabledBorder:
                                                      InputBorder.none,
                                                  focusedBorder:
                                                      InputBorder.none,
                                                  errorBorder: InputBorder.none,
                                                  focusedErrorBorder:
                                                      InputBorder.none,
                                                  contentPadding:
                                                      EdgeInsetsDirectional
                                                          .fromSTEB(
                                                              10, 0, 0, 5),
                                                ),
                                                style: TextStyle(
                                                  fontFamily: 'Readex Pro',
                                                  fontSize: AppFontsize
                                                      .normal_text_size,
                                                  letterSpacing: 0,
                                                ),
                                              ),
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2
                                          ? true
                                          : false,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 17, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: 46,
                                          decoration: BoxDecoration(),
                                          child: Stack(
                                            children: [
                                              Align(
                                                alignment:
                                                    AlignmentDirectional(0, 0),
                                                child: Container(
                                                  width:
                                                      MediaQuery.sizeOf(context)
                                                          .width,
                                                  height: 46,
                                                  decoration: BoxDecoration(
                                                    color: Color(0xFFF3F5F6),
                                                    borderRadius:
                                                        BorderRadius.circular(
                                                            12),
                                                  ),
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0, 0),
                                                    child: TextFormField(
                                                      // focusNode: _focusNode4,
                                                      onChanged: (value) {
                                                        controller.model.code =
                                                            value;
                                                      },
                                                      obscureText: false,
                                                      decoration:
                                                          InputDecoration(
                                                        labelStyle: TextStyle(
                                                          fontFamily:
                                                              'Readex Pro',
                                                          fontSize: AppFontsize
                                                              .normal_text_size,
                                                          letterSpacing: 0,
                                                        ),
                                                        hintText: '请输入验证码',
                                                        hintStyle: TextStyle(
                                                          fontFamily:
                                                              'Readex Pro',
                                                          color:
                                                              Color(0xFFD2D2D2),
                                                          fontSize: AppFontsize
                                                              .normal_text_size,
                                                          letterSpacing: 0,
                                                        ),
                                                        enabledBorder:
                                                            InputBorder.none,
                                                        focusedBorder:
                                                            InputBorder.none,
                                                        errorBorder:
                                                            InputBorder.none,
                                                        focusedErrorBorder:
                                                            InputBorder.none,
                                                        contentPadding:
                                                            EdgeInsetsDirectional
                                                                .fromSTEB(10, 0,
                                                                    0, 5),
                                                      ),
                                                      style: TextStyle(
                                                        fontFamily:
                                                            'Readex Pro',
                                                        fontSize: AppFontsize
                                                            .normal_text_size,
                                                        letterSpacing: 0,
                                                      ),
                                                    ),
                                                  ),
                                                ),
                                              ),
                                              Align(
                                                alignment: AlignmentDirectional(
                                                    0.2, 0.1),
                                                child: Container(
                                                  width: 1.rpx,
                                                  height: 38.rpx,
                                                  decoration: BoxDecoration(
                                                    color: stringToColor(
                                                        "#929699"),
                                                  ),
                                                ),
                                              ),
                                              Align(
                                                alignment: AlignmentDirectional(
                                                    0.9, 0),
                                                child: Container(
                                                  width:
                                                      MediaQuery.sizeOf(context)
                                                              .width *
                                                          0.157,
                                                  height:
                                                      MediaQuery.sizeOf(context)
                                                              .height *
                                                          0.014,
                                                  constraints: BoxConstraints(
                                                    minWidth: 118,
                                                    minHeight: 30,
                                                  ),
                                                  decoration: BoxDecoration(),
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0, 0),
                                                    child: Obx(() {
                                                      final CountdownController
                                                          countdownController =
                                                          Get.find<
                                                              CountdownController>();
                                                      return InkWell(
                                                        onTap: () async {
                                                          if (countdownController
                                                                  .countdown
                                                                  .value !=
                                                              0) {
                                                            return;
                                                          }
                                                          if (CommonVariables
                                                                  .isNetWorkOn ==
                                                              false) {
                                                            TopSlideNotification.show(
                                                                context,
                                                                text:
                                                                    "网络未连接，请开启设备网络后重试"
                                                                        .tr,
                                                                textColor:
                                                                    themeController
                                                                        .currentColor
                                                                        .sc9);
                                                            return;
                                                          }
                                                          String msg =
                                                              await controller
                                                                  .getCode(
                                                                      context);
                                                          if (msg.isNotEmpty) {
                                                            return;
                                                          }
                                                          countdownController
                                                                      .countdown
                                                                      .value ==
                                                                  0
                                                              ? countdownController
                                                                  .startCountdown(
                                                                      AppConstants
                                                                          .code_time)
                                                              : null;
                                                        },
                                                        child: Text(
                                                          countdownController
                                                                      .countdown
                                                                      .value ==
                                                                  0
                                                              ? '获取验证码'
                                                              : '${countdownController.countdown.value}' +
                                                                  '秒'.tr,
                                                          style: TextStyle(
                                                            fontFamily:
                                                                'Readex Pro',
                                                            color: Color(
                                                                0xFF333333),
                                                            fontSize: AppFontsize
                                                                .normal_text_size,
                                                            letterSpacing: 0,
                                                          ),
                                                        ),
                                                      );
                                                    }),
                                                  ),
                                                ),
                                              ),
                                            ],
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Padding(
                                    padding: EdgeInsetsDirectional.fromSTEB(
                                        96.rpx, 34.rpx, 96.rpx, 0),
                                    child: SizedBox(
                                      width: bodysize!.maxWidth,
                                      height: bodysize!.maxHeight * 0.056,
                                      child: CustomCard(
                                        gradientDirection:
                                            GradientDirection.vertical,
                                        borderRadius: AppConstants()
                                            .normal_container_radius,
                                        onTap: () async {
                                          if (CommonVariables.isNetWorkOn ==
                                              false) {
                                            TopSlideNotification.show(context,
                                                text: "网络未连接，请开启设备网络后重试".tr,
                                                textColor: themeController
                                                    .currentColor.sc9);
                                            return;
                                          }
                                          String msg =
                                              await controller.login(context);
                                          if (msg == null || msg.isEmpty) {
                                            final box = GetStorage();
                                            box.remove('countdown');
                                            CountdownController
                                                countdownController =
                                                Get.find();
                                            countdownController.countdown =
                                                0.obs;
                                            countdownController
                                                .startCountdown(0);

                                            controller.fluwxCancelable
                                                ?.cancel();
                                            Checknetwork.subscription?.cancel();

                                            isProgrammaticPop = true;
                                            MHTLoginController loginController =
                                                Get.find();
                                            loginController.model.account =
                                                null;
                                            loginController.model.password =
                                                null;
                                            loginController.model.phone = null;
                                            loginController.model.code = null;
                                            MHTRegisterController
                                                registerController = Get.find();
                                            registerController
                                                .model.register_agree = false;
                                            Get.offAndToNamed(
                                                "/mianPageBottomChange");
                                          }
                                        },
                                        colors: [
                                          stringToColor("FCFCFC"),
                                          stringToColor("CEECE3")
                                        ], // 纯色背景
                                        enableGradient: true, // 不启用渐变
                                        child: Center(
                                          child: Text(
                                            '登录'.tr,
                                            style: TextStyle(
                                              color: stringToColor("#003058"),
                                              fontSize: 26.rpx,
                                              letterSpacing: 0,
                                            ),
                                          ),
                                        ),
                                      ),
                                    ),
                                  ),
                                  Padding(
                                    padding: EdgeInsetsDirectional.fromSTEB(
                                        96.rpx, 38.rpx, 96.rpx, 0),
                                    child: Container(
                                      width: bodysize!.maxWidth,
                                      height: bodysize!.maxHeight * 0.022,
                                      constraints: BoxConstraints(
                                        minWidth: 466,
                                        minHeight: 30,
                                      ),
                                      // decoration:
                                      //     BoxDecoration(color: Colors.green),
                                      child: Container(
                                        width: bodysize!.maxWidth,
                                        height: bodysize!.maxHeight * 0.022,
                                        constraints: BoxConstraints(
                                          minWidth: 466,
                                          minHeight: 30,
                                        ),
                                        decoration: BoxDecoration(),
                                        child: Row(
                                          mainAxisSize: MainAxisSize.max,
                                          mainAxisAlignment:
                                              MainAxisAlignment.start,
                                          children: [
                                            Align(
                                              alignment:
                                                  AlignmentDirectional(0, 0),
                                              child: Padding(
                                                padding: EdgeInsetsDirectional
                                                    .fromSTEB(0, 3, 0, 0),
                                                child: Container(
                                                  width: 36,
                                                  height: 36,
                                                  decoration: BoxDecoration(),
                                                  child: Align(
                                                    alignment:
                                                        AlignmentDirectional(
                                                            0, 0),
                                                    child: Theme(
                                                        data: ThemeData(
                                                          checkboxTheme:
                                                              CheckboxThemeData(
                                                            visualDensity:
                                                                VisualDensity
                                                                    .compact,
                                                            materialTapTargetSize:
                                                                MaterialTapTargetSize
                                                                    .shrinkWrap,
                                                            shape:
                                                                RoundedRectangleBorder(
                                                              borderRadius:
                                                                  BorderRadius
                                                                      .circular(
                                                                          64),
                                                            ),
                                                          ),
                                                          unselectedWidgetColor:
                                                              Color(0xFFD3D3D3),
                                                        ),
                                                        child: Obx(
                                                          () => Checkbox(
                                                            value: registerController
                                                                    .model
                                                                    .register_agree ??
                                                                false,
                                                            onChanged:
                                                                (newValue) async {
                                                              registerController
                                                                      .model
                                                                      .register_agree =
                                                                  newValue;

                                                              controller
                                                                  .updateAll();
                                                              registerController
                                                                  .updateAll();
                                                              // 获取设备信息,需要用户点击确认隐私协议与用户协议选择框时才能获取
                                                              // if (newValue ==
                                                              //     true) {
                                                              //   Deviceconfig
                                                              //       .initPlatformState();
                                                              // }
                                                            },
                                                            side: BorderSide(
                                                              width: 1.5,
                                                              color:
                                                                  Colors.white,
                                                            ),
                                                            activeColor:
                                                                stringToColor(
                                                                    "#84F5FF"),
                                                            checkColor:
                                                                stringToColor(
                                                                    "#011D33"),
                                                          ),
                                                        )),
                                                  ),
                                                ),
                                              ),
                                            ),
                                            Flexible(
                                              child: Padding(
                                                padding: EdgeInsetsDirectional
                                                    .fromSTEB(0, 0, 0, 0),
                                                child: Container(
                                                  width:
                                                      MediaQuery.sizeOf(context)
                                                              .width *
                                                          0.622,
                                                  height:
                                                      MediaQuery.sizeOf(context)
                                                              .height *
                                                          1,
                                                  constraints: BoxConstraints(
                                                    minWidth: 466,
                                                    minHeight: 30,
                                                  ),
                                                  decoration: BoxDecoration(),
                                                  child: Container(
                                                    width: 100,
                                                    height: 100,
                                                    decoration: BoxDecoration(),
                                                    child: Row(
                                                      mainAxisSize:
                                                          MainAxisSize.max,
                                                      children: [
                                                        Align(
                                                          alignment:
                                                              AlignmentDirectional(
                                                                  0, 0),
                                                          child: Text(
                                                            '我已阅读并同意'.tr,
                                                            style: TextStyle(
                                                              fontFamily:
                                                                  'Readex Pro',
                                                              color:
                                                                  Colors.white,
                                                              fontSize: 12,
                                                              letterSpacing: 0,
                                                            ),
                                                          ),
                                                        ),
                                                        Align(
                                                          alignment:
                                                              AlignmentDirectional(
                                                                  0, 0),
                                                          child: InkWell(
                                                            onTap: () {
                                                              // showCustomConfirmOfWebViewDialog(
                                                              //     context,
                                                              //     "用户协议",
                                                              //     "/#/pages/agreement/agreement?type=2&hideHead=true",
                                                              //     btnName:
                                                              //         "同意并继续");
                                                            },
                                                            child: Text(
                                                              '《用户协议》'.tr,
                                                              style: TextStyle(
                                                                fontFamily:
                                                                    'Readex Pro',
                                                                color:
                                                                    stringToColor(
                                                                        "FF9F66"),
                                                                fontSize: 12,
                                                                letterSpacing:
                                                                    0,
                                                              ),
                                                            ),
                                                          ),
                                                        ),
                                                        Align(
                                                          alignment:
                                                              AlignmentDirectional(
                                                                  0, 0),
                                                          child: Text(
                                                            '与'.tr,
                                                            style: TextStyle(
                                                              fontFamily:
                                                                  'Readex Pro',
                                                              color:
                                                                  Colors.white,
                                                              fontSize: 12,
                                                              letterSpacing: 0,
                                                            ),
                                                          ),
                                                        ),
                                                        Align(
                                                          alignment:
                                                              AlignmentDirectional(
                                                                  0, 0),
                                                          child: InkWell(
                                                            onTap: () {
                                                              // showCustomConfirmOfWebViewDialog(
                                                              //     context,
                                                              //     "隐私协议",
                                                              //     "/#/pages/agreement/agreement?type=1&hideHead=true",
                                                              //     btnName:
                                                              //         "同意并继续");
                                                            },
                                                            child: Text(
                                                              '《隐私协议》'.tr,
                                                              style: TextStyle(
                                                                fontFamily:
                                                                    'Readex Pro',
                                                                color:
                                                                    stringToColor(
                                                                        "FF9F66"),
                                                                fontSize: 12,
                                                                letterSpacing:
                                                                    0,
                                                              ),
                                                            ),
                                                          ),
                                                        ),
                                                      ],
                                                    ),
                                                  ),
                                                ),
                                              ),
                                            ),
                                          ],
                                        ),
                                      ),
                                    ),
                                  ),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                          decoration: BoxDecoration(),
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.025,
                                            constraints: BoxConstraints(
                                              minWidth: 466,
                                              minHeight: 30,
                                            ),
                                            decoration: BoxDecoration(),
                                            child: Row(
                                              mainAxisSize: MainAxisSize.max,
                                              mainAxisAlignment:
                                                  MainAxisAlignment.start,
                                              children: [
                                                Align(
                                                  alignment:
                                                      AlignmentDirectional(
                                                          0, 0),
                                                  child: Padding(
                                                    padding:
                                                        EdgeInsetsDirectional
                                                            .fromSTEB(
                                                                0, 0, 0, 0),
                                                    child: Container(
                                                      width: 36,
                                                      height: 36,
                                                      decoration:
                                                          BoxDecoration(),
                                                    ),
                                                  ),
                                                ),
                                                Flexible(
                                                  child: Padding(
                                                    padding:
                                                        EdgeInsetsDirectional
                                                            .fromSTEB(
                                                                0, 0, 0, 0),
                                                    child: Container(
                                                      width: MediaQuery.sizeOf(
                                                                  context)
                                                              .width *
                                                          0.622,
                                                      height: MediaQuery.sizeOf(
                                                                  context)
                                                              .height *
                                                          1,
                                                      // constraints:
                                                      //     BoxConstraints(
                                                      //   minWidth: 466,
                                                      //   minHeight: 30,
                                                      // ),
                                                      decoration:
                                                          BoxDecoration(),
                                                      child: Container(
                                                        // width: 100,
                                                        // height: 100,
                                                        decoration:
                                                            BoxDecoration(),
                                                        child: Row(
                                                          mainAxisSize:
                                                              MainAxisSize.max,
                                                          children: [
                                                            Align(
                                                              alignment:
                                                                  AlignmentDirectional(
                                                                      0, 0),
                                                              child: Text(
                                                                '注：首次登录会自动创建账号'
                                                                    .tr,
                                                                style:
                                                                    TextStyle(
                                                                  fontFamily:
                                                                      'Readex Pro',
                                                                  color: stringToColor(
                                                                      "#FFFFFF"),
                                                                  fontSize:
                                                                      23.rpx,
                                                                  letterSpacing:
                                                                      0,
                                                                ),
                                                              ),
                                                            ),
                                                          ],
                                                        ),
                                                      ),
                                                    ),
                                                  ),
                                                ),
                                              ],
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                          decoration: BoxDecoration(),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 2,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                          decoration: BoxDecoration(),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                          child: Container(
                                            width: bodysize!.maxWidth,
                                            height: bodysize!.maxHeight * 0.06,
                                            decoration: BoxDecoration(),
                                            child: Row(
                                              mainAxisSize: MainAxisSize.max,
                                              mainAxisAlignment:
                                                  MainAxisAlignment.end,
                                              children: [
                                                InkWell(
                                                  onTap: () {
                                                    Get.toNamed(
                                                        "/registerPage");
                                                  },
                                                  child: Text.rich(
                                                    TextSpan(
                                                      children: [
                                                        TextSpan(
                                                          text: "还没有账号?   ".tr,
                                                          style: TextStyle(
                                                            color: Colors
                                                                .white, // 设置"还没有账号?"为白色
                                                            fontFamily:
                                                                'Readex Pro',
                                                            fontSize: AppFontsize
                                                                .small_text_size,
                                                          ),
                                                        ),
                                                        TextSpan(
                                                          text: '前往注册'.tr,
                                                          style: TextStyle(
                                                            color: stringToColor(
                                                                "#84F5FF"), // 保持"前往注册"为指定颜色
                                                            fontFamily:
                                                                'Readex Pro',
                                                            fontSize: AppFontsize
                                                                .small_text_size,
                                                          ),
                                                        ),
                                                      ],
                                                    ),
                                                  ),
                                                ),
                                                InkWell(
                                                  onTap: () {
                                                    Get.toNamed(
                                                        "/findPasswordPage");
                                                  },
                                                  child: Text(
                                                    '找回密码  '.tr,
                                                    style: TextStyle(
                                                      fontFamily: 'Readex Pro',
                                                      color: stringToColor(
                                                          "#84F5FF"),
                                                      fontSize: AppFontsize
                                                          .small_text_size,
                                                      letterSpacing: 0,
                                                    ),
                                                  ),
                                                ),
                                              ].divide(SizedBox(
                                                width: 57.rpx,
                                              )),
                                            ),
                                          ),
                                        ),
                                      ),
                                    );
                                  }),
                                  Obx(() {
                                    return Visibility(
                                      visible: controller.model.loginStyle == 1,
                                      child: Padding(
                                        padding: EdgeInsetsDirectional.fromSTEB(
                                            96.rpx, 0, 96.rpx, 0),
                                        child: Container(
                                          width: bodysize!.maxWidth,
                                          height: bodysize!.maxHeight * 0.03,
                                        ),
                                      ),
                                    );
                                  }),
                                  Divider(
                                    color: stringToColor("#495A67"), // 线的颜色
                                    thickness: 1.rpx, // 线的粗细
                                    height: 20, // 垂直方向的占位高度
                                    indent: 16, // 左边缩进
                                    endIndent: 16, // 右边缩进
                                  ),
                                  Text(
                                    "其他登录方式".tr,
                                    style: TextStyle(
                                        color: Colors.white,
                                        fontSize: AppConstants()
                                            .normal_text_fontSize),
                                  ),
                                  SizedBox(
                                    height: 30.rpx,
                                  ),
                                  ClickableContainer(
                                    backgroundColor: Colors.white, // 背景色
                                    highlightColor: Colors.grey, // 点击水波纹颜色
                                    borderRadius: 999.rpx,
                                    padding: EdgeInsets.zero,
                                    onTap: () async {
                                      //loginController.model.isIos == true &&
                                      // if (loginController
                                      //             .model.register_agree ==
                                      //         null ||
                                      //     loginController
                                      //             .model.register_agree !=
                                      //         true) {
                                      //   TopSlideNotification.show(
                                      //     context,
                                      //     text: "登录页.未同意协议".tr,
                                      //     textColor:
                                      //         themeController.currentColor.sc9,
                                      //   );
                                      //   return;
                                      // }
                                      // await loginController
                                      //     .wxLoginSendAuth(context);
                                      TopSlideNotification.show(context,
                                          text: "测试阶段,暂不支持".tr);
                                    },
                                    child: Container(
                                      width: 90.rpx,
                                      height: 90.rpx,
                                      decoration: BoxDecoration(
                                        image: DecorationImage(
                                          image: AssetImage(
                                              'assets/images/wechat.png'), // 本地图片
                                          fit: BoxFit.fill, // 填满整个 Container
                                        ),
                                      ),
                                    ),
                                  ),
                                ],
                              ),
                            ),
                          ),
                        ),
                      ),
                      Container(
                        child: Column(
                          children: [
                            Container(
                              width: bodysize!.maxWidth * 0.365,
                              height: MediaQuery.sizeOf(context).height * 0.044,
                              decoration: BoxDecoration(),
                              child: ClipRRect(
                                borderRadius: BorderRadius.circular(8),
                                child: Image.asset(
                                  'assets/images/_18328.png',
                                  width: 300,
                                  height: 200,
                                  fit: BoxFit.contain,
                                ),
                              ),
                            ),
                            SizedBox(
                              height: 73.rpx,
                            ),
                            Container(
                              width: bodysize!.maxWidth,
                              // height: bodysize!.maxHeight * 0.118,
                              height: bodysize!.maxHeight * 0.09,
                              constraints: BoxConstraints(
                                minWidth: 335,
                                minHeight: 61,
                              ),
                              decoration: BoxDecoration(),
                              child: Container(
                                width: bodysize!.maxWidth,
                                height: bodysize!.maxHeight * 1,
                                constraints: BoxConstraints(
                                  minWidth: 335,
                                  minHeight: 61,
                                ),
                                decoration: BoxDecoration(),
                                child: SingleChildScrollView(
                                  child: Column(
                                    mainAxisSize: MainAxisSize.max,
                                    children: [
                                      Align(
                                        alignment: AlignmentDirectional(0, 0),
                                        child: Text(
                                          '合肥眠花糖家具有限责任公司版权所有',
                                          style: TextStyle(
                                            fontFamily: 'Readex Pro',
                                            color: Color(0xFF9EA4B7),
                                            fontSize: AppFontsize.explain_size,
                                            letterSpacing: 0,
                                          ),
                                        ),
                                      ),
                                      Align(
                                        alignment: AlignmentDirectional(0, 0),
                                        child: Text(
                                          'Copyright© 2019-2029',
                                          style: TextStyle(
                                            fontFamily: 'Readex Pro',
                                            color: Color(0xFF9EA4B7),
                                            fontSize: AppFontsize.explain_size,
                                            letterSpacing: 0,
                                          ),
                                        ),
                                      ),
                                    ],
                                  ),
                                ),
                              ),
                            ),
                          ],
                        ),
                      ),
                    ],
                  ),
                ),
              ),
            ),
          ),
        ),
      );
    });
  }

  Future<bool> _handleBackPressed(BuildContext context) async {
    final currentTime = DateTime.now();
    // 如果上次点击返回键时间为空，或者间隔超过 1 秒
    if (_lastBackPressedTime == null ||
        currentTime.difference(_lastBackPressedTime!) > Duration(seconds: 2)) {
      _lastBackPressedTime = currentTime;
      TopSlideNotification.show(
        context,
        text: "再按一次退出程序".tr,
      );
      return false; // 阻止退出程序
    } else {
      return true; // 允许退出程序
    }
  }
}
