Browse Source

Merge branch 'hotfix/magenta-sawfish' of lyq/flutter_note into master

天问 1 year ago
parent
commit
f7e85039ee
37 changed files with 328 additions and 126 deletions
  1. 1 0
      .devcontainer/Dockerfile
  2. 45 0
      .devcontainer/devcontainer.json
  3. 0 0
      .flutter-plugins-dependencies
  4. 3 3
      .github/workflows/build.yml
  5. 66 0
      .gitpod.Dockerfile
  6. 75 0
      .gitpod.yml
  7. 2 2
      android/app/build.gradle
  8. 3 1
      android/app/src/main/AndroidManifest.xml
  9. 1 1
      android/build.gradle
  10. 1 1
      android/gradle/wrapper/gradle-wrapper.properties
  11. 13 0
      ios/Flutter/flutter_export_environment.sh
  12. 4 4
      lib/model/category_goods_model.dart
  13. 6 6
      lib/model/category_model.dart
  14. 10 10
      lib/model/goods_detail_model.dart
  15. 42 42
      lib/model/home_page_model.dart
  16. 4 4
      lib/model/hot_goods_model.dart
  17. 1 1
      lib/model/shopping_cart_model.dart
  18. 4 4
      lib/routers/router_handler.dart
  19. 1 1
      lib/shop_app.dart
  20. 3 3
      lib/views/cartpage/bottom_summary.dart
  21. 1 1
      lib/views/cartpage/cart_count.dart
  22. 1 1
      lib/views/cartpage/empty_cart.dart
  23. 5 5
      lib/views/cartpage/shopping_cart_list.dart
  24. 5 5
      lib/views/category_page.dart
  25. 1 1
      lib/views/deatilspage/goods_comments.dart
  26. 5 5
      lib/views/deatilspage/goods_handler.dart
  27. 3 3
      lib/views/deatilspage/sliver_header_bar.dart
  28. 4 4
      lib/views/homepage/floor_part.dart
  29. 1 1
      lib/views/homepage/home_page.dart
  30. 2 2
      lib/views/homepage/hot_part.dart
  31. 2 2
      lib/views/homepage/mall_recommend.dart
  32. 1 1
      lib/views/mempage/mem_header.dart
  33. 1 1
      lib/views/mempage/mem_page.dart
  34. 1 1
      lib/views/mempage/order_grid.dart
  35. 1 1
      lib/views/my_home_page.dart
  36. 1 1
      lib/views/settings_page.dart
  37. 8 8
      pubspec.yaml

+ 1 - 0
.devcontainer/Dockerfile

@@ -0,0 +1 @@
+FROM jianboy/flutter-dev-container:3.0.5

+ 45 - 0
.devcontainer/devcontainer.json

@@ -0,0 +1,45 @@
+// java8 + android env
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
+// https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/java-8
+{
+    "name": "Java 11",
+    "build": {
+        "dockerfile": "Dockerfile",
+        "args": {
+            // Use the VARIANT arg to pick a Debian OS version: buster, bullseye
+            // Use bullseye when running on local arm64/Apple Silicon.
+            "VARIANT": "buster",
+            // Options
+            "INSTALL_MAVEN": "true",
+            "INSTALL_GRADLE": "true",
+            "NODE_VERSION": "lts/*"
+        }
+    },
+    // Set *default* container specific settings.json values on container create.
+    "settings": {
+        "java.home": "/docker-java-home",
+        "java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current",
+        "java.configuration.runtimes": [
+            {
+                "default": true,
+                "name": "JavaSE-11",
+                "path": "/usr/local/sdkman/candidates/java/current"
+            }
+        ]
+    },
+    // Add the IDs of extensions you want installed when the container is created.
+    "extensions": [
+        "vscjava.vscode-java-pack",
+        "dart-code.dart-code",
+        "dart-code.flutter"
+    ],
+    // Use 'forwardPorts' to make a list of ports inside the container available locally.
+    // "forwardPorts": [],
+    // Use 'postCreateCommand' to run commands after the container is created.
+    // "postCreateCommand": "java -version",
+    // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
+    "remoteUser": "vscode",
+    "features": {
+        "docker-in-docker": "latest"
+    }
+}

File diff suppressed because it is too large
+ 0 - 0
.flutter-plugins-dependencies


+ 3 - 3
.github/workflows/build.yml

@@ -17,18 +17,18 @@ jobs:
         uses: actions/setup-java@v2
         with:
           distribution: 'adopt'
-          java-version: "8.x"
+          java-version: "11"
 
       - name: Setup gradle
         uses: eskatos/gradle-command-action@v1
         with:
-          gradle-version: 6.5
+          gradle-version: 7.3.3
 
       - name: Flutter action
         uses: subosito/flutter-action@v1.5.3
         with:
           channel: "stable"
-          flutter-version: "2.0.5"
+          flutter-version: "3.0.5"
       
       - name: Cache Dependencies
         id: cache

+ 66 - 0
.gitpod.Dockerfile

