浏览代码

[feat]亲密度分析,抽取报告生成中组件

hezihao 7 月之前
父节点
当前提交
0290d28657

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

@@ -353,6 +353,7 @@
     <string name="no_upload_conversation_image_tip">请上传聊天记录图片</string>
 
     <string name="intimacy_analyse_ing">分析中</string>
+    <string name="intimacy_analyse_ing2">分析中...</string>
     <string name="intimacy_analyse_ing_please_wait">分析中,请稍后</string>
     <string name="intimacy_analyse_add">添加</string>
 

+ 36 - 0
lib/module/intimacy_analyse/widget/creating_loading_widget.dart

@@ -0,0 +1,36 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:lottie/lottie.dart';
+
+import '../../../resource/assets.gen.dart';
+
+/// 生成中的加载组件
+class CreatingLoadingWidget extends StatelessWidget {
+  /// 提示文本组件
+  final Widget tipTextWidget;
+
+  const CreatingLoadingWidget({super.key, required this.tipTextWidget});
+
+  @override
+  Widget build(BuildContext context) {
+    return Center(
+      child: Column(
+        // 垂直水平都居中
+        mainAxisAlignment: MainAxisAlignment.center,
+        crossAxisAlignment: CrossAxisAlignment.center,
+        children: [
+          // 图标
+          Lottie.asset(
+            Assets.anim.animIntimacyAnalyseCreatingReportData,
+            repeat: true,
+            width: 82.w,
+            height: 82.w,
+          ),
+          SizedBox(height: 3.h),
+          // 文字
+          tipTextWidget,
+        ],
+      ),
+    );
+  }
+}

+ 9 - 24
lib/module/intimacy_analyse/widget/intimacy_analyse_report_widget.dart

@@ -1,5 +1,6 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:keyboard/module/intimacy_analyse/widget/creating_loading_widget.dart';
 import 'package:keyboard/resource/string.gen.dart';
 import 'package:lottie/lottie.dart';
 
@@ -532,30 +533,14 @@ class CreatingReportCardWidget extends StatelessWidget {
             borderRadius: BorderRadius.circular(30.r),
           ),
         ),
-        child: Center(
-          child: Column(
-            // 垂直水平都居中
-            mainAxisAlignment: MainAxisAlignment.center,
-            crossAxisAlignment: CrossAxisAlignment.center,
-            children: [
-              // 图标
-              Lottie.asset(
-                Assets.anim.animIntimacyAnalyseCreatingReportData,
-                repeat: true,
-                width: 82.w,
-                height: 82.w,
-              ),
-              SizedBox(height: 3.h),
-              // 文字
-              Text(
-                StringName.intimacyAnalyseReportCreating,
-                style: TextStyle(
-                  fontSize: 14.sp,
-                  color: ColorName.black60,
-                  fontWeight: FontWeight.w400,
-                ),
-              ),
-            ],
+        child: CreatingLoadingWidget(
+          tipTextWidget: Text(
+            StringName.intimacyAnalyseReportCreating,
+            style: TextStyle(
+              fontSize: 14.sp,
+              color: ColorName.black60,
+              fontWeight: FontWeight.w400,
+            ),
           ),
         ),
       ),

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

@@ -251,6 +251,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 intimacyAnalyseIng2 = 'intimacy_analyse_ing2'.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; // 互动好感度
@@ -598,6 +599,7 @@ class StringMultiSource {
       'no_choose_ai_model_tip': '请选择AI模型',
       'no_upload_conversation_image_tip': '请上传聊天记录图片',
       'intimacy_analyse_ing': '分析中',
+      'intimacy_analyse_ing2': '分析中...',
       'intimacy_analyse_ing_please_wait': '分析中,请稍后',
       'intimacy_analyse_add': '添加',
       'intimacy_interaction': '互动好感度',