intimacy_analyze_config_helper.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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_config_response.dart';
  4. import '../data/repository/intimacy_analyze_repository.dart';
  5. /// 亲密度配置的帮助类
  6. @injectable
  7. class IntimacyAnalyzeConfigHelper {
  8. /// 亲密度分析Repository
  9. IntimacyAnalyzeRepository intimacyAnalyzeRepository;
  10. /// 亲密度配置
  11. Rxn<IntimacyAnalyzeConfigResponse> get intimacyAnalyzeConfig =>
  12. intimacyAnalyzeRepository.intimacyAnalyzeConfig;
  13. IntimacyAnalyzeConfigHelper(this.intimacyAnalyzeRepository);
  14. /// 是否可以自定义预测方向
  15. bool isCanCustomDirection() {
  16. var config = intimacyAnalyzeConfig.value;
  17. if (config == null) {
  18. return false;
  19. }
  20. return config.custom ?? false;
  21. }
  22. /// 获取自定义预测方向,最大自定义字符数
  23. int getMaxCustomDirectionWords() {
  24. var config = intimacyAnalyzeConfig.value;
  25. if (config == null) {
  26. return 0;
  27. }
  28. return config.maxCustomWords ?? 0;
  29. }
  30. /// 获取自定义预测方向,最小自定义字符数
  31. int getMinCustomDirectionWords() {
  32. var config = intimacyAnalyzeConfig.value;
  33. if (config == null) {
  34. return 0;
  35. }
  36. return config.minCustomWords ?? 0;
  37. }
  38. /// 最多,可以选多少张图片
  39. int getMaxAssetsCount() {
  40. var config = intimacyAnalyzeConfig.value;
  41. if (config == null) {
  42. return 1;
  43. }
  44. // 最多选多少张
  45. if (config.maxImageCount != null) {
  46. return config.maxImageCount!;
  47. }
  48. // 最少选多少张
  49. return config.minImageCount ?? 1;
  50. }
  51. }