@@ -0,0 +1,66 @@
+FROM gitpod/workspace-full-vnc
+SHELL ["/bin/bash", "-c"]
+
+ENV ANDROID_HOME=/home/gitpod/androidsdk \
+    FLUTTER_VERSION=2.10.5-stable
+
+# Install dart
+USER root
+RUN curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
+    && curl -fsSL https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list \
+    && install-packages build-essential dart libkrb5-dev gcc make gradle android-tools-adb android-tools-fastboot
+
+# Install flutter
+USER gitpod
+RUN cd /home/gitpod \
+    && wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}.tar.xz \
+    && tar -xvf flutter*.tar.xz \
+    && rm -f flutter*.tar.xz
+
+RUN flutter/bin/flutter precache
+RUN echo 'export PATH="$PATH:/home/gitpod/flutter/bin"' >> /home/gitpod/.bashrc
+
+# Install Open JDK
+USER gitpod
+RUN bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh && \
+    sdk install java 11.0.16-amzn && \
+    sdk default java 11.0.16-amzn"
+
+# Install SDK Manager
+USER gitpod
+RUN  wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip \
+    && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
+    && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
+    && rm -f commandlinetools-linux-*.zip \
+    && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
+    && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
+
+RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /home/gitpod/.bashrc \
+    && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/gitpod/.bashrc
+
+# Install Android Image version 30
+USER gitpod
+RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-30" "emulator"
+RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "system-images;android-30;google_apis;x86_64"
+RUN echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n avd28 -k "system-images;android-30;google_apis;x86_64"
+
+
+# Install Google Chrome
+USER root
+RUN apt-get update \
+  && apt-get install -y apt-transport-https \
+  && curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
+  && echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
+  && apt-get update \
+  && sudo apt-get install -y google-chrome-stable
+
+# misc deps
+RUN apt-get install -y \
+  libasound2-dev \
+  libgtk-3-dev \
+  libnss3-dev \
+  fonts-noto \
+  fonts-noto-cjk
+
+# For Qt WebEngine on docker
+ENV QTWEBENGINE_DISABLE_SANDBOX 1

+ 75 - 0
.gitpod.yml

@@ -0,0 +1,75 @@
+image:
+  file: .gitpod.Dockerfile
+tasks:
+  - before: sudo mount -t tmpfs shm -osize=4096m /dev/shm
+  - init: |
+      flutter channel beta
+      flutter upgrade
+
+      # flutter config --enable-web
+      flutter config --android-sdk /home/gitpod/androidsdk
+      yes | flutter doctor --android-licenses
+
+      # flutter doctor
+
+      # flutter pub get
+
+      # flutter build -v bundle
+      # flutter build -v web
+      # flutter build -v appbundle
+      # flutter build -v apk
+      
+  # - command: |
+  #     # Gitpod is not able to run emulators within a worspace at this stage as
+  #     # Google Kubernetes Engine does not support Nested Virtualization.
+  #     #
+  #     # If running Gitpod on your own infrastructure or via the Dockerfile locally
+  #     # on infrastructure that exposes vmx or svm then this command will launch
+  #     # the emulator.
+  #     #
+  #     # $ emulator -avd avd28 -no-audio -no-window 
+  #     #
+  #     # Until this restriction is mitigated you can run native mobile apps in your
+  #     # browser via https://appetize.io/
+
+  #     if [[ -z "$APPETIZE_API_TOKEN" ]]; then
+  #         echo "Appetize API token not set. Run:"
+  #         echo ""
+  #         echo "    gp env APPETIZE_API_TOKEN=your_token"
+  #         echo ""
+  #         echo "and restart this workspace in order to get an app preview."
+  #         echo ""
+  #         echo "Request your token here: https://appetize.io/docs#request-api-token"
+  #     else
+  #         curl -sS --http1.1 "https://$APPETIZE_API_TOKEN@api.appetize.io/v1/apps/$APPETIZE_PUBLICKEY" \
+  #             -F "file=@/workspace/template-flutter/build/app/outputs/flutter-apk/app.apk" \
+  #             -F platform=android \
+  #             -F "buttonText=Start App" \
+  #             -F "postSessionButtonText=Start App" \
+  #             > .appetize.json
+
+  #         APPETIZE_PUBLICKEY=$(jq -r .publicKey .appetize.json)
+  #         gp env "APPETIZE_PUBLICKEY=$APPETIZE_PUBLICKEY"
+  #         export APPETIZE_PUBLICKEY
+
+  #         python -m webbrowser "https://appetize.io/embed/$APPETIZE_PUBLICKEY?device=pixel4&autoplay=true"
+  #     fi
+
+  #     flutter devices
+    
+  #     flutter run --web-port 8080
+
+
+ports:
+  - port: 5900
+    onOpen: ignore
+    # vnc
+  - port: 6080
+    onOpen: open-preview
+    # flutter
+  - port: 8080
+    onOpen: open-preview
+
+vscode:
+  extensions:
+    - dart-code.flutter

+ 2 - 2
android/app/build.gradle

