1
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@@ -18,6 +20,10 @@ class UploadPanel extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _UploadPanelState extends State<UploadPanel> {
|
class _UploadPanelState extends State<UploadPanel> {
|
||||||
|
//步骤
|
||||||
|
int _step = 0;
|
||||||
|
Timer? timer;
|
||||||
|
|
||||||
final ImagePicker _picker = ImagePicker();
|
final ImagePicker _picker = ImagePicker();
|
||||||
|
|
||||||
///打开相机拍照
|
///打开相机拍照
|
||||||
@@ -45,7 +51,7 @@ class _UploadPanelState extends State<UploadPanel> {
|
|||||||
|
|
||||||
///开始检测
|
///开始检测
|
||||||
void _startDetect(String path) async {
|
void _startDetect(String path) async {
|
||||||
//压缩
|
// 压缩
|
||||||
final result = await FlutterImageCompress.compressWithFile(
|
final result = await FlutterImageCompress.compressWithFile(
|
||||||
path,
|
path,
|
||||||
minWidth: 1080,
|
minWidth: 1080,
|
||||||
@@ -53,15 +59,34 @@ class _UploadPanelState extends State<UploadPanel> {
|
|||||||
quality: 85,
|
quality: 85,
|
||||||
rotate: 0,
|
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!);
|
var res = await foodScanApi(result!);
|
||||||
|
|
||||||
|
// 上传完成后,强制切换为最后一句
|
||||||
|
EasyLoading.show(status: 'Analyzing your data…', maskType: EasyLoadingMaskType.clear);
|
||||||
|
|
||||||
|
// 停留一下再进入详情
|
||||||
|
await Future.delayed(const Duration(seconds: 1));
|
||||||
EasyLoading.dismiss();
|
EasyLoading.dismiss();
|
||||||
|
|
||||||
context.push(RoutePaths.detail, extra: res);
|
context.push(RoutePaths.detail, extra: res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
|
|||||||
Reference in New Issue
Block a user