| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 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/data/repository/account_repository.dart';
- import 'package:keyboard/module/login/login_page.dart';
- import 'package:keyboard/utils/atmob_log.dart';
- import 'package:keyboard/utils/toast_util.dart';
- import '../../data/consts/error_code.dart';
- import '../../handler/wechat_login_service.dart';
- import '../../resource/string.gen.dart';
- import '../../utils/error_handler.dart';
- import '../../utils/http_handler.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;
- final AccountRepository accountRepository;
- LoginDialogController(this.wechatLoginService, this.accountRepository);
- 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) {
- accountRepository
- .wechatLogin(code)
- .then((data) {
- ToastUtil.show(StringName.loginSuccess);
- SmartDialog.dismiss(tag: LoginDialog.TAG);
- })
- .catchError((error) {
- if (error is ServerErrorException) {
- if (error.code == ErrorCode.verificationCodeError) {
- ToastUtil.show(StringName.loginVerificationCodeErrorToast);
- } else {
- ToastUtil.show(error.message);
- }
- } else {
- ErrorHandler.toastError(error);
- }
- });
- },
- 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();
- }
- }
|