|
@@ -1,6 +1,7 @@
|
|
|
import 'package:get/get.dart';
|
|
import 'package:get/get.dart';
|
|
|
import 'package:injectable/injectable.dart';
|
|
import 'package:injectable/injectable.dart';
|
|
|
import 'package:keyboard/base/base_controller.dart';
|
|
import 'package:keyboard/base/base_controller.dart';
|
|
|
|
|
+import 'package:keyboard/data/api/request/keyboard_delete_request.dart';
|
|
|
import 'package:keyboard/data/bean/default_avatar_info.dart';
|
|
import 'package:keyboard/data/bean/default_avatar_info.dart';
|
|
|
import 'package:keyboard/data/bean/keyboard_info.dart';
|
|
import 'package:keyboard/data/bean/keyboard_info.dart';
|
|
|
import 'package:keyboard/data/repository/keyboard_repository.dart';
|
|
import 'package:keyboard/data/repository/keyboard_repository.dart';
|
|
@@ -18,6 +19,7 @@ import '../../../utils/http_handler.dart';
|
|
|
import '../../change/birthday/change_birthday_page.dart';
|
|
import '../../change/birthday/change_birthday_page.dart';
|
|
|
import '../../change/nickname/change_nickname_page.dart';
|
|
import '../../change/nickname/change_nickname_page.dart';
|
|
|
import '../../keyboard_manage/keyboard_manage_page.dart';
|
|
import '../../keyboard_manage/keyboard_manage_page.dart';
|
|
|
|
|
+import '../dialog/delete_profile_confirm_dialog.dart';
|
|
|
|
|
|
|
|
enum ProfileEditMode {
|
|
enum ProfileEditMode {
|
|
|
add, // 新增
|
|
add, // 新增
|
|
@@ -41,11 +43,11 @@ class ProfileEditController extends BaseController {
|
|
|
Rxn<DefaultAvatarInfo> get currentDefaultAvatarInfo =>
|
|
Rxn<DefaultAvatarInfo> get currentDefaultAvatarInfo =>
|
|
|
configRepository.defaultAvatarInfo;
|
|
configRepository.defaultAvatarInfo;
|
|
|
|
|
|
|
|
- late final ProfileEditMode mode;
|
|
|
|
|
|
|
+ final Rxn<ProfileEditMode> mode = Rxn<ProfileEditMode>();
|
|
|
|
|
|
|
|
- bool get isEditMode => mode == ProfileEditMode.edit;
|
|
|
|
|
|
|
+ bool get isEditMode => mode.value == ProfileEditMode.edit;
|
|
|
|
|
|
|
|
- bool get isAddMode => mode == ProfileEditMode.add;
|
|
|
|
|
|
|
+ bool get isAddMode => mode.value == ProfileEditMode.add;
|
|
|
|
|
|
|
|
final Rx<KeyboardInfo> _currentCustomKeyboardInfo = KeyboardInfo().obs;
|
|
final Rx<KeyboardInfo> _currentCustomKeyboardInfo = KeyboardInfo().obs;
|
|
|
|
|
|
|
@@ -88,7 +90,7 @@ class ProfileEditController extends BaseController {
|
|
|
super.onInit();
|
|
super.onInit();
|
|
|
final KeyboardInfo? keyboardInfo = Get.arguments?["keyboardInfo"];
|
|
final KeyboardInfo? keyboardInfo = Get.arguments?["keyboardInfo"];
|
|
|
if (keyboardInfo != null) {
|
|
if (keyboardInfo != null) {
|
|
|
- mode = ProfileEditMode.edit;
|
|
|
|
|
|
|
+ mode.value = ProfileEditMode.edit;
|
|
|
_currentCustomKeyboardInfo.value = keyboardInfo;
|
|
_currentCustomKeyboardInfo.value = keyboardInfo;
|
|
|
_currentNickname.value = keyboardInfo.name;
|
|
_currentNickname.value = keyboardInfo.name;
|
|
|
_currentGender.value = keyboardInfo.gender;
|
|
_currentGender.value = keyboardInfo.gender;
|
|
@@ -97,7 +99,7 @@ class ProfileEditController extends BaseController {
|
|
|
_avatarUrl.value = keyboardInfo.imageUrl ?? "";
|
|
_avatarUrl.value = keyboardInfo.imageUrl ?? "";
|
|
|
getKeyboardCharacterList(keyboardId: keyboardInfo.id!);
|
|
getKeyboardCharacterList(keyboardId: keyboardInfo.id!);
|
|
|
} else {
|
|
} else {
|
|
|
- mode = ProfileEditMode.add;
|
|
|
|
|
|
|
+ mode.value = ProfileEditMode.add;
|
|
|
_currentGender.value = null;
|
|
_currentGender.value = null;
|
|
|
_currentCustomIntimacy.value = 30;
|
|
_currentCustomIntimacy.value = 30;
|
|
|
_avatarUrl.value = "";
|
|
_avatarUrl.value = "";
|
|
@@ -166,6 +168,18 @@ class ProfileEditController extends BaseController {
|
|
|
Get.back();
|
|
Get.back();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /// 删除档案
|
|
|
|
|
+ clickDelete() {
|
|
|
|
|
+ DeleteProfileConfirmDialog.show(_currentNickname.value ?? "", () async {
|
|
|
|
|
+ var keyboardId = _currentCustomKeyboardInfo.value.id ?? "";
|
|
|
|
|
+ // 发起删除
|
|
|
|
|
+ await keyboardRepository.keyboardDelete(
|
|
|
|
|
+ KeyboardDeleteRequest(keyboardId: keyboardId),
|
|
|
|
|
+ );
|
|
|
|
|
+ Get.back(result: true);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
void clickNickname() async {
|
|
void clickNickname() async {
|
|
|
AtmobLog.d(tag, 'clickNickname');
|
|
AtmobLog.d(tag, 'clickNickname');
|
|
|
final result = await ChangeNicknamePage.start(
|
|
final result = await ChangeNicknamePage.start(
|
|
@@ -275,10 +289,9 @@ class ProfileEditController extends BaseController {
|
|
|
|
|
|
|
|
void _handleError(dynamic error) {
|
|
void _handleError(dynamic error) {
|
|
|
if (error is ServerErrorException) {
|
|
if (error is ServerErrorException) {
|
|
|
- ErrorHandler.toastError(error,message: error.message);
|
|
|
|
|
|
|
+ ErrorHandler.toastError(error, message: error.message);
|
|
|
AtmobLog.d(tag, 'clickSaveButton error: ${error.message}');
|
|
AtmobLog.d(tag, 'clickSaveButton error: ${error.message}');
|
|
|
} else {
|
|
} else {
|
|
|
-
|
|
|
|
|
AtmobLog.d(tag, 'clickSaveButton error1: $error');
|
|
AtmobLog.d(tag, 'clickSaveButton error1: $error');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|