| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- class FeedbackController extends GetxController {
- // 反馈内容控制器
- final feedbackController = TextEditingController();
- // 邮箱控制器
- final emailController = TextEditingController();
- // 是否正在提交
- final isSubmitting = false.obs;
- @override
- void onInit() {
- super.onInit();
- }
- @override
- void onReady() {
- super.onReady();
- }
- @override
- void onClose() {
- feedbackController.dispose();
- emailController.dispose();
- super.onClose();
- }
- /// 提交反馈
- void submitFeedback() async {
- if (feedbackController.text.trim().isEmpty) {
- Get.snackbar('提示', '请输入反馈内容');
- return;
- }
- if (emailController.text.trim().isEmpty) {
- Get.snackbar('提示', '请输入邮箱地址');
- return;
- }
- // 简单的邮箱格式验证
- if (!GetUtils.isEmail(emailController.text.trim())) {
- Get.snackbar('提示', '请输入有效的邮箱地址');
- return;
- }
- isSubmitting.value = true;
- try {
- // 模拟提交过程
- await Future.delayed(const Duration(seconds: 2));
- // 提交成功
- Get.snackbar('成功', '反馈已提交,我们会尽快回复您');
- // 清空输入框
- feedbackController.clear();
- emailController.clear();
- } catch (e) {
- Get.snackbar('错误', '提交失败,请稍后重试');
- } finally {
- isSubmitting.value = false;
- }
- }
- /// 检查是否可以提交
- bool get canSubmit {
- return feedbackController.text.trim().isNotEmpty &&
- emailController.text.trim().isNotEmpty;
- }
- }
|