66 lines
2.3 KiB
Dart
Executable File
66 lines
2.3 KiB
Dart
Executable File
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);
|
|
}
|
|
}
|