import 'dart:async'; import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:injectable/injectable.dart'; import 'package:keyboard/base/base_controller.dart'; import 'package:keyboard/module/login/login_page.dart'; import 'package:keyboard/utils/atmob_log.dart'; import 'package:keyboard/utils/toast_util.dart'; import '../../handler/wechat_login_service.dart'; import '../member_agreement_dialog.dart'; import '../privacy_agreement_dialog.dart'; import 'login_dialog.dart'; @injectable class LoginDialogController extends BaseController { final tag = "LoginDialogController"; final WechatLoginService wechatLoginService; LoginDialogController(this.wechatLoginService); final RxBool _isAgree = false.obs; bool get isAgree => _isAgree.value; clickAgree() { _isAgree.value = !_isAgree.value; } void clickWxLogin() async { if (!_isAgree.value) { PrivacyAgreementDialog.show( btnConfirm: () async { _isAgree.value = true; clickWxLogin(); }, ); return; } wechatLoginService.login( onSuccess: (code) { debugPrint("登录成功 code: $code"); // TODO: 通过 code 获取后端 token }, onError: (code, msg) { ToastUtil.show("微信登录失败:$msg"); }, onCancel: () { ToastUtil.show("用户取消登录"); }, ); } void clickClose() { AtmobLog.d(tag, "clickClose"); SmartDialog.dismiss(tag: LoginDialog.TAG); } void clickPhoneLogin() { AtmobLog.d(tag, "clickPhoneLogin"); LoginPage.start(); SmartDialog.dismiss(tag: LoginDialog.TAG); } @override void onInit() { super.onInit(); } @override void onClose() { super.onClose(); } }