diff --git a/lib/page/home/widget/upload_panel.dart b/lib/page/home/widget/upload_panel.dart index df98476..982c46b 100644 --- a/lib/page/home/widget/upload_panel.dart +++ b/lib/page/home/widget/upload_panel.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -18,6 +20,10 @@ class UploadPanel extends StatefulWidget { } class _UploadPanelState extends State { + //步骤 + int _step = 0; + Timer? timer; + final ImagePicker _picker = ImagePicker(); ///打开相机拍照 @@ -45,7 +51,7 @@ class _UploadPanelState extends State { ///开始检测 void _startDetect(String path) async { - //压缩 + // 压缩 final result = await FlutterImageCompress.compressWithFile( path, minWidth: 1080, @@ -53,15 +59,34 @@ class _UploadPanelState extends State { quality: 85, rotate: 0, ); - EasyLoading.show( - status: 'Checking, please wait...', - maskType: EasyLoadingMaskType.clear, - ); + + // 第一句 + EasyLoading.show(status: 'Uploading Image...', maskType: EasyLoadingMaskType.clear); + + // 1秒后第二句 + Future.delayed(const Duration(seconds: 1), () { + EasyLoading.show(status: 'Checking Security...', maskType: EasyLoadingMaskType.clear); + }); + + // 2秒后第三句 + Future.delayed(const Duration(seconds: 2), () { + EasyLoading.show( + status: 'All set! Just a moment..', maskType: EasyLoadingMaskType.clear); + }); + // 真正的上传/分析 var res = await foodScanApi(result!); + + // 上传完成后,强制切换为最后一句 + EasyLoading.show(status: 'Analyzing your data…', maskType: EasyLoadingMaskType.clear); + + // 停留一下再进入详情 + await Future.delayed(const Duration(seconds: 1)); EasyLoading.dismiss(); + context.push(RoutePaths.detail, extra: res); } + @override Widget build(BuildContext context) { return Container(