Ver código fonte

[feat]亲密度分析,报告生成中时,显示生成中的按钮

hezihao 7 meses atrás
pai
commit
5faaf1e402

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

@@ -296,6 +296,7 @@
 
     <string name="intimacy_analyse_analysis_result">分析结果</string>
     <string name="intimacy_analyse_analysis_now">立即分析</string>
+    <string name="intimacy_analyse_analysis_ing">正在分析</string>
     <string name="intimacy_analyse_report_creating">报告生成中...</string>
     <string name="intimacy_analyse_analysis_use_ai_tip">报告内容由AI大数据解读,请勿作为决策依据
     </string>

+ 7 - 0
lib/module/intimacy_analyse/intimacy_analyse_upload/intimacy_analyse_upload_controller.dart

@@ -317,6 +317,13 @@ class IntimacyAnalyseUploadController extends BaseController {
     directionOptionSelectConfigList.refresh();
   }
 
+  /// 点击了正在分析中按钮
+  void clickAnalysingBtn() {
+    if (isResultGenerating.value) {
+      ToastUtil.show(StringName.intimacyAnalyseIngPleaseWait);
+    }
+  }
+
   /// 点击了下一步按钮
   /// [isNeedForceVip] 是否强制需要VIP
   void clickNextBtn(bool isNeedForceVip) async {

+ 28 - 7
lib/module/intimacy_analyse/intimacy_analyse_upload/intimacy_analyse_upload_page.dart

@@ -632,8 +632,17 @@ class IntimacyAnalyseUploadPage
     } else {
       // 结果页
       if (controller.isResultGenerating.value) {
-        // 生成中,不显示按钮
-        return SizedBox();
+        // 生成中,显示分析中的按钮
+        return Container(
+          width: double.maxFinite,
+          margin: EdgeInsets.only(
+            left: 13.w,
+            top: 8.h,
+            right: 13.w,
+            bottom: 20.h,
+          ),
+          child: _buildAnalyseBtn(true),
+        );
       } else {
         // 生成完成,判断是否已解锁
         bool isUnlock = controller.memberInfo.value?.isMember ?? false;
@@ -647,7 +656,7 @@ class IntimacyAnalyseUploadPage
               right: 13.w,
               bottom: 20.h,
             ),
-            child: _buildAnalyseBtn(),
+            child: _buildAnalyseBtn(false),
           );
         } else {
           // 已解锁,生成定制人设按钮
@@ -752,19 +761,31 @@ class IntimacyAnalyseUploadPage
   }
 
   /// 分析按钮
-  Widget _buildAnalyseBtn() {
+  /// [isAnalysing] 是否正在分析中
+  Widget _buildAnalyseBtn(bool isAnalysing) {
     return Obx(() {
+      // 是否vip
+      bool isVip = controller.memberInfo.value?.isMember ?? false;
+      // 如果正在分析中,不显示锁,否则按当前用户的vip状态来显示
+      bool isUnlock = isAnalysing ? true : isVip;
       return Container(
         padding: EdgeInsets.only(top: 7.h, bottom: 6.h),
         child: GradientTextBtn.withUnlock(
-          controller.memberInfo.value?.isMember ?? false,
-          text: StringName.intimacyAnalyseAnalysisNow,
+          isUnlock,
+          text:
+              isAnalysing
+                  ? StringName.intimacyAnalyseAnalysisIng
+                  : StringName.intimacyAnalyseAnalysisNow,
           color: ColorName.colorBrand,
           desc: StringName.intimacyAnalyseAnalysisUseAiTip,
           radius: 30.r,
           padding: EdgeInsets.symmetric(vertical: 7.h),
           onPressed: () {
-            controller.clickNextBtn(true);
+            if (isAnalysing) {
+              controller.clickAnalysingBtn();
+            } else {
+              controller.clickNextBtn(true);
+            }
           },
         ),
       );

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

@@ -214,6 +214,7 @@ class StringName {
   static final String intimacyAnalyseModel = 'intimacy_analyse_model'.tr; // 模型
   static final String intimacyAnalyseAnalysisResult = 'intimacy_analyse_analysis_result'.tr; // 分析结果
   static final String intimacyAnalyseAnalysisNow = 'intimacy_analyse_analysis_now'.tr; // 立即分析
+  static final String intimacyAnalyseAnalysisIng = 'intimacy_analyse_analysis_ing'.tr; // 正在分析
   static final String intimacyAnalyseReportCreating = 'intimacy_analyse_report_creating'.tr; // 报告生成中...
   static final String intimacyAnalyseAnalysisUseAiTip = 'intimacy_analyse_analysis_use_ai_tip'.tr; // 报告内容由AI大数据解读,请勿作为决策依据
   static final String mySelf = 'my_self'.tr; // 自己
@@ -562,6 +563,7 @@ class StringMultiSource {
       'intimacy_analyse_model': '模型',
       'intimacy_analyse_analysis_result': '分析结果',
       'intimacy_analyse_analysis_now': '立即分析',
+      'intimacy_analyse_analysis_ing': '正在分析',
       'intimacy_analyse_report_creating': '报告生成中...',
       'intimacy_analyse_analysis_use_ai_tip': '报告内容由AI大数据解读,请勿作为决策依据',
       'my_self': '自己',