diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index a40083f..cf197a7 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -44,6 +44,11 @@ PODS:
- DKImagePickerController/PhotoGallery
- Flutter
- Flutter (1.0.0)
+ - flutter_image_compress_common (1.0.0):
+ - Flutter
+ - Mantle
+ - SDWebImage
+ - SDWebImageWebPCoder
- google_sign_in_ios (0.0.1):
- Flutter
- FlutterMacOS
@@ -73,10 +78,28 @@ PODS:
- GTMSessionFetcher/Core
- image_picker_ios (0.0.1):
- Flutter
+ - libwebp (1.5.0):
+ - libwebp/demux (= 1.5.0)
+ - libwebp/mux (= 1.5.0)
+ - libwebp/sharpyuv (= 1.5.0)
+ - libwebp/webp (= 1.5.0)
+ - libwebp/demux (1.5.0):
+ - libwebp/webp
+ - libwebp/mux (1.5.0):
+ - libwebp/demux
+ - libwebp/sharpyuv (1.5.0)
+ - libwebp/webp (1.5.0):
+ - libwebp/sharpyuv
+ - Mantle (2.2.0):
+ - Mantle/extobjc (= 2.2.0)
+ - Mantle/extobjc (2.2.0)
- PromisesObjC (2.4.0)
- SDWebImage (5.21.0):
- SDWebImage/Core (= 5.21.0)
- SDWebImage/Core (5.21.0)
+ - SDWebImageWebPCoder (0.14.6):
+ - libwebp (~> 1.0)
+ - SDWebImage/Core (~> 5.17)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
@@ -92,6 +115,7 @@ PODS:
DEPENDENCIES:
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- Flutter (from `Flutter`)
+ - flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
- google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
@@ -109,8 +133,11 @@ SPEC REPOS:
- GoogleUtilities
- GTMAppAuth
- GTMSessionFetcher
+ - libwebp
+ - Mantle
- PromisesObjC
- SDWebImage
+ - SDWebImageWebPCoder
- SwiftyGif
EXTERNAL SOURCES:
@@ -118,6 +145,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/file_picker/ios"
Flutter:
:path: Flutter
+ flutter_image_compress_common:
+ :path: ".symlinks/plugins/flutter_image_compress_common/ios"
google_sign_in_ios:
:path: ".symlinks/plugins/google_sign_in_ios/darwin"
image_picker_ios:
@@ -138,14 +167,18 @@ SPEC CHECKSUMS:
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
+ flutter_image_compress_common: ec1d45c362c9d30a3f6a0426c297f47c52007e3e
google_sign_in_ios: 4bb0e529b167cadc6ac785b6ed943c0a0a4cc1c9
GoogleSignIn: c7f09cfbc85a1abf69187be091997c317cc33b77
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
GTMAppAuth: 217a876b249c3c585a54fd6f73e6b58c4f5c4238
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
+ libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
+ Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
SDWebImage: f84b0feeb08d2d11e6a9b843cb06d75ebf5b8868
+ SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 1ac095f..0a6c489 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -13,7 +13,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- derma_flutter
+ Demacare
CFBundlePackageType
APPL
CFBundleShortVersionString
diff --git a/lib/layout/layout_page.dart b/lib/layout/layout_page.dart
index b481830..f80960d 100644
--- a/lib/layout/layout_page.dart
+++ b/lib/layout/layout_page.dart
@@ -1,3 +1,4 @@
+import 'package:derma_flutter/page/my/my_page.dart';
import 'package:derma_flutter/page/record/list/record_list_page.dart';
import 'package:flutter/material.dart';
import 'package:remixicon/remixicon.dart';
@@ -15,30 +16,35 @@ class LayoutPage extends StatefulWidget {
class _LayoutPageState extends State {
///分页
- final PageController _pageController = PageController(initialPage: 1);
+ final PageController _pageController = PageController(initialPage: 0);
int get currentPage {
if (!_pageController.hasClients) return 1; // 没 attach 直接 0
return _pageController.page?.round() ?? 1;
}
- //tabbar列表
+ //TabBar列表
final List _pages = [
- PageItem(
- name: "record",
- icon: RemixIcons.history_line,
- page: RecordListPage(),
- ),
PageItem(
name: "Home",
icon: RemixIcons.home_2_line,
page: HomePage(),
),
PageItem(
- name: "Home",
+ name: "Record",
+ icon: RemixIcons.history_line,
+ page: RecordListPage(),
+ ),
+ PageItem(
+ name: "Book",
icon: RemixIcons.book_open_line,
page: EducationListPage(),
),
+ PageItem(
+ name: "My",
+ icon: RemixIcons.user_line,
+ page: MyPage(),
+ ),
];
@override
@@ -50,6 +56,7 @@ class _LayoutPageState extends State {
children: _pages.map((item) => item.page).toList(),
),
bottomNavigationBar: BottomNavigationBar(
+ type: BottomNavigationBarType.fixed,
currentIndex: currentPage,
onTap: (index) {
_pageController.jumpToPage(index);
diff --git a/lib/page/home/home_page.dart b/lib/page/home/home_page.dart
index f4b070e..1dc1dc7 100644
--- a/lib/page/home/home_page.dart
+++ b/lib/page/home/home_page.dart
@@ -53,8 +53,6 @@ class _HomePageState extends State with AutomaticKeepAliveClientMixin
quality: 85,
rotate: 0,
);
- print("压缩前:${File(path).lengthSync()}");
- print("压缩后长度${result?.length}");
EasyLoading.show(
status: 'Skin analysis in progress, please wait...',
maskType: EasyLoadingMaskType.clear,
diff --git a/lib/page/home/widget/upload_widget.dart b/lib/page/home/widget/upload_widget.dart
index 496c108..8df7f3e 100644
--- a/lib/page/home/widget/upload_widget.dart
+++ b/lib/page/home/widget/upload_widget.dart
@@ -36,7 +36,7 @@ class UploadBox extends StatelessWidget {
left: 0,
child: Image.asset(
"assets/image/bg_hushi.png",
- width: 0.7.sw,
+ width: 0.63.sw,
),
),
Positioned(
diff --git a/lib/page/my/my_page.dart b/lib/page/my/my_page.dart
new file mode 100644
index 0000000..3918546
--- /dev/null
+++ b/lib/page/my/my_page.dart
@@ -0,0 +1,23 @@
+import 'package:flutter/material.dart';
+
+import '../../widgets/common/app_backend.dart';
+
+class MyPage extends StatefulWidget {
+ const MyPage({super.key});
+
+ @override
+ State createState() => _MyPageState();
+}
+
+class _MyPageState extends State {
+ @override
+ Widget build(BuildContext context) {
+ return AppBackend(
+ child: Column(
+ children: [
+ Text("ds")
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/page/system/login/login_page.dart b/lib/page/system/login/login_page.dart
index 19acea0..9382648 100644
--- a/lib/page/system/login/login_page.dart
+++ b/lib/page/system/login/login_page.dart
@@ -214,7 +214,7 @@ class _LoginPageState extends State {
left: 20,
right: 20,
),
- child: Column(
+ child: ListView(
children: [
LogoBox(),
PageHeader(),
diff --git a/lib/widgets/common/app_backend.dart b/lib/widgets/common/app_backend.dart
index 13a771d..7315203 100644
--- a/lib/widgets/common/app_backend.dart
+++ b/lib/widgets/common/app_backend.dart
@@ -22,7 +22,7 @@ class AppBackend extends StatelessWidget {
stops: [0, 0.6, 1],
),
),
- child: child,
+ child: SafeArea(child: child),
);
}
}
diff --git a/lib/widgets/common/app_header.dart b/lib/widgets/common/app_header.dart
index d7ac258..6efbbde 100644
--- a/lib/widgets/common/app_header.dart
+++ b/lib/widgets/common/app_header.dart
@@ -14,11 +14,6 @@ class AppHeader extends StatefulWidget {
}
class _AppHeaderState extends State {
- void _handLogout() {
- var appStore = context.read();
- appStore.logout();
- context.go(RoutePaths.login);
- }
@override
Widget build(BuildContext context) {
@@ -48,31 +43,6 @@ class _AppHeaderState extends State {
),
],
),
- Row(
- children: [
- PopupMenuButton(
- offset: const Offset(0, 50),
- color: Theme.of(context).cardColor,
- itemBuilder: (context) {
- return [
- PopupMenuItem(
- onTap: _handLogout,
- child: Text("Log out"),
- ),
- ];
- },
- child: Container(
- width: 40,
- height: 40,
- decoration: BoxDecoration(
- color: Theme.of(context).colorScheme.primary,
- shape: BoxShape.circle,
- ),
- child: Icon(RemixIcons.user_3_line, color: Colors.white),
- ),
- ),
- ],
- ),
],
),
);