You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.9 KiB

import 'package:get/get.dart';
import 'package:flutter/material.dart';
class SettingsController extends GetxController {
// 噪声消除开关状态
final RxBool noiseReductionEnabled = true.obs;
// 环境音增强模式
final RxString ambientSoundMode = '中等'.obs;
final List<String> availableAmbientModes = ['关闭', '低', '中等', '高'];
// 立体声平衡值
final RxDouble stereoBalance = 0.0.obs; // -1.0 (左) 到 1.0 (右), 0 为中间
// AI助理默认模式
final RxString aiAssistantMode = '通用助手'.obs;
final List<String> availableAiModes = ['通用助手', '翻译助手', '学习助手', '交际助手'];
// AI声音选择
final RxString aiVoice = '默认女声'.obs;
final List<String> availableVoices = ['默认女声', '默认男声', '温柔女声', '磁性男声', '活力女声'];
// 翻译语言对
final RxString sourceLanguage = '中文'.obs;
final RxString targetLanguage = '英文'.obs;
final List<String> availableLanguages = ['中文', '英文', '日文', '韩文', '法文', '德文', '西班牙文', '俄文'];
void toggleNoiseReduction(bool value) {
noiseReductionEnabled.value = value;
}
void updateAmbientSoundMode(String mode) {
ambientSoundMode.value = mode;
}
void updateStereoBalance(double value) {
stereoBalance.value = value;
}
void updateAiAssistantMode(String mode) {
aiAssistantMode.value = mode;
}
void updateAiVoice(String voice) {
aiVoice.value = voice;
}
void setSourceLanguage(String language) {
sourceLanguage.value = language;
}
void setTargetLanguage(String language) {
targetLanguage.value = language;
}
void swapLanguages() {
final temp = sourceLanguage.value;
sourceLanguage.value = targetLanguage.value;
targetLanguage.value = temp;
}
void signOut() {
// 在此实现退出登录逻辑
Get.offAllNamed('/login');
}
}