intimacy_analyze_config_helper.dart 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import 'package:get/get_rx/src/rx_types/rx_types.dart';
  2. import 'package:injectable/injectable.dart';
  3. import '../data/api/response/intimacy_analyze_chat_config_response.dart';
  4. import '../data/api/response/intimacy_analyze_config_response.dart';
  5. import '../data/api/response/intimacy_analyze_reply_config_response.dart';
  6. import '../data/repository/intimacy_analyze_repository.dart';
  7. /// 亲密度分析模块的配置的帮助类
  8. @injectable
  9. class IntimacyAnalyzeConfigHelper {
  10. /// 亲密度分析Repository
  11. IntimacyAnalyzeRepository intimacyAnalyzeRepository;
  12. /// 亲密度配置
  13. Rxn<IntimacyAnalyzeConfigResponse> get intimacyAnalyzeConfig =>
  14. intimacyAnalyzeRepository.intimacyAnalyzeConfig;
  15. /// 对话分析配置
  16. Rxn<IntimacyAnalyzeChatConfigResponse> get intimacyAnalyzeChatConfig =>
  17. intimacyAnalyzeRepository.intimacyAnalyzeChatConfig;
  18. /// 识图回复配置
  19. Rxn<IntimacyAnalyzeReplyConfigResponse> get intimacyAnalyzeReplyConfig =>
  20. intimacyAnalyzeRepository.intimacyAnalyzeReplyConfig;
  21. IntimacyAnalyzeConfigHelper(this.intimacyAnalyzeRepository);
  22. /// 是否可以自定义预测方向
  23. bool isCanCustomDirection() {
  24. var config = intimacyAnalyzeConfig.value;
  25. if (config == null) {
  26. return false;
  27. }
  28. return config.custom ?? false;
  29. }
  30. /// 获取自定义预测方向,最大自定义字符数
  31. int getMaxCustomDirectionWords() {
  32. var config = intimacyAnalyzeConfig.value;
  33. if (config == null) {
  34. return 0;
  35. }
  36. return config.maxCustomWords ?? 0;
  37. }
  38. /// 获取自定义预测方向,最小自定义字符数
  39. int getMinCustomDirectionWords() {
  40. var config = intimacyAnalyzeConfig.value;
  41. if (config == null) {
  42. return 0;
  43. }
  44. return config.minCustomWords ?? 0;
  45. }
  46. /// 最多,可以选多少张图片
  47. int getMaxAssetsCount() {
  48. var config = intimacyAnalyzeConfig.value;
  49. if (config == null) {
  50. return 1;
  51. }
  52. // 最多选多少张
  53. if (config.maxImageCount != null) {
  54. return config.maxImageCount!;
  55. }
  56. // 最少选多少张
  57. return config.minImageCount ?? 1;
  58. }
  59. }