Browse Source

[feat]增加Ai生成提示组件

hezihao 6 months ago
parent
commit
8f6c1bccb4

+ 1 - 0
assets/color/common_color.xml

@@ -9,6 +9,7 @@
     <color name="white80">#CCFFFFFF</color>
     <color name="white80">#CCFFFFFF</color>
     <color name="white75">#BFFFFFFF</color>
     <color name="white75">#BFFFFFFF</color>
     <color name="white70">#B3FFFFFF</color>
     <color name="white70">#B3FFFFFF</color>
+    <color name="white77">#C4FFFFFF</color>
     <color name="white65">#A6FFFFFF</color>
     <color name="white65">#A6FFFFFF</color>
     <color name="white60">#99FFFFFF</color>
     <color name="white60">#99FFFFFF</color>
     <color name="white55">#8CFFFFFF</color>
     <color name="white55">#8CFFFFFF</color>

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

@@ -491,4 +491,5 @@
     <string name="auto_renewal_item_title">自动续费服务</string>
     <string name="auto_renewal_item_title">自动续费服务</string>
     <string name="auto_renewal_item_button_desc">关闭续订</string>
     <string name="auto_renewal_item_button_desc">关闭续订</string>
 
 
+    <string name="ai_generate_tip">* 以上内容由AI深度分析,请仔细甄别</string>
 </resources>
 </resources>

+ 10 - 0
lib/module/intimacy_analyse/screenshot_reply/scan_image_reply/scan_image_reply_view.dart

@@ -6,6 +6,7 @@ import 'package:keyboard/data/bean/upload_info.dart';
 import 'package:keyboard/module/intimacy_analyse/intimacy_analyse_upload/widget/upload_nine_grid.dart';
 import 'package:keyboard/module/intimacy_analyse/intimacy_analyse_upload/widget/upload_nine_grid.dart';
 import 'package:keyboard/module/intimacy_analyse/screenshot_reply/scan_image_reply/widget/reply_tone_option_list.dart';
 import 'package:keyboard/module/intimacy_analyse/screenshot_reply/scan_image_reply/widget/reply_tone_option_list.dart';
 import 'package:keyboard/module/intimacy_analyse/widget/creating_loading_widget.dart';
 import 'package:keyboard/module/intimacy_analyse/widget/creating_loading_widget.dart';
+import 'package:keyboard/widget/ai/ai_generate_tip_widget.dart';
 import '../../../../data/bean/image_viewer_item.dart';
 import '../../../../data/bean/image_viewer_item.dart';
 import '../../../../data/bean/option_select_config.dart';
 import '../../../../data/bean/option_select_config.dart';
 import '../../../../data/bean/option_select_item.dart';
 import '../../../../data/bean/option_select_item.dart';
@@ -66,6 +67,8 @@ class ScanImageReplyView extends BaseView<ScanImageReplyController> {
                   _buildOptionCard(),
                   _buildOptionCard(),
                   // 回复语气列表卡片
                   // 回复语气列表卡片
                   _buildReplyToneListCard(),
                   _buildReplyToneListCard(),
+                  // Ai生成提示
+                  _buildAiGenerateTip(),
                   // 距离底部有一定间距
                   // 距离底部有一定间距
                   _buildBottomSpace(),
                   _buildBottomSpace(),
                 ],
                 ],
@@ -84,6 +87,13 @@ class ScanImageReplyView extends BaseView<ScanImageReplyController> {
     );
     );
   }
   }
 
 
+  /// Ai生成提示
+  Widget _buildAiGenerateTip() {
+    return Row(
+      children: [AiGenerateTipWidget.normalTip(bgColor: Color(0xfff9f9f9))],
+    );
+  }
+
   /// 底部间距
   /// 底部间距
   Widget _buildBottomSpace() {
   Widget _buildBottomSpace() {
     return Obx(() {
     return Obx(() {

+ 3 - 0
lib/resource/colors.gen.dart

@@ -283,6 +283,9 @@ class ColorName {
   /// Color: #BFFFFFFF
   /// Color: #BFFFFFFF
   static const Color white75 = Color(0xBFFFFFFF);
   static const Color white75 = Color(0xBFFFFFFF);
 
 
+  /// Color: #C4FFFFFF
+  static const Color white77 = Color(0xC4FFFFFF);
+
   /// Color: #CCFFFFFF
   /// Color: #CCFFFFFF
   static const Color white80 = Color(0xCCFFFFFF);
   static const Color white80 = Color(0xCCFFFFFF);
 
 

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

@@ -365,6 +365,7 @@ class StringName {
   static final String autoRenewalTipDialogDesc = 'auto_renewal_tip_dialog_desc'.tr; // 关闭自动续费后,下个周期将无法继续享受会员服务
   static final String autoRenewalTipDialogDesc = 'auto_renewal_tip_dialog_desc'.tr; // 关闭自动续费后,下个周期将无法继续享受会员服务
   static final String autoRenewalItemTitle = 'auto_renewal_item_title'.tr; // 自动续费服务
   static final String autoRenewalItemTitle = 'auto_renewal_item_title'.tr; // 自动续费服务
   static final String autoRenewalItemButtonDesc = 'auto_renewal_item_button_desc'.tr; // 关闭续订
   static final String autoRenewalItemButtonDesc = 'auto_renewal_item_button_desc'.tr; // 关闭续订
+  static final String aiGenerateTip = 'ai_generate_tip'.tr; // * 以上内容由AI深度分析,请仔细甄别
 }
 }
 class StringMultiSource {
 class StringMultiSource {
   StringMultiSource._();
   StringMultiSource._();
@@ -733,6 +734,7 @@ class StringMultiSource {
       'auto_renewal_tip_dialog_desc': '关闭自动续费后,下个周期将无法继续享受会员服务',
       'auto_renewal_tip_dialog_desc': '关闭自动续费后,下个周期将无法继续享受会员服务',
       'auto_renewal_item_title': '自动续费服务',
       'auto_renewal_item_title': '自动续费服务',
       'auto_renewal_item_button_desc': '关闭续订',
       'auto_renewal_item_button_desc': '关闭续订',
+      'ai_generate_tip': '* 以上内容由AI深度分析,请仔细甄别',
     },
     },
   };
   };
 }
 }

+ 40 - 0
lib/widget/ai/ai_generate_tip_widget.dart

@@ -0,0 +1,40 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:keyboard/resource/string.gen.dart';
+
+import '../../resource/colors.gen.dart';
+
+/// Ai生成提示组件
+class AiGenerateTipWidget extends StatelessWidget {
+  /// 提示文字
+  final String? tip;
+
+  /// 背景颜色
+  final Color? bgColor;
+
+  const AiGenerateTipWidget({super.key, this.tip, this.bgColor});
+
+  /// 普通提示
+  static AiGenerateTipWidget normalTip({required Color bgColor}) {
+    return AiGenerateTipWidget(tip: StringName.aiGenerateTip, bgColor: bgColor);
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Container(
+      padding: EdgeInsets.symmetric(horizontal: 7.w, vertical: 3.h),
+      decoration: BoxDecoration(
+        color: ColorName.white77,
+        borderRadius: BorderRadius.circular(10.r),
+      ),
+      child: Text(
+        tip ?? "",
+        style: TextStyle(
+          color: bgColor ?? Color(0x5C000000),
+          fontSize: 10.sp,
+          fontWeight: FontWeight.w400,
+        ),
+      ),
+    );
+  }
+}