| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- import 'package:flutter/cupertino.dart';
- import 'package:injectable/injectable.dart';
- import 'package:keyboard/base/base_controller.dart';
- import 'package:keyboard/data/repository/account_repository.dart';
- import 'package:get/get.dart';
- import '../../resource/string.gen.dart';
- import '../../utils/error_handler.dart';
- import '../../utils/toast_util.dart';
- enum FeedbackType {
- feedback(1),
- complaint(2);
- final int value;
- const FeedbackType(this.value);
- }
- @injectable
- class FeedbackController extends BaseController {
- final RxString _phone = ''.obs;
- final RxString _content = "".obs;
- final Rx<FeedbackType> type = FeedbackType.feedback.obs;
- get phone => _phone.value;
- get content => _content.value;
- final AccountRepository accountRepository;
- FeedbackController(this.accountRepository);
- onPhoneChanged(String phone) {
- _phone.value = phone;
- }
- onContentChanged(String content) {
- _content.value = content;
- }
- backClick() {
- debugPrint("backClick");
- Get.back();
- }
- submitClick() {
- if (_content.value.isEmpty) {
- if (type.value == FeedbackType.feedback) {
- ToastUtil.show(StringName.feedbackContentEmpty);
- } else {
- ToastUtil.show(StringName.complaintContentEmpty);
- }
- return;
- }
- if (_phone.value.isEmpty) {
- ToastUtil.show(StringName.feedbackPhoneEmpty);
- return;
- }
- accountRepository
- .complaintSubmit(_phone.value, _content.value)
- .then((data) {
- if (type.value == FeedbackType.feedback) {
- ToastUtil.show(StringName.feedbackSubmitSuccess);
- } else {
- ToastUtil.show(StringName.complaintContentSuccess);
- }
- Get.back();
- })
- .catchError((error) {
- ErrorHandler.toastError(error);
- ToastUtil.show("提交失败,请稍后重试");
- });
- }
- @override
- void onInit() {
- super.onInit();
- final arguments = Get.arguments;
- if (arguments != null && arguments["type"] != null) {
- type.value = arguments["type"];
- }
- }
- getTitleText() {
- if (type.value == FeedbackType.feedback) {
- return StringName.feedback;
- } else {
- return StringName.complaintReport;
- }
- }
- getContentTitle(){
- if (type.value == FeedbackType.feedback) {
- return StringName.feedbackContentTitle;
- } else {
- return StringName.complaintContentTitle;
- }
- }
- getContentHint() {
- if (type.value == FeedbackType.feedback) {
- return StringName.feedbackContentHint;
- } else {
- return StringName.complaintContentHint;
- }
- }
- }
|