mine_controller.dart 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import 'package:flutter/rendering.dart';
  2. import 'package:get/get.dart';
  3. import 'package:get/get_core/src/get_main.dart';
  4. import 'package:injectable/injectable.dart';
  5. import 'package:keyboard/base/base_controller.dart';
  6. import 'package:keyboard/module/about/about_page.dart';
  7. import 'package:keyboard/module/feedback/feedback_page.dart';
  8. import '../../data/consts/error_code.dart';
  9. import '../../data/repository/account_repository.dart';
  10. import '../../resource/string.gen.dart';
  11. import '../../utils/http_handler.dart';
  12. import '../../utils/toast_util.dart';
  13. @injectable
  14. class MineController extends BaseController {
  15. final AccountRepository accountRepository;
  16. MineController(this.accountRepository);
  17. bool get isLogin => accountRepository.isLogin.value;
  18. String? get phone => accountRepository.loginPhoneNum.value;
  19. String getUserName() {
  20. if (isLogin || phone != null && phone!.length > 4) {
  21. return '${StringName.mineAccountLoggedDesc}${phone!.substring(phone!.length - 4)}';
  22. } else {
  23. return StringName.mineAccountNoLogin;
  24. }
  25. }
  26. clickVip() {
  27. debugPrint('clickVip');
  28. }
  29. clickOnlineCustomerService() {
  30. debugPrint('clickOnlineCustomerService');
  31. accountRepository
  32. .loginUserLogin("11223344551", "1122")
  33. .then((data) {
  34. Get.back();
  35. ToastUtil.show(StringName.loginSuccess);
  36. })
  37. .catchError((error) {
  38. if (error is LoginTooOftenException) {
  39. ToastUtil.show(StringName.loginTooOftenToast);
  40. return;
  41. }
  42. if (error is ServerErrorException) {
  43. if (error.code == ErrorCode.verificationCodeError) {
  44. ToastUtil.show(StringName.loginVerificationCodeErrorToast);
  45. } else {
  46. ToastUtil.show(error.message);
  47. }
  48. } else {
  49. ToastUtil.show(StringName.loginFailedToast);
  50. }
  51. });
  52. }
  53. clickTutorials() {
  54. debugPrint('clickTutorials');
  55. }
  56. clickPersonalProfile() {
  57. debugPrint('clickPersonalProfile');
  58. accountRepository.setUserInfo(name: "老铁",birthday: "2021-03-17",gender: 1,hobbies: ["a","b","c"],characters: ["测试"]);
  59. }
  60. clickFeedback() {
  61. debugPrint('clickFeedback');
  62. FeedbackPage.start();
  63. }
  64. clickAboutUs() {
  65. debugPrint('clickAboutUs');
  66. AboutPage.start();
  67. }
  68. }