import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:translator/translator.dart'; import 'package:translator_lux/dataBase/table/translator_history_table.dart'; import 'package:translator_lux/entity/translator_history_entity.dart'; import 'package:translator_lux/global/global_state.dart'; import 'package:uuid/uuid.dart'; import 'translator_result_state.dart'; /// @description: /// @author /// @date: 2024-06-27 16:53:29 class TranslatorResultPageLogic extends GetxController { final state = TranslatorResultPageState(); @override void onInit() { super.onInit(); translation(); } translation() async { if (state.sourceText.value == "" && state.targetText.value == "") { var arguments = Get.arguments; var translator = GoogleTranslator(); debugPrint( "arguments[\"translateString\"]参数有${arguments["translateString"]}"); debugPrint( "GlobalState.fromLanguageCode.value参数有${GlobalState.fromLanguageCode.value}"); debugPrint( "GlobalState.toLanguageCode.value参数有${GlobalState.toLanguageCode.value}"); Translation translate = await translator.translate( arguments["translateString"], from: GlobalState.fromLanguageCode.value, to: GlobalState.toLanguageCode.value, ); state.sourceText.value = translate.source; state.targetText.value = translate.text; debugPrint(translate.toString()); addHistory( sourceText: translate.source, targetText: translate.text, ); update(); } } addHistory({required String sourceText, required String targetText}) { var historyEntity = TranslatorHistoryEntity().copyWith( tid: const Uuid().v1(), sourceText: sourceText, sourcecountryCode: GlobalState.fromCountryCode.value, sourcelanguageName: GlobalState.fromCountryName.value, sourcelanguageCode: GlobalState.fromLanguageCode.value, targetText: targetText, targetcountryCode: GlobalState.toCountryCode.value, targetlanguageName: GlobalState.toCountryName.value, targetlanguageCode: GlobalState.toLanguageCode.value, translatorTime: DateTime.now().toString(), isShow: "true", ); TranslatorHistoryTable.insertData(historyEntity); } }