From 00a81e4e7bc7d7c89b05e8908b03ecd49a052fd9 Mon Sep 17 00:00:00 2001 From: tao Date: Mon, 1 Sep 2025 09:23:42 +0800 Subject: [PATCH] 1 --- lib/page/home/home_page.dart | 13 ++-- lib/page/record/list/widget/item_widget.dart | 6 +- .../system/login/widget/agreement_box.dart | 59 ++++++++++--------- pubspec.lock | 32 +++++----- pubspec.yaml | 2 +- 5 files changed, 63 insertions(+), 49 deletions(-) diff --git a/lib/page/home/home_page.dart b/lib/page/home/home_page.dart index 1dc1dc7..85a922c 100644 --- a/lib/page/home/home_page.dart +++ b/lib/page/home/home_page.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:derma_flutter/router/config/route_paths.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_image_compress/flutter_image_compress.dart'; import 'package:go_router/go_router.dart'; @@ -26,9 +27,13 @@ class _HomePageState extends State with AutomaticKeepAliveClientMixin ///打开相机拍照 void _handTakePhoto() async { - var photo = await _picker.pickImage(source: ImageSource.camera); - if (photo != null) { - _startDetect(photo.path); + try { + var photo = await _picker.pickImage(source: ImageSource.camera); + if (photo != null) { + _startDetect(photo.path); + } + } on PlatformException catch (e) { + EasyLoading.showToast(e.message ?? ""); } } @@ -46,7 +51,7 @@ class _HomePageState extends State with AutomaticKeepAliveClientMixin ///开始检测 void _startDetect(String path) async { //压缩 - final result = await FlutterImageCompress.compressWithFile( + final result = await FlutterImageCompress.compressWithFile( path, minWidth: 1080, minHeight: 1920, diff --git a/lib/page/record/list/widget/item_widget.dart b/lib/page/record/list/widget/item_widget.dart index 1a18c2e..f780a1b 100644 --- a/lib/page/record/list/widget/item_widget.dart +++ b/lib/page/record/list/widget/item_widget.dart @@ -23,16 +23,20 @@ class _ItemWidgetState extends State { @override Widget build(BuildContext context) { var color = Colors.black; + var statusText = ""; switch (widget.data.skinStatus) { case 1: color = Theme.of(context).colorScheme.success; + statusText = "healthy"; break; case 2: color = Theme.of(context).colorScheme.warning; + statusText = "issues"; break; case 3: color = Theme.of(context).colorScheme.error; + statusText = "error"; break; default: color = Colors.black; @@ -90,7 +94,7 @@ class _ItemWidgetState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - "healthy", + statusText, style: TextStyle(fontSize: 14, fontWeight: FontWeight.w500, color: color), ), Container( diff --git a/lib/page/system/login/widget/agreement_box.dart b/lib/page/system/login/widget/agreement_box.dart index 77f0788..90c40bd 100644 --- a/lib/page/system/login/widget/agreement_box.dart +++ b/lib/page/system/login/widget/agreement_box.dart @@ -32,33 +32,38 @@ class AgreementBox extends StatelessWidget { ), ), ), - RichText( - text: TextSpan( - style: Theme.of(context).textTheme.labelSmall, - children: [ - TextSpan( - text: "I agree to the ", - ), - TextSpan( - text: "Terms", - style: TextStyle(color: Theme.of(context).primaryColor), - recognizer: TapGestureRecognizer() - ..onTap = () => context.push( - RoutePaths.agreement, - extra: {"title": "Terms of Service", "url": "https://support.curain.ai/privacy/derma/terms_service.html"}, - ), - ), - TextSpan(text: " & "), - TextSpan( - text: "Privacy Policy", - style: TextStyle(color: Theme.of(context).primaryColor), - recognizer: TapGestureRecognizer() - ..onTap = () => context.push( - RoutePaths.agreement, - extra: {"title": "Privacy", "url": "https://support.curain.ai/privacy/derma/privacy_policy.html"}, - ), - ), - ], + GestureDetector( + onTap: () { + onChanged(!checked); + }, + child: RichText( + text: TextSpan( + style: Theme.of(context).textTheme.labelSmall, + children: [ + TextSpan( + text: "I agree to the ", + ), + TextSpan( + text: "Terms", + style: TextStyle(color: Theme.of(context).primaryColor), + recognizer: TapGestureRecognizer() + ..onTap = () => context.push( + RoutePaths.agreement, + extra: {"title": "Terms of Service", "url": "https://support.curain.ai/privacy/derma/terms_service.html"}, + ), + ), + TextSpan(text: " & "), + TextSpan( + text: "Privacy Policy", + style: TextStyle(color: Theme.of(context).primaryColor), + recognizer: TapGestureRecognizer() + ..onTap = () => context.push( + RoutePaths.agreement, + extra: {"title": "Privacy", "url": "https://support.curain.ai/privacy/derma/privacy_policy.html"}, + ), + ), + ], + ), ), ), ], diff --git a/pubspec.lock b/pubspec.lock index 2da8b06..2c48852 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -234,10 +234,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab" + sha256: b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31 url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.29" + version: "2.0.30" flutter_screenutil: dependency: "direct main" description: @@ -268,10 +268,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: "8b1f37dfaf6e958c6b872322db06f946509433bec3de753c3491a42ae9ec2b48" + sha256: eb059dfe59f08546e9787f895bd01652076f996bcbf485a8609ef990419ad227 url: "https://pub.flutter-io.cn" source: hosted - version: "16.1.0" + version: "16.2.1" google_identity_services_web: dependency: transitive description: @@ -292,10 +292,10 @@ packages: dependency: transitive description: name: google_sign_in_android - sha256: f256b8f0e6c09d135c166fe20b25256e24d60fe1a72e6bdc112a200bd0d555b4 + sha256: "666c3a133f5ec4256f08884359dc34788778d96a378d804203bc57a73ffbd9c0" url: "https://pub.flutter-io.cn" source: hosted - version: "7.0.3" + version: "7.0.5" google_sign_in_ios: dependency: transitive description: @@ -356,10 +356,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: e83b2b05141469c5e19d77e1dfa11096b6b1567d09065b2265d7c6904560050c + sha256: "28f3987ca0ec702d346eae1d90eda59603a2101b52f1e234ded62cff1d5cfa6e" url: "https://pub.flutter-io.cn" source: hosted - version: "0.8.13" + version: "0.8.13+1" image_picker_for_web: dependency: transitive description: @@ -572,10 +572,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84" + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.flutter-io.cn" source: hosted - version: "6.1.5" + version: "6.1.5+1" remixicon: dependency: "direct main" description: @@ -604,10 +604,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e" + sha256: a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74 url: "https://pub.flutter-io.cn" source: hosted - version: "2.4.11" + version: "2.4.12" shared_preferences_foundation: dependency: transitive description: @@ -753,10 +753,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656" + sha256: "69ee86740f2847b9a4ba6cffa74ed12ce500bbe2b07f3dc1e643439da60637b7" url: "https://pub.flutter-io.cn" source: hosted - version: "6.3.17" + version: "6.3.18" url_launcher_ios: dependency: transitive description: @@ -849,10 +849,10 @@ packages: dependency: transitive description: name: webview_flutter_android - sha256: "0a42444056b24ed832bdf3442d65c5194f6416f7e782152384944053c2ecc9a3" + sha256: "9a25f6b4313978ba1c2cda03a242eea17848174912cfb4d2d8ee84a556f248e3" url: "https://pub.flutter-io.cn" source: hosted - version: "4.10.0" + version: "4.10.1" webview_flutter_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c9796e2..3605bc0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: derma_flutter description: "A new Flutter project." publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 1.0.0+1 +version: 1.0.1 environment: sdk: ^3.8.1