소스 검색

[fix]亲密度分析,截图回复-识图回复,点击再试试按钮,切换回上传状态

hezihao 7 달 전
부모
커밋
920c7c1180

+ 1 - 0
assets/string/base/string.xml

@@ -343,6 +343,7 @@
     <string name="no_upload_conversation_image_tip">请上传聊天记录图片</string>
 
     <string name="intimacy_analyse_ing">分析中</string>
+    <string name="intimacy_analyse_ing_please_wait">分析中,请稍后</string>
     <string name="intimacy_analyse_add">添加</string>
 
     <string name="intimacy_interaction">互动好感度</string>

+ 27 - 6
lib/module/intimacy_analyse/screenshot_reply/scan_image_reply/scan_image_reply_controller.dart

@@ -182,6 +182,12 @@ class ScanImageReplyController extends BaseController {
 
   /// 点击上传截图按钮
   void clickUploadScreenshotBtn(BuildContext context) async {
+    // 分析中,禁止上传
+    if (isResultGenerating.value) {
+      ToastUtil.show(StringName.intimacyAnalyseIngPleaseWait);
+      return;
+    }
+
     // 跳转到图片选择,并返回选择的图片列表
     List<AssetEntity> selectedAssetList = await ImagePickerUtil.pickImage(
       context,
@@ -191,17 +197,32 @@ class ScanImageReplyController extends BaseController {
 
     // 切换为上传页
     if (selectedAssetList.isNotEmpty) {
+      // 重置数据
+      _resetData();
       // 上传图片
       _handleSelectedAssetUpload(selectedAssetList);
-      // 清空已生成的数据
-      isResultGenerating.value = false;
-      hasScanResult.value = false;
-      replyToneList.clear();
-      resetReplyToneOption();
-      currentSelectReplyToneOption.value = null;
     }
   }
 
+  /// 点击再试试按钮
+  void clickRetryBtn() {
+    // 分析中,重试
+    if (isResultGenerating.value) {
+      ToastUtil.show(StringName.intimacyAnalyseIngPleaseWait);
+      return;
+    }
+    _resetData();
+  }
+
+  /// 重置数据
+  void _resetData() {
+    isResultGenerating.value = false;
+    hasScanResult.value = false;
+    replyToneList.clear();
+    resetReplyToneOption();
+    currentSelectReplyToneOption.value = null;
+  }
+
   /// 点击获取回复按钮
   void clickGetReplyBtn() async {
     // 非Vip,跳转到商店页

+ 3 - 3
lib/module/intimacy_analyse/screenshot_reply/scan_image_reply/scan_image_reply_view.dart

@@ -362,7 +362,7 @@ class ScanImageReplyView extends BaseView<ScanImageReplyController> {
                           ],
                         ),
                       ),
-                      // 试按钮
+                      // 再试试按钮
                       _buildRetryBtn(),
                       SizedBox(width: 10.w),
                     ],
@@ -391,11 +391,11 @@ class ScanImageReplyView extends BaseView<ScanImageReplyController> {
     });
   }
 
-  /// 试按钮
+  /// 再试试按钮
   Widget _buildRetryBtn() {
     return GestureDetector(
       onTap: () {
-        controller.clickGetReplyBtn();
+        controller.clickRetryBtn();
       },
       child: Container(
         padding: EdgeInsets.symmetric(horizontal: 28.w, vertical: 8.h),

+ 2 - 0
lib/resource/string.gen.dart

@@ -246,6 +246,7 @@ class StringName {
   static final String noChooseAiModelTip = 'no_choose_ai_model_tip'.tr; // 请选择AI模型
   static final String noUploadConversationImageTip = 'no_upload_conversation_image_tip'.tr; // 请上传聊天记录图片
   static final String intimacyAnalyseIng = 'intimacy_analyse_ing'.tr; // 分析中
+  static final String intimacyAnalyseIngPleaseWait = 'intimacy_analyse_ing_please_wait'.tr; // 分析中,请稍后
   static final String intimacyAnalyseAdd = 'intimacy_analyse_add'.tr; // 添加
   static final String intimacyInteraction = 'intimacy_interaction'.tr; // 互动好感度
   static final String intimacyTopic = 'intimacy_topic'.tr; // 话题好感度
@@ -580,6 +581,7 @@ class StringMultiSource {
       'no_choose_ai_model_tip': '请选择AI模型',
       'no_upload_conversation_image_tip': '请上传聊天记录图片',
       'intimacy_analyse_ing': '分析中',
+      'intimacy_analyse_ing_please_wait': '分析中,请稍后',
       'intimacy_analyse_add': '添加',
       'intimacy_interaction': '互动好感度',
       'intimacy_topic': '话题好感度',