Pārlūkot izejas kodu

Merge branch 'master' of http://git.ycjcjy.com/nanyang/farmer_client

李志伟 3 gadus atpakaļ
vecāks
revīzija
91e2b10708

+ 20
- 25
lib/pages/TabBar/widgets/home/index.dart Parādīt failu

@@ -9,42 +9,42 @@ import '../../../../models/entities/banner.dart';
9 9
 import '../../../../services/homeAPI.dart';
10 10
 import '../../../../widgets/CarsCard.dart';
11 11
 import 'package:farmer_client/models/app.dart';
12
+import '../../../../widgets/layout/BasicPage.dart';
12 13
 import '../../../MoreCars/index.dart';
13 14
 
14
-class HomePage extends StatefulWidget {
15
-  const HomePage({Key? key}) : super(key: key);
16 15
 
17
-  @override
18
-  State<HomePage> createState() => _HomePageState();
19
-}
20 16
 
21
-class _HomePageState extends State<HomePage> {
22
-  final CarouselController _controller = CarouselController();
23
-  List<banner> BannerList = [];
17
+class HomePage extends BasicPage {
18
+
19
+  final bannerList = Rx<List<banner>>([]);
24 20
 
25 21
   @override
26
-  void initState() {
27
-    super.initState();
22
+  void beforeShow() {
28 23
     final location = AppController.t.locationStr;
29 24
 
30 25
     getHomeBanner('banner').then((value) {
31
-      setState(() {
32
-        value.forEach((item) {
33
-          BannerList.add(banner.fromJson(item));
34
-        });
26
+      value.forEach((item) {
27
+        bannerList.value.add(banner.fromJson(item));
35 28
       });
36 29
     });
37 30
   }
38 31
 
32
+  List<Widget>? _renderList() {
33
+    return bannerList.value.map((item) => Container(
34
+      child: Center(
35
+          child: Image.network(item.thumb.toString(),
36
+              fit: BoxFit.cover, width: 350.w)),
37
+    )).toList();
38
+  }
39
+
39 40
   @override
40
-  Widget build(BuildContext context) {
41
+  Widget builder (BuildContext context) {
41 42
     return Container(
42 43
       alignment: Alignment.center,
43 44
       padding: EdgeInsets.fromLTRB(15.w, 0, 15.w, 0),
44
-      child: ListView(
45
+      child: Column(
45 46
         children: [
46 47
           Container(
47
-            width: 20.w,
48 48
             child: TypeHeader(
49 49
               type: true,
50 50
             ),
@@ -52,13 +52,8 @@ class _HomePageState extends State<HomePage> {
52 52
           Container(
53 53
             margin: EdgeInsets.fromLTRB(0, 15, 0, 0),
54 54
             child:
55
-                // Text('asdasdas')
56
-                CarouselSlider(
57
-              items: BannerList.map((item) => Container(
58
-                    child: Center(
59
-                        child: Image.network(item.thumb.toString(),
60
-                            fit: BoxFit.cover, width: 350.w)),
61
-                  )).toList(),
55
+                Obx(() => CarouselSlider(
56
+              items: _renderList(),
62 57
               options: CarouselOptions(
63 58
                 autoPlay: true,
64 59
                 enlargeCenterPage: false, //图片中心放大
@@ -67,7 +62,7 @@ class _HomePageState extends State<HomePage> {
67 62
                 height: 214.w,
68 63
                 initialPage: 1, //初始页
69 64
               ),
70
-            ),
65
+            )),
71 66
           ),
72 67
           Container(
73 68
               margin: EdgeInsets.fromLTRB(0, 20, 0, 20),

+ 10
- 18
lib/pages/TabBar/widgets/home/widgets/headers.dart Parādīt failu

@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
2 2
 import 'package:flutter_screenutil/flutter_screenutil.dart';
3 3
 import 'package:get/get.dart';
4 4
 
5
-
6 5
 class TypeHeader extends StatefulWidget {
7 6
   TypeHeader({Key? key, required this.type}) : super(key: key);
8 7
 
@@ -14,10 +13,11 @@ class TypeHeader extends StatefulWidget {
14 13
 
15 14
 class _TypeHeaderState extends State<TypeHeader> {
16 15
   @override
17
-  Widget build (BuildContext context) {
16
+  Widget build(BuildContext context) {
18 17
     if (widget.type) {
19 18
       return Container(
20 19
         child: Row(
20
+          // mainAxisAlignment: MainAxisAlignment.start,
21 21
           children: [
22 22
             Container(
23 23
               height: 32.w,
@@ -41,10 +41,10 @@ class _TypeHeaderState extends State<TypeHeader> {
41 41
                       ),
42 42
                     ),
43 43
                   ),
44
-        Container(
45
-          padding: EdgeInsets.fromLTRB(0, 0, 10, 0),
46
-          child: Icon(Icons.arrow_drop_down),
47
-        ),
44
+                  Container(
45
+                    padding: EdgeInsets.fromLTRB(0, 0, 10, 0),
46
+                    child: Icon(Icons.arrow_drop_down),
47
+                  ),
48 48
                   _initWidget(),
49 49
                 ],
50 50
               ),
@@ -54,15 +54,11 @@ class _TypeHeaderState extends State<TypeHeader> {
54 54
       );
55 55
     } else {
56 56
       return _initWidget();
57
-
58 57
     }
59
-
60
-
61 58
   }
62 59
 }
63 60
 //
64 61
 
65
-
66 62
 class _initWidget extends StatelessWidget {
67 63
   const _initWidget({Key? key}) : super(key: key);
68 64
 
@@ -76,7 +72,6 @@ class _initWidget extends StatelessWidget {
76 72
             onTap: () {
77 73
               print('点击了搜索');
78 74
               Get.toNamed('/searchPage');
79
-
80 75
             },
81 76
             child: Container(
82 77
               decoration: const BoxDecoration(
@@ -85,9 +80,9 @@ class _initWidget extends StatelessWidget {
85 80
                 borderRadius: BorderRadius.all(Radius.circular(25)),
86 81
               ),
87 82
               child: Row(
88
-                children: [
83
+                children: const [
89 84
                   Padding(
90
-                    padding: EdgeInsets.fromLTRB(15, 0, 5, 0),
85
+                    padding: EdgeInsets.fromLTRB(5, 0, 5, 0),
91 86
                     child: Icon(
92 87
                       Icons.search,
93 88
                       size: 19,
@@ -101,10 +96,7 @@ class _initWidget extends StatelessWidget {
101 96
                 ],
102 97
               ),
103 98
             )
104
-          // Search(),
105
-        ));
106
-
99
+            // Search(),
100
+            ));
107 101
   }
108 102
 }
109
-
110
-

+ 5
- 5
lib/routes/middleWares.dart Parādīt failu

@@ -9,9 +9,9 @@ void routingCallback (routing) {
9 9
   bool isSplashScreen = routing?.current == '/splash';
10 10
   bool isLoginPage = routing?.current == '/login';
11 11
   bool isAgreementPage = routing?.current == '/agreement';
12
-  // if (!isLogin && !isSplashScreen && !isLoginPage&&!isAgreementPage) {
13
-  //   // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
14
-  //   // https://github.com/jonataslaw/getx/issues/262
15
-  //   SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
16
-  // }
12
+  if (!isLogin && !isSplashScreen && !isLoginPage&&!isAgreementPage) {
13
+    // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
14
+    // https://github.com/jonataslaw/getx/issues/262
15
+    SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
16
+  }
17 17
 }