import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:injectable/injectable.dart'; import '../data/api/response/intimacy_analyze_chat_config_response.dart'; import '../data/api/response/intimacy_analyze_config_response.dart'; import '../data/repository/intimacy_analyze_repository.dart'; /// 亲密度分析模块的配置的帮助类 @injectable class IntimacyAnalyzeConfigHelper { /// 亲密度分析Repository IntimacyAnalyzeRepository intimacyAnalyzeRepository; /// 亲密度配置 Rxn get intimacyAnalyzeConfig => intimacyAnalyzeRepository.intimacyAnalyzeConfig; /// 对话分析配置 Rxn get intimacyAnalyzeChatConfig => intimacyAnalyzeRepository.intimacyAnalyzeChatConfig; IntimacyAnalyzeConfigHelper(this.intimacyAnalyzeRepository); /// 是否可以自定义预测方向 bool isCanCustomDirection() { var config = intimacyAnalyzeConfig.value; if (config == null) { return false; } return config.custom ?? false; } /// 获取自定义预测方向,最大自定义字符数 int getMaxCustomDirectionWords() { var config = intimacyAnalyzeConfig.value; if (config == null) { return 0; } return config.maxCustomWords ?? 0; } /// 获取自定义预测方向,最小自定义字符数 int getMinCustomDirectionWords() { var config = intimacyAnalyzeConfig.value; if (config == null) { return 0; } return config.minCustomWords ?? 0; } /// 最多,可以选多少张图片 int getMaxAssetsCount() { var config = intimacyAnalyzeConfig.value; if (config == null) { return 1; } // 最多选多少张 if (config.maxImageCount != null) { return config.maxImageCount!; } // 最少选多少张 return config.minImageCount ?? 1; } }