129 lines
4.3 KiB
Dart
129 lines
4.3 KiB
Dart
import 'package:ef/ef.dart';
|
|
import 'package:flutter/src/widgets/framework.dart';
|
|
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'register_controller.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class RegisterModel {
|
|
String? register_phone; //注册手机号
|
|
String? register_pd; //注册密码
|
|
String? register_confirm_pd; //注册确认密码
|
|
String? register_code; //注册验证码
|
|
|
|
bool? register_agree = false; //注册协议
|
|
|
|
bool? pdshow = true; //是否显示密码
|
|
bool? cpdshow = true; //是否显示密码
|
|
|
|
RegisterModel();
|
|
static RegisterModel fromJson(Map<String, dynamic> json) =>
|
|
_$RegisterModelFromJson(json);
|
|
Map<String, dynamic> toJson() => _$RegisterModelToJson(this);
|
|
}
|
|
|
|
class RegisterController extends GetControllerEx<RegisterModel> {
|
|
// final UserRepository repository = UserRepository();
|
|
RegisterController() {
|
|
attr = GetModel(RegisterModel()).obs;
|
|
}
|
|
|
|
// Future<String> registerUser(BuildContext context) async {
|
|
// String message = "";
|
|
// final MyDialogController myDialogController =
|
|
// Get.find<MyDialogController>();
|
|
// if (model.register_phone == null || model.register_phone!.isEmpty) {
|
|
// message = "请输入手机号";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (!MyUtils.isValidPhoneNumber(model.register_phone!)) {
|
|
// message = '请输入正确的手机号';
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (model.register_pd == null || model.register_pd!.isEmpty) {
|
|
// message = "请输入密码";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// String passwordMsg = "1.密码长度必须至少8位\n2.密码需要字母加数字\n3.特殊字符和大写字母至少包含一个";
|
|
// bool hasUppercase = model.register_pd!.contains(RegExp(r'[A-Z]'));
|
|
// bool hasDigit = model.register_pd!.contains(RegExp(r'[0-9]'));
|
|
// bool hasSpecialCharacters =
|
|
// model.register_pd!.contains(RegExp(r'[!@#$%^&*(),.?":{}|<>]'));
|
|
// bool hasLetter = model.register_pd!.contains(RegExp(r'[a-zA-Z]'));
|
|
|
|
// if (model.register_pd!.length < 8) {
|
|
// message = passwordMsg;
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
|
|
// if (!hasLetter || !hasDigit) {
|
|
// message = passwordMsg;
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
|
|
// if (!(hasSpecialCharacters || hasUppercase)) {
|
|
// message = passwordMsg;
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (model.register_confirm_pd == null ||
|
|
// model.register_confirm_pd!.isEmpty) {
|
|
// message = "请输入确认密码";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (model.register_pd != model.register_confirm_pd) {
|
|
// message = "两次密码不一致";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (model.register_code == null || model.register_code!.isEmpty) {
|
|
// message = "请输入验证码";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (model.register_agree == null || model.register_agree != true) {
|
|
// message = "需要同意协议";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// message = await repository.createUser(
|
|
// model.register_pd!, model.register_phone!, model.register_code!);
|
|
// if (message.isNotEmpty) {
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
|
|
// return "";
|
|
// }
|
|
|
|
// Future<String> getCode(BuildContext context) async {
|
|
// String message = "";
|
|
// final MyDialogController myDialogController =
|
|
// Get.find<MyDialogController>();
|
|
// if (model.register_phone == null || model.register_phone!.isEmpty) {
|
|
// message = "请输入手机号";
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// if (!MyUtils.isValidPhoneNumber(model.register_phone!)) {
|
|
// message = '请输入正确的手机号';
|
|
// showToast(message);
|
|
// return message;
|
|
// }
|
|
// message = await repository.sendRegisterCode(model.register_phone!);
|
|
// if (message.isNotEmpty) {
|
|
// showToast("发送失败,请稍后再试!");
|
|
// return "发送失败,请稍后再试!";
|
|
// } else {
|
|
// showToast("发送验证码成功!", color: color_success);
|
|
// }
|
|
// return '';
|
|
// }
|
|
}
|