You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
import 'package:dating_touchme_app/controller/global.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get_storage/get_storage.dart';
|
|
|
|
class TeenagerModeOpenController extends GetxController {
|
|
final password = "".obs;
|
|
final confirmPassword = "".obs;
|
|
final nowPassword = "".obs;
|
|
final passwordController = TextEditingController().obs;
|
|
final teenageMode = false.obs;
|
|
|
|
final storage = GetStorage();
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
nowPassword.value = storage.read<String>('teenagerPassword') ?? "";
|
|
teenageMode.value = GlobalData().teenagerMode;
|
|
}
|
|
|
|
openTeenagerMode() async {
|
|
if(password.value != confirmPassword.value){
|
|
SmartDialog.showToast('密码不一致,请重新输入');
|
|
password.value = "";
|
|
confirmPassword.value = "";
|
|
passwordController.value.value = TextEditingValue(
|
|
text: "",
|
|
selection: TextSelection.fromPosition(TextPosition(offset: 0)),
|
|
);
|
|
} else {
|
|
GlobalData().teenagerMode = true;
|
|
await storage.write('teenagerMode', true);
|
|
await storage.write('teenagerPassword', confirmPassword.value);
|
|
Get.back();
|
|
}
|
|
}
|
|
|
|
closeTeenagerMode() async {
|
|
if(password.value != nowPassword.value){
|
|
SmartDialog.showToast('密码错误,请重新输入');
|
|
password.value = "";
|
|
passwordController.value.value = TextEditingValue(
|
|
text: "",
|
|
selection: TextSelection.fromPosition(TextPosition(offset: 0)),
|
|
);
|
|
} else {
|
|
GlobalData().teenagerMode = false;
|
|
await storage.write('teenagerMode', false);
|
|
await storage.write('teenagerPassword', "");
|
|
Get.back();
|
|
}
|
|
}
|
|
}
|