@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
 
 android {
-    compileSdkVersion 30
+    compileSdkVersion 31
     signingConfigs {
         release {
             storeFile file("../sign/release.jks")
@@ -54,7 +54,7 @@ android {
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
         applicationId "yoqi.me.flutternote"
         minSdkVersion 16
-        targetSdkVersion 30
+        targetSdkVersion 31
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
 //        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

+ 3 - 1
android/app/src/main/AndroidManifest.xml

@@ -15,7 +15,6 @@
          additional functionality it is fine to subclass or reimplement
          FlutterApplication and put your custom class here. -->
     <application
-        android:name="io.flutter.app.FlutterApplication"
         android:label="flutter_note"
         android:icon="@mipmap/ic_launcher">
         <meta-data
@@ -40,5 +39,8 @@
                 <category android:name="android.intent.category.LAUNCHER"/>
             </intent-filter>
         </activity>
+        <meta-data
+            android:name="flutterEmbedding"
+            android:value="2" />
     </application>
 </manifest>

+ 1 - 1
android/build.gradle

@@ -6,7 +6,7 @@ buildscript {
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:4.1.0'
+        classpath 'com.android.tools.build:gradle:7.2.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }

+ 1 - 1
android/gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip

+ 13 - 0
ios/Flutter/flutter_export_environment.sh

@@ -0,0 +1,13 @@
+#!/bin/sh
+# This is a generated file; do not edit or check into version control.
+export "FLUTTER_ROOT=/home/lyq/flutter"
+export "FLUTTER_APPLICATION_PATH=/home/lyq/workspaces/flutter_note"
+export "COCOAPODS_PARALLEL_CODE_SIGN=true"
+export "FLUTTER_TARGET=lib/main.dart"
+export "FLUTTER_BUILD_DIR=build"
+export "FLUTTER_BUILD_NAME=1.0.0"
+export "FLUTTER_BUILD_NUMBER=1"
+export "DART_OBFUSCATION=false"
+export "TRACK_WIDGET_CREATION=false"
+export "TREE_SHAKE_ICONS=false"
+export "PACKAGE_CONFIG=.packages"

+ 4 - 4
lib/model/category_goods_model.dart

@@ -4,7 +4,7 @@ class CategoryGoodsModel {
   List<CategoryGoodsInfo> data;
 
   static CategoryGoodsModel fromMap(Map<String, dynamic> map) {
-    CategoryGoodsModel bean = new CategoryGoodsModel();
+    CategoryGoodsModel bean = CategoryGoodsModel();
     bean.code = map['code'];
     bean.message = map['message'];
     bean.data = CategoryGoodsInfo.fromMapList(map['data']);
@@ -12,7 +12,7 @@ class CategoryGoodsModel {
   }
 
   static List<CategoryGoodsModel> fromMapList(dynamic mapList) {
-    List<CategoryGoodsModel> list = new List(mapList.length);
+    List<CategoryGoodsModel> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -28,7 +28,7 @@ class CategoryGoodsInfo {
   double presentPrice;
 
   static CategoryGoodsInfo fromMap(Map<String, dynamic> map) {
-    CategoryGoodsInfo dataListBean = new CategoryGoodsInfo();
+    CategoryGoodsInfo dataListBean = CategoryGoodsInfo();
     dataListBean.image = map['image'];
     dataListBean.goodsId = map['goodsId'];
     dataListBean.goodsName = map['goodsName'];
@@ -38,7 +38,7 @@ class CategoryGoodsInfo {
   }
 
   static List<CategoryGoodsInfo> fromMapList(dynamic mapList) {
-    List<CategoryGoodsInfo> list = new List(mapList.length);
+    List<CategoryGoodsInfo> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }

+ 6 - 6
lib/model/category_model.dart

@@ -4,7 +4,7 @@ class CategoryModel {
   List<CategoryData> data;
 
   static CategoryModel fromMap(Map<String, dynamic> map) {
-    CategoryModel category = new CategoryModel();
+    CategoryModel category = CategoryModel();
     category.code = map['code'];
     category.message = map['message'];
     category.data = CategoryData.fromMapList(map['data']);
@@ -12,7 +12,7 @@ class CategoryModel {
   }
 
   static List<CategoryModel> fromMapList(dynamic mapList) {
-    List<CategoryModel> list = new List(mapList.length);
+    List<CategoryModel> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -27,7 +27,7 @@ class CategoryData {
   List<BxMallSubDtoListBean> bxMallSubDto;
 
   static CategoryData fromMap(Map<String, dynamic> map) {
-    CategoryData dataListBean = new CategoryData();
+    CategoryData dataListBean = CategoryData();
     dataListBean.mallCategoryId = map['mallCategoryId'];
     dataListBean.mallCategoryName = map['mallCategoryName'];
     dataListBean.image = map['image'];
@@ -36,7 +36,7 @@ class CategoryData {
   }
 
   static List<CategoryData> fromMapList(dynamic mapList) {
-    List<CategoryData> list = new List(mapList.length);
+    List<CategoryData> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -51,7 +51,7 @@ class BxMallSubDtoListBean {
   String comments;
 
   static BxMallSubDtoListBean fromMap(Map<String, dynamic> map) {
-    BxMallSubDtoListBean bxMallSubDtoListBean = new BxMallSubDtoListBean();
+    BxMallSubDtoListBean bxMallSubDtoListBean = BxMallSubDtoListBean();
     bxMallSubDtoListBean.mallSubId = map['mallSubId'];
     bxMallSubDtoListBean.mallCategoryId = map['mallCategoryId'];
     bxMallSubDtoListBean.mallSubName = map['mallSubName'];
@@ -60,7 +60,7 @@ class BxMallSubDtoListBean {
   }
 
   static List<BxMallSubDtoListBean> fromMapList(dynamic mapList) {
-    List<BxMallSubDtoListBean> list = new List(mapList.length);
+    List<BxMallSubDtoListBean> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }

+ 10 - 10
lib/model/goods_detail_model.dart

@@ -4,7 +4,7 @@ class GoodsDetailModel {
   GoodsDetailInfo data;
 
   static GoodsDetailModel fromMap(Map<String, dynamic> map) {
-    GoodsDetailModel model = new GoodsDetailModel();
+    GoodsDetailModel model = GoodsDetailModel();
     model.code = map['code'];
     model.message = map['message'];
     model.data = GoodsDetailInfo.fromMap(map['data']);
@@ -12,7 +12,7 @@ class GoodsDetailModel {
   }
 
   static List<GoodsDetailModel> fromMapList(dynamic mapList) {
-    List<GoodsDetailModel> list = new List(mapList.length);
+    List<GoodsDetailModel> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -26,7 +26,7 @@ class GoodsDetailInfo {
   List<GoodCommentsListBean> goodComments;
 
   static GoodsDetailInfo fromMap(Map<String, dynamic> map) {
-    GoodsDetailInfo dataBean = new GoodsDetailInfo();
+    GoodsDetailInfo dataBean = GoodsDetailInfo();
     dataBean.advertesPicture = AdvertesPictureBean.fromMap(map['advertesPicture']);
     dataBean.goodInfo = GoodInfoBean.fromMap(map['goodInfo']);
     dataBean.goodComments = GoodCommentsListBean.fromMapList(map['goodComments']);
@@ -34,7 +34,7 @@ class GoodsDetailInfo {
   }
 
   static List<GoodsDetailInfo> fromMapList(dynamic mapList) {
-    List<GoodsDetailInfo> list = new List(mapList.length);
+    List<GoodsDetailInfo> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -50,14 +50,14 @@ class AdvertesPictureBean {
   String TO_PLACE;
 
   static AdvertesPictureBean fromMap(Map<String, dynamic> map) {
-    AdvertesPictureBean advertesPictureBean = new AdvertesPictureBean();
+    AdvertesPictureBean advertesPictureBean = AdvertesPictureBean();
     advertesPictureBean.PICTURE_ADDRESS = map['PICTURE_ADDRESS'];
     advertesPictureBean.TO_PLACE = map['TO_PLACE'];
     return advertesPictureBean;
   }
 
   static List<AdvertesPictureBean> fromMapList(dynamic mapList) {
-    List<AdvertesPictureBean> list = new List(mapList.length);
+    List<AdvertesPictureBean> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -84,7 +84,7 @@ class GoodInfoBean {
   int state;
 
   static GoodInfoBean fromMap(Map<String, dynamic> map) {
-    GoodInfoBean goodInfoBean = new GoodInfoBean();
+    GoodInfoBean goodInfoBean = GoodInfoBean();
     goodInfoBean.image5 = map['image5'];
     goodInfoBean.image3 = map['image3'];
     goodInfoBean.image4 = map['image4'];
@@ -105,7 +105,7 @@ class GoodInfoBean {
   }
 
   static List<GoodInfoBean> fromMapList(dynamic mapList) {
-    List<GoodInfoBean> list = new List(mapList.length);
+    List<GoodInfoBean> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }
@@ -122,7 +122,7 @@ class GoodCommentsListBean {
   int discussTime;
 
   static GoodCommentsListBean fromMap(Map<String, dynamic> map) {
-    GoodCommentsListBean goodCommentsListBean = new GoodCommentsListBean();
+    GoodCommentsListBean goodCommentsListBean = GoodCommentsListBean();
     goodCommentsListBean.comments = map['comments'];
     goodCommentsListBean.userName = map['userName'];
     goodCommentsListBean.SCORE = map['SCORE'];
@@ -131,7 +131,7 @@ class GoodCommentsListBean {
   }
 
   static List<GoodCommentsListBean> fromMapList(dynamic mapList) {
-    List<GoodCommentsListBean> list = new List(mapList.length);
+    List<GoodCommentsListBean> list = List(mapList.length);
     for (int i = 0; i < mapList.length; i++) {
       list[i] = fromMap(mapList[i]);
     }

+ 42 - 42
lib/model/home_page_model.dart

@@ -8,11 +8,11 @@ class HomePageModel {
   HomePageModel.fromJson(Map<String, dynamic> json) {
     code = json['code'];
     message = json['message'];
-    data = json['data'] != null ? new HomeData.fromJson(json['data']) : null;
+    data = json['data'] != null ? HomeData.fromJson(json['data']) : null;
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['code'] = this.code;
     data['message'] = this.message;
     if (this.data != null) {
@@ -60,55 +60,55 @@ class HomeData {
 
   HomeData.fromJson(Map<String, dynamic> json) {
     if (json['slides'] != null) {
-      slides = new List<Slides>();
+      slides = List<Slides>();
       json['slides'].forEach((v) {
-        slides.add(new Slides.fromJson(v));
+        slides.add(Slides.fromJson(v));
       });
     }
-    shopInfo = json['shopInfo'] != null ? new ShopInfo.fromJson(json['shopInfo']) : null;
-    integralMallPic = json['integralMallPic'] != null ? new IntegralMallPic.fromJson(json['integralMallPic']) : null;
-    toShareCode = json['toShareCode'] != null ? new ToShareCode.fromJson(json['toShareCode']) : null;
+    shopInfo = json['shopInfo'] != null ? ShopInfo.fromJson(json['shopInfo']) : null;
+    integralMallPic = json['integralMallPic'] != null ? IntegralMallPic.fromJson(json['integralMallPic']) : null;
+    toShareCode = json['toShareCode'] != null ? ToShareCode.fromJson(json['toShareCode']) : null;
     if (json['recommend'] != null) {
-      recommend = new List<Recommend>();
+      recommend = List<Recommend>();
       json['recommend'].forEach((v) {
-        recommend.add(new Recommend.fromJson(v));
+        recommend.add(Recommend.fromJson(v));
       });
     }
-    advertesPicture = json['advertesPicture'] != null ? new AdvertesPicture.fromJson(json['advertesPicture']) : null;
+    advertesPicture = json['advertesPicture'] != null ? AdvertesPicture.fromJson(json['advertesPicture']) : null;
     if (json['floor1'] != null) {
-      floor1 = new List<Floor>();
+      floor1 = List<Floor>();
       json['floor1'].forEach((v) {
-        floor1.add(new Floor.fromJson(v));
+        floor1.add(Floor.fromJson(v));
       });
     }
     if (json['floor2'] != null) {
-      floor2 = new List<Floor>();
+      floor2 = List<Floor>();
       json['floor2'].forEach((v) {
-        floor2.add(new Floor.fromJson(v));
+        floor2.add(Floor.fromJson(v));
       });
     }
     if (json['floor3'] != null) {
-      floor3 = new List<Floor>();
+      floor3 = List<Floor>();
       json['floor3'].forEach((v) {
-        floor3.add(new Floor.fromJson(v));
+        floor3.add(Floor.fromJson(v));
       });
     }
-    saoma = json['saoma'] != null ? new Saoma.fromJson(json['saoma']) : null;
-    newUser = json['newUser'] != null ? new NewUser.fromJson(json['newUser']) : null;
-    floor1Pic = json['floor1Pic'] != null ? new Floor1Pic.fromJson(json['floor1Pic']) : null;
-    floor2Pic = json['floor2Pic'] != null ? new Floor2Pic.fromJson(json['floor2Pic']) : null;
-    floorName = json['floorName'] != null ? new FloorName.fromJson(json['floorName']) : null;
+    saoma = json['saoma'] != null ? Saoma.fromJson(json['saoma']) : null;
+    newUser = json['newUser'] != null ? NewUser.fromJson(json['newUser']) : null;
+    floor1Pic = json['floor1Pic'] != null ? Floor1Pic.fromJson(json['floor1Pic']) : null;
+    floor2Pic = json['floor2Pic'] != null ? Floor2Pic.fromJson(json['floor2Pic']) : null;
+    floorName = json['floorName'] != null ? FloorName.fromJson(json['floorName']) : null;
     if (json['category'] != null) {
-      category = new List<Category>();
+      category = List<Category>();
       json['category'].forEach((v) {
-        category.add(new Category.fromJson(v));
+        category.add(Category.fromJson(v));
       });
     }
-    floor3Pic = json['floor3Pic'] != null ? new Floor3Pic.fromJson(json['floor3Pic']) : null;
+    floor3Pic = json['floor3Pic'] != null ? Floor3Pic.fromJson(json['floor3Pic']) : null;
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     if (this.slides != null) {
       data['slides'] = this.slides.map((v) => v.toJson()).toList();
     }
@@ -173,7 +173,7 @@ class Slides {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['image'] = this.image;
     data['goodsId'] = this.goodsId;
     return data;
@@ -192,7 +192,7 @@ class ShopInfo {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['leaderImage'] = this.leaderImage;
     data['leaderPhone'] = this.leaderPhone;
     return data;
@@ -211,7 +211,7 @@ class IntegralMallPic {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -230,7 +230,7 @@ class ToShareCode {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -255,7 +255,7 @@ class Recommend {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['image'] = this.image;
     data['mallPrice'] = this.mallPrice;
     data['goodsName'] = this.goodsName;
@@ -277,7 +277,7 @@ class AdvertesPicture {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -296,7 +296,7 @@ class Floor {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['image'] = this.image;
     data['goodsId'] = this.goodsId;
     return data;
@@ -315,7 +315,7 @@ class Saoma {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -334,7 +334,7 @@ class NewUser {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -353,7 +353,7 @@ class Floor1Pic {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -372,7 +372,7 @@ class Floor2Pic {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;
@@ -393,7 +393,7 @@ class FloorName {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['floor1'] = this.floor1;
     data['floor2'] = this.floor2;
     data['floor3'] = this.floor3;
@@ -414,9 +414,9 @@ class Category {
     mallCategoryId = json['mallCategoryId'];
     mallCategoryName = json['mallCategoryName'];
     if (json['bxMallSubDto'] != null) {
-      bxMallSubDto = new List<BxMallSubDto>();
+      bxMallSubDto = List<BxMallSubDto>();
       json['bxMallSubDto'].forEach((v) {
-        bxMallSubDto.add(new BxMallSubDto.fromJson(v));
+        bxMallSubDto.add(BxMallSubDto.fromJson(v));
       });
     }
     comments = json['comments'];
@@ -424,7 +424,7 @@ class Category {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['mallCategoryId'] = this.mallCategoryId;
     data['mallCategoryName'] = this.mallCategoryName;
     if (this.bxMallSubDto != null) {
@@ -452,7 +452,7 @@ class BxMallSubDto {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['mallSubId'] = this.mallSubId;
     data['mallCategoryId'] = this.mallCategoryId;
     data['mallSubName'] = this.mallSubName;
@@ -473,7 +473,7 @@ class Floor3Pic {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['PICTURE_ADDRESS'] = this.pICTUREADDRESS;
     data['TO_PLACE'] = this.tOPLACE;
     return data;

+ 4 - 4
lib/model/hot_goods_model.dart

@@ -9,15 +9,15 @@ class HotGoodsModel {
     code = json['code'];
     message = json['message'];
     if (json['data'] != null) {
-      data = new List<HotGoodsData>();
+      data = List<HotGoodsData>();
       json['data'].forEach((v) {
-        data.add(new HotGoodsData.fromJson(v));
+        data.add(HotGoodsData.fromJson(v));
       });
     }
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['code'] = this.code;
     data['message'] = this.message;
     if (this.data != null) {
@@ -45,7 +45,7 @@ class HotGoodsData {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['name'] = this.name;
     data['image'] = this.image;
     data['mallPrice'] = this.mallPrice;

+ 1 - 1
lib/model/shopping_cart_model.dart

@@ -28,7 +28,7 @@ class ShoppingCartModel {
   }
 
   Map<String, dynamic> toJson() {
-    final Map<String, dynamic> data = new Map<String, dynamic>();
+    final Map<String, dynamic> data = Map<String, dynamic>();
     data['goodsName'] = this.goodsName;
     data['goodsId'] = this.goodsId;
     data['goodsImg'] = this.goodsImg;

+ 4 - 4
lib/routers/router_handler.dart

@@ -4,13 +4,13 @@ import '../views/map_page.dart';
 import '../views/deatilspage/details_page.dart';
 import '../views/settings_page.dart';
 
-Handler rootHandler = new Handler(handlerFunc: (_, params) => IndexPage());
+Handler rootHandler = Handler(handlerFunc: (_, params) => IndexPage());
 
-Handler detailHandler = new Handler(handlerFunc: (context, param) {
+Handler detailHandler = Handler(handlerFunc: (context, param) {
   String goodsId = param['id']?.first;
   return DetailsPage(goodsId: goodsId);
 });
 
-Handler mapHandler = new Handler(handlerFunc: (_, param) => MapPage());
+Handler mapHandler = Handler(handlerFunc: (_, param) => MapPage());
 
-Handler settingHandler = new Handler(handlerFunc: (_, param) => SettingsPage());
+Handler settingHandler = Handler(handlerFunc: (_, param) => SettingsPage());

+ 1 - 1
lib/shop_app.dart

@@ -4,7 +4,7 @@ import 'package:flutter_note/routers/application.dart';
 class ShopApp extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
-    return new Container(
+    return Container(
       child: MaterialApp(
         onGenerateRoute: Application.router.generator,
         debugShowCheckedModeBanner: false,

+ 3 - 3
lib/views/cartpage/bottom_summary.dart

@@ -12,7 +12,7 @@ class BottomCartSummary extends StatelessWidget {
       padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0),
       height: 60.0,
       child:
-          Row(crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[
+          Row(crossAxisAlignment: CrossAxisAlignment.center, children: [
         Checkbox(
             value: cartProvide.allCheckedState,
             onChanged: (checkState) {
@@ -27,10 +27,10 @@ class BottomCartSummary extends StatelessWidget {
                 child: Column(
                   crossAxisAlignment: CrossAxisAlignment.end,
                   mainAxisAlignment: MainAxisAlignment.center,
-                  children: <Widget>[
+                  children: [
                     Row(
                       mainAxisAlignment: MainAxisAlignment.end,
-                      children: <Widget>[
+                      children: [
                         Text('合计:',
                             style:
                                 TextStyle(color: Colors.black, fontSize: 18.0)),

+ 1 - 1
lib/views/cartpage/cart_count.dart

@@ -21,7 +21,7 @@ class CartCountWidget extends StatelessWidget {
       ),
       child: Row(
         crossAxisAlignment: CrossAxisAlignment.center,
-        children: <Widget>[
+        children: [
           // 减值操作,数量为 1 停止
           Expanded(
             child: InkWell(

+ 1 - 1
lib/views/cartpage/empty_cart.dart

@@ -10,7 +10,7 @@ class EmptyShoppingCart extends StatelessWidget {
       alignment: Alignment.center,
       child: Column(
         mainAxisAlignment: MainAxisAlignment.center,
-        children: <Widget>[
+        children: [
           DecoratedBox(
               decoration:
                   ShapeDecoration(shape: CircleBorder(), color: Colors.black12),

+ 5 - 5
lib/views/cartpage/shopping_cart_list.dart

@@ -16,7 +16,7 @@ class ShoppingCartList extends StatelessWidget {
       padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0),
       child: Row(
         mainAxisAlignment: MainAxisAlignment.spaceBetween,
-        children: <Widget>[
+        children: [
           Text(
             '共${cartProvide.allCheckedCount}件商品',
             style: TextStyle(color: Colors.black),
@@ -33,7 +33,7 @@ class ShoppingCartList extends StatelessWidget {
   /// 前置部分,checkbox image
   Widget _leadingPart(ShoppingCartModel entity) {
     return Row(
-      children: <Widget>[
+      children: [
         Checkbox(
             value: entity.isChecked,
             onChanged: (checkState) {
@@ -63,7 +63,7 @@ class ShoppingCartList extends StatelessWidget {
         child: Column(
           mainAxisAlignment: MainAxisAlignment.spaceBetween,
           crossAxisAlignment: CrossAxisAlignment.start,
-          children: <Widget>[
+          children: [
             Text(
               entity.goodsName,
               style: TextStyle(color: Colors.black, fontSize: 16.0),
@@ -86,7 +86,7 @@ class ShoppingCartList extends StatelessWidget {
   Widget _trailingPart(ShoppingCartModel entity) {
     return Column(
       crossAxisAlignment: CrossAxisAlignment.end,
-      children: <Widget>[
+      children: [
         Text(
           '¥${(entity.count * entity.price).toStringAsFixed(2)}',
           style: TextStyle(color: Colors.black, fontSize: 16.0),
@@ -116,7 +116,7 @@ class ShoppingCartList extends StatelessWidget {
               color: Colors.white,
               padding: const EdgeInsets.all(12.0),
               child: Row(
-                children: <Widget>[
+                children: [
                   _leadingPart(cartProvide.shopCarts[index]),
                   _middlePart(cartProvide.shopCarts[index]),
                   _trailingPart(cartProvide.shopCarts[index])

+ 5 - 5
lib/views/category_page.dart

@@ -150,7 +150,7 @@ class _CategoryPageState extends State<CategoryPage> {
         alignment: Alignment.center,
         color: Colors.white,
         child: Column(
-          children: <Widget>[
+          children: [
             Image.network(info.image,
                 width: MediaQuery.of(context).size.width * 0.4,
                 height: MediaQuery.of(context).size.width * 0.4),
@@ -160,7 +160,7 @@ class _CategoryPageState extends State<CategoryPage> {
             Row(
                 mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                 crossAxisAlignment: CrossAxisAlignment.end,
-                children: <Widget>[
+                children: [
                   Text('¥${info.presentPrice}',
                       style: TextStyle(fontSize: 14.0)),
                   Text('¥${info.oriPrice}',
@@ -179,7 +179,7 @@ class _CategoryPageState extends State<CategoryPage> {
   Widget build(BuildContext context) {
     return Scaffold(
       appBar: AppBar(title: Text('商品分类'), centerTitle: true),
-      body: Row(children: <Widget>[
+      body: Row(children: [
         // 左侧栏
         Container(
           width: 100.0,
@@ -195,7 +195,7 @@ class _CategoryPageState extends State<CategoryPage> {
         // 右侧栏
         Expanded(
             child: Column(
-          children: <Widget>[
+          children: [
             // 头部导航
             Provide<SubCategoryProvide>(
               builder: (_, child, subCategories) => Container(
@@ -220,7 +220,7 @@ class _CategoryPageState extends State<CategoryPage> {
                         ? Center(
                             child: Column(
                                 mainAxisAlignment: MainAxisAlignment.center,
-                                children: <Widget>[
+                                children: [
                                   Image.asset('images/empty.png',
                                       width: 60.0, height: 60.0),
                                   Text('啊哦...目前未找到该分类下的商品'),

+ 1 - 1
lib/views/deatilspage/goods_comments.dart

@@ -31,7 +31,7 @@ class GoodsComments extends StatelessWidget {
                             child: Column(
                               mainAxisAlignment: MainAxisAlignment.center,
                               crossAxisAlignment: CrossAxisAlignment.start,
-                              children: <Widget>[
+                              children: [
                                 Text(
                                     '${_detail.goodComments[index].userName}'), // 评论者昵称
                                 Text(

+ 5 - 5
lib/views/deatilspage/goods_handler.dart

@@ -14,7 +14,7 @@ class GoodsHandler extends StatelessWidget {
   Widget _countOperator(CartCountProvide cartCount) {
     return Row(
       crossAxisAlignment: CrossAxisAlignment.center,
-      children: <Widget>[
+      children: [
         Expanded(
           child: InkWell(
             onTap:
@@ -67,10 +67,10 @@ class GoodsHandler extends StatelessWidget {
               child: Column(
                 crossAxisAlignment: CrossAxisAlignment.start,
                 mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                children: <Widget>[
+                children: [
                   Text('购买数量',
                       style: TextStyle(color: Colors.black, fontSize: 12.0)),
-                  Row(children: <Widget>[
+                  Row(children: [
                     Container(
                       width: 120.0,
                       height: 30.0,
@@ -110,11 +110,11 @@ class GoodsHandler extends StatelessWidget {
         height: 60.0,
         child: Card(
           margin: const EdgeInsets.all(0.0),
-          child: Row(children: <Widget>[
+          child: Row(children: [
             // 购物车按钮
             Stack(
               alignment: Alignment.topRight,
-              children: <Widget>[
+              children: [
                 IconButton(
                     icon: Icon(CupertinoIcons.shopping_cart,
                         size: 32.0, color: Colors.pink),

+ 3 - 3
lib/views/deatilspage/sliver_header_bar.dart

@@ -66,12 +66,12 @@ class HeaderFlex extends StatelessWidget {
         color: Colors.white,
         height: expandedHeight,
         child: Column(
-          children: <Widget>[
+          children: [
             Image.network(_detail.goodInfo.image1, height: 340), // 图片
             Column(
               mainAxisAlignment: MainAxisAlignment.center,
               crossAxisAlignment: CrossAxisAlignment.start,
-              children: <Widget>[
+              children: [
                 // 商品名
                 Padding(
                   padding:
@@ -93,7 +93,7 @@ class HeaderFlex extends StatelessWidget {
                       const EdgeInsets.only(top: 8.0, left: 12.0, right: 12.0),
                   child: Row(
                       crossAxisAlignment: CrossAxisAlignment.end,
-                      children: <Widget>[
+                      children: [
                         Text('¥${_detail.goodInfo.presentPrice}',
                             style:
                                 TextStyle(fontSize: 16.0, color: Colors.red)),

+ 4 - 4
lib/views/homepage/floor_part.dart

@@ -31,9 +31,9 @@ class FloorContent extends StatelessWidget {
   }
 
   Widget _topRow(context) {
-    return Row(children: <Widget>[
+    return Row(children: [
       _goodsImg(floorContent[0], context),
-      Column(children: <Widget>[
+      Column(children: [
         _goodsImg(floorContent[1], context),
         _goodsImg(floorContent[2], context),
       ])
@@ -45,9 +45,9 @@ class FloorContent extends StatelessWidget {
     return SliverToBoxAdapter(
         child: InkWell(
       child: Container(
-        child: Column(children: <Widget>[
+        child: Column(children: [
           _topRow(context),
-          Row(children: <Widget>[
+          Row(children: [
             _goodsImg(floorContent[3], context),
             _goodsImg(floorContent[4], context),
           ])

+ 1 - 1
lib/views/homepage/home_page.dart

@@ -71,7 +71,7 @@ class HomePage extends StatelessWidget {
                     child: Padding(
                       padding: const EdgeInsets.all(4.0),
                       child: Row(
-                        children: <Widget>[
+                        children: [
                           Icon(Icons.location_on,
                               color: Colors.white, size: 12.0),
                           Expanded(

+ 2 - 2
lib/views/homepage/hot_part.dart

@@ -37,12 +37,12 @@ class HotItem extends StatelessWidget {
         padding: const EdgeInsets.all(4.0),
         child: Column(
           mainAxisAlignment: MainAxisAlignment.center,
-          children: <Widget>[
+          children: [
             Image.network(hot.image),
             Text(hot.name, textAlign: TextAlign.center, maxLines: 1),
             Row(
               mainAxisAlignment: MainAxisAlignment.spaceAround,
-              children: <Widget>[
+              children: [
                 Text('¥${hot.mallPrice}'),
                 Text('¥${hot.price}',
                     style: TextStyle(

+ 2 - 2
lib/views/homepage/mall_recommend.dart

@@ -37,7 +37,7 @@ class RecommendWidget extends StatelessWidget {
             color: Colors.white),
         child: Column(
             mainAxisAlignment: MainAxisAlignment.center,
-            children: <Widget>[
+            children: [
               Image.network(recommendList[index].image, height: 120.0),
               Text('¥${recommendList[index].mallPrice}',
                   style: TextStyle(fontSize: 16.0)),
@@ -58,7 +58,7 @@ class RecommendWidget extends StatelessWidget {
         margin: const EdgeInsets.only(top: 6.0),
         child: Column(
             mainAxisAlignment: MainAxisAlignment.center,
-            children: <Widget>[
+            children: [
               _recommendTitle(),
               SizedBox(
                 height: 180.0,

+ 1 - 1
lib/views/mempage/mem_header.dart

@@ -10,7 +10,7 @@ class MemHeader extends StatelessWidget {
         gradient: LinearGradient(colors: [Colors.pink[300], Colors.blue[200]], begin: Alignment.topLeft, end: Alignment.bottomRight),
       ),
       child: Column(
-        children: <Widget>[
+        children: [
           ClipOval(
             child: Image.asset('images/avatar.jpg', width: 100.0, height: 100.0),
           ),

+ 1 - 1
lib/views/mempage/mem_page.dart

@@ -14,7 +14,7 @@ class MemPage extends StatelessWidget {
         centerTitle: true,
       ),
       body: ListView(
-        children: <Widget>[
+        children: [
           MemHeader(),
           MemTile(leading: Icons.border_all, title: "我的订单", action: () {}),
           Divider(height: 2.0, color: Colors.black38),

+ 1 - 1
lib/views/mempage/order_grid.dart

@@ -15,7 +15,7 @@ class OrderGrid extends StatelessWidget {
             (index) => InkWell(
                   child: Column(
                     mainAxisAlignment: MainAxisAlignment.center,
-                    children: <Widget>[Icon(_icons[index]), Padding(padding: const EdgeInsets.all(4.0), child: Text(_titles[index]))],
+                    children: [Icon(_icons[index]), Padding(padding: const EdgeInsets.all(4.0), child: Text(_titles[index]))],
                   ),
                   onTap: () {},
                 )),

+ 1 - 1
lib/views/my_home_page.dart

@@ -26,7 +26,7 @@ class _MyHomePageState extends State<MyHomePage> {
       body: Center(
         child: Column(
           mainAxisAlignment: MainAxisAlignment.center,
-          children: <Widget>[
+          children: [
             Text(
               '您点击+号多次:',
             ),

+ 1 - 1
lib/views/settings_page.dart

@@ -27,7 +27,7 @@ class _SettingsPageState extends State<SettingsPage> {
             title: Text('设置'),
           ),
           body: ListView(
-            children: <Widget>[
+            children: [
               SwitchListTile(
                   activeColor: Colors.pink,
                   title: Text('是否接收通知'),

+ 8 - 8
pubspec.yaml

@@ -2,25 +2,25 @@ name: flutter_note
 description: Flutter 工作中不断总结.
 version: 1.0.0+1
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.17.6 <3.0.0"
 
 dependencies:
   flutter:
     sdk: flutter
-  sqflite: ^1.1.5
+  sqflite: ^2.0.2+1
   shared_preferences: ^2.0.7
-  fluro: ^1.4.0
+  fluro: ^2.0.3
   cupertino_icons: ^1.0.3
   dio: ^4.0.0
-  flutter_easyrefresh: ^1.2.7
+  flutter_easyrefresh: ^2.2.2
   flutter_swiper: ^1.1.6
-  flutter_html: ^0.9.6
-  url_launcher: ^5.0.2
-  path_provider: ^0.5.0+1
+  flutter_html: ^2.2.1
+  url_launcher: ^6.1.5
+  path_provider: ^2.0.11
   provide: ^1.0.2
 #  jpush_flutter: ^0.0.11
 
-  fluttertoast: ^3.0.3
+  fluttertoast: ^8.0.9
   amap_base: ^0.3.5
 
   flutter_localizations: # 国际化

Some files were not shown because too many files changed in this diff