Sfoglia il codice sorgente

[new]增加未授权疑问提示

zk 4 mesi fa
parent
commit
dc308ff875

BIN
assets/images/icon_track_daily_doubt.webp


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

@@ -370,4 +370,8 @@
     <string name="permission_notification_setting_subtitle">
         开启通知栏权限,可随时查看好友“每日轨迹”
     </string>
+    <string name="track_no_doubt_desc">未授权原因:\n
+        1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n
+        2.可能是TA手机尚未开启本软件
+    </string>
 </resources>

+ 37 - 14
lib/module/track/track_day_detail/track_daily_item.dart

@@ -1,19 +1,16 @@
-import 'dart:math';
-
 import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
 import 'package:location/data/bean/track_daily_bean.dart';
-import 'package:location/data/bean/user_info.dart';
 import 'package:location/data/consts/constants.dart';
 import 'package:location/dialog/track_error_tips_dialog.dart';
-import 'package:location/module/analyse/location_analyse_page.dart';
 import 'package:location/module/track/track_util.dart';
 import 'package:location/resource/assets.gen.dart';
 import 'package:location/resource/colors.gen.dart';
 import 'package:location/resource/string.gen.dart';
 import 'package:location/utils/common_expand.dart';
 import 'package:location/utils/date_util.dart';
-
+import 'package:location/utils/toast_util.dart';
 import '../track_status.dart';
 
 typedef TrackItemClick = void Function(TrackDailyBean bean);
@@ -324,18 +321,44 @@ Widget _buildNetDesc(String? network) {
   );
 }
 
+Widget _buildDoubtView() {
+  return Container(
+      constraints: BoxConstraints(
+        maxWidth: 0.9.sw,
+      ),
+      decoration: BoxDecoration(
+        color: ColorName.black60,
+        borderRadius: BorderRadius.circular(4.r),
+      ),
+      padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 10.w),
+      child: Text(
+        StringName.trackNoDoubtDesc,
+        style: TextStyle(fontSize: 12.sp, color: ColorName.white),
+      ));
+}
+
 Widget _buildLockDesc(int? highUnlock, int? totalUnlock) {
   if ((highUnlock == null && totalUnlock == null) ||
       (highUnlock == 0 && totalUnlock == 0)) {
-    return Row(
-      children: [
-        Assets.images.iconTrackUnlockNoPermission
-            .image(width: 14.w, height: 14.w),
-        SizedBox(width: 2.w),
-        Text(StringName.trackDetailNoAuthorize,
-            style:
-                TextStyle(fontSize: 11.sp, color: '#919DBE'.color, height: 1))
-      ],
+    return GestureDetector(
+      onTap: () {
+        ToastUtil.show("",
+            displayTime: Duration(seconds: 3),
+            alignment: Alignment.center,
+            builder: (cxt) => _buildDoubtView());
+      },
+      child: Row(
+        children: [
+          Assets.images.iconTrackUnlockNoPermission
+              .image(width: 14.w, height: 14.w),
+          SizedBox(width: 2.w),
+          Text(StringName.trackDetailNoAuthorize,
+              style: TextStyle(
+                  fontSize: 11.sp, color: '#919DBE'.color, height: 1)),
+          SizedBox(width: 1.w),
+          Assets.images.iconTrackDailyDoubt.image(width: 12.w, height: 12.w)
+        ],
+      ),
     );
   } else {
     return Row(

+ 5 - 0
lib/resource/assets.gen.dart

@@ -489,6 +489,10 @@ class $AssetsImagesGen {
   AssetGenImage get iconTrackAnalyseRefresh =>
       const AssetGenImage('assets/images/icon_track_analyse_refresh.webp');
 
+  /// File path: assets/images/icon_track_daily_doubt.webp
+  AssetGenImage get iconTrackDailyDoubt =>
+      const AssetGenImage('assets/images/icon_track_daily_doubt.webp');
+
   /// File path: assets/images/icon_track_daily_report.webp
   AssetGenImage get iconTrackDailyReport =>
       const AssetGenImage('assets/images/icon_track_daily_report.webp');
@@ -751,6 +755,7 @@ class $AssetsImagesGen {
         iconSplashTitle,
         iconTrackAiInterpretation,
         iconTrackAnalyseRefresh,
+        iconTrackDailyDoubt,
         iconTrackDailyReport,
         iconTrackDailySummary,
         iconTrackDailySummaryArrow,

+ 4 - 4
lib/resource/string.gen.dart

@@ -304,10 +304,9 @@ class StringName {
   static String get trackAnalyseResultTitle => 'track_analyse_result_title'.tr; // 分析结果总结:
   static String get trackAnalyseDone => 'track_analyse_done'.tr; // 分析完毕
   static String get trackAnalyseDoneDetail => 'track_analyse_done_detail'.tr; // 过往的常去动态定位分析完毕,请看下方
-  static String get permissionNotificationSetting =>
-      'permission_notification_setting'.tr; // 通知栏权限
-  static String get permissionNotificationSettingSubtitle =>
-      'permission_notification_setting_subtitle'.tr; // 开启通知栏权限,可随时查看好友“每日轨迹”
+  static String get permissionNotificationSetting => 'permission_notification_setting'.tr; // 通知栏权限
+  static String get permissionNotificationSettingSubtitle => 'permission_notification_setting_subtitle'.tr; // 开启通知栏权限,可随时查看好友“每日轨迹”
+  static String get trackNoDoubtDesc => 'track_no_doubt_desc'.tr; // 未授权原因:\n 1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n 2.可能是TA手机尚未开启本软件
 }
 class StringMultiSource {
   StringMultiSource._();
@@ -617,6 +616,7 @@ class StringMultiSource {
       'track_analyse_done_detail': '过往的常去动态定位分析完毕,请看下方',
       'permission_notification_setting': '通知栏权限',
       'permission_notification_setting_subtitle': '开启通知栏权限,可随时查看好友“每日轨迹”',
+      'track_no_doubt_desc': '未授权原因:\n 1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n 2.可能是TA手机尚未开启本软件',
     },
   };
 }

+ 10 - 2
lib/utils/toast_util.dart

@@ -9,17 +9,25 @@ class ToastUtil {
 
   static void show(String? msg,
       {Duration? displayTime,
+      Alignment? alignment,
       SmartToastType? displayType = SmartToastType.normal,
+      WidgetBuilder? builder,
       bool? addPostFrame}) {
     if (msg != null) {
       if (addPostFrame == true) {
         WidgetsBinding.instance.addPostFrameCallback((_) {
           SmartDialog.showToast(msg,
-              displayType: displayType, displayTime: displayTime);
+              builder: builder,
+              alignment: alignment,
+              displayType: displayType,
+              displayTime: displayTime);
         });
       } else {
         SmartDialog.showToast(msg,
-            displayType: displayType, displayTime: displayTime);
+            builder: builder,
+            alignment: alignment,
+            displayType: displayType,
+            displayTime: displayTime);
       }
     }
   }