datangyun 1 gadu atpakaļ
vecāks
revīzija
8ef6f6ffc1

+ 9 - 0
ysairplane3/android/app/build.gradle

@@ -76,6 +76,15 @@ android {
             signingConfig signingConfigs.release
         }
     }
+
+//    buildTypes {
+//        release {
+//            minifyEnabled false
+//            shrinkResources false
+//            consumerProguardFiles "proguard-rules.pro"
+//            signingConfig signingConfigs.release
+//        }
+//    }
 }
 
 flutter {

+ 3 - 2
ysairplane3/android/app/src/main/AndroidManifest.xml

@@ -4,14 +4,15 @@
     <uses-permission android:name="android.permission.INTERNET" />
    <application
         android:networkSecurityConfig="@xml/network_security_config"
-        android:label="智慧通航商旅app软件"
+        android:label="畅翔蔚蓝"
         android:requestLegacyExternalStorage="true"
         android:icon="@mipmap/icon"
-       tools:ignore="UnusedAttribute">
+        tools:ignore="UnusedAttribute">
         <activity
             android:name=".MainActivity"
             android:launchMode="singleTop"
             android:theme="@style/LaunchTheme"
+            android:exported="true"
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
             android:hardwareAccelerated="true"
             android:windowSoftInputMode="adjustResize">

+ 6 - 3
ysairplane3/android/app/src/main/kotlin/com/example/ysairplane2/MainActivity.kt

@@ -51,10 +51,13 @@ class MainActivity : FlutterActivity() {
 
 class MyFlutterViewFactory(val messenger: BinaryMessenger) : PlatformViewFactory(StandardMessageCodec.INSTANCE) {
 
-    override fun create(context: Context, viewId: Int, args: Any?): PlatformView {
-        return MyMapView(context, messenger, viewId, args as Map<String, Any>?)
-    }
+//    override fun create(context: Context, viewId: Int, args: Any): PlatformView {
+//        return MyMapView(context, messenger, viewId, args as Map<String, Any>)
+//    }
 
+    override fun create(context: Context?, viewId: Int, args: Any?): PlatformView {
+        return MyMapView(context!!, messenger, viewId, args as Map<String, Any>)
+    }
 }
 
 class MyPlugin : FlutterPlugin {

+ 11 - 5
ysairplane3/android/build.gradle

@@ -1,8 +1,10 @@
 buildscript {
-    ext.kotlin_version = '1.4.32'
+    ext.kotlin_version = '1.6.0'
     repositories {
-        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
-        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
+//        maven { url 'https://maven.aliyun.com/repository/public' }
+//        maven{ url 'https://maven.aliyun.com/repository/google'}
+//        maven{ url 'https://maven.aliyun.com/repository/central'}
+        jcenter()
         google()
         mavenCentral()
     }
@@ -15,8 +17,12 @@ buildscript {
 
 allprojects {
     repositories {
-        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
-        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
+//        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+//        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
+//        maven { url 'https://maven.aliyun.com/repository/public' }
+//        maven{ url 'https://maven.aliyun.com/repository/google'}
+//        maven{ url 'https://maven.aliyun.com/repository/central'}
+        jcenter()
         google()
         mavenCentral()
     }

+ 1 - 0
ysairplane3/android/gradle.properties

@@ -2,3 +2,4 @@ org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
 android.enableR8=true
+android.jetifier.blacklist=bcprov-jdk15on

+ 11 - 9
ysairplane3/ios/Podfile

@@ -1,4 +1,6 @@
 # Uncomment this line to define a global platform for your project
+#source 'https://github.com/CocoaPods/Specs.git'
+#source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
 platform :ios, '9.0'
 
 # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
@@ -35,17 +37,17 @@ target 'Runner' do
   flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
 end
 
-#post_install do |installer|
-#  installer.pods_project.targets.each do |target|
-#    flutter_additional_ios_build_settings(target)
-#
-#  end
-#end
 post_install do |installer|
   installer.pods_project.targets.each do |target|
     flutter_additional_ios_build_settings(target)
-    target.build_configurations.each do |config|
-#      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
-    end
+
   end
 end
+#post_install do |installer|
+#  installer.pods_project.targets.each do |target|
+#    flutter_additional_ios_build_settings(target)
+#    target.build_configurations.each do |config|
+#      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
+#    end
+#  end
+#end

+ 20 - 18
ysairplane3/ios/Podfile.lock

@@ -1,5 +1,5 @@
 PODS:
-  - AlipaySDK-iOS (15.8.8)
+  - AlipaySDK-iOS (15.8.10)
   - Flutter (1.0.0)
   - flutter_alipay (0.0.1):
     - AlipaySDK-iOS
@@ -9,7 +9,7 @@ PODS:
     - Toast
   - fluwx (0.0.1):
     - Flutter
-    - WechatOpenSDK_Fuck (~> 1.9.2)
+    - "OpenWeChatSDK (~> 1.9.2+1)"
   - image_gallery_saver (1.5.0):
     - Flutter
   - image_picker (0.0.1):
@@ -23,6 +23,7 @@ PODS:
     - JPush (= 4.4.0)
   - open_file (0.0.1):
     - Flutter
+  - "OpenWeChatSDK (1.9.2+1)"
   - package_info (0.0.1):
     - Flutter
   - path_provider (0.0.1):
@@ -31,13 +32,15 @@ PODS:
     - Flutter
   - shared_preferences (0.0.1):
     - Flutter
-  - Tencent-MapSDK (4.5.4):
-    - Tencent-MapSDK/QMapKit (= 4.5.4)
-    - Tencent-MapSDK/QMapSDKUtils (= 4.5.4)
-    - Tencent-MapSDK/QMapVisualPlugin (= 4.5.4)
-  - Tencent-MapSDK/QMapKit (4.5.4)
-  - Tencent-MapSDK/QMapSDKUtils (4.5.4)
-  - Tencent-MapSDK/QMapVisualPlugin (4.5.4)
+  - Tencent-MapSDK (4.5.7):
+    - Tencent-MapSDK/QMapFoundation (= 4.5.7)
+    - Tencent-MapSDK/QMapKit (= 4.5.7)
+    - Tencent-MapSDK/QMapSDKUtils (= 4.5.7)
+    - Tencent-MapSDK/QMapVisualPlugin (= 4.5.7)
+  - Tencent-MapSDK/QMapFoundation (4.5.7)
+  - Tencent-MapSDK/QMapKit (4.5.7)
+  - Tencent-MapSDK/QMapSDKUtils (4.5.7)
+  - Tencent-MapSDK/QMapVisualPlugin (4.5.7)
   - Toast (4.0.0)
   - url_launcher (0.0.1):
     - Flutter
@@ -45,7 +48,6 @@ PODS:
     - Flutter
   - webview_flutter (0.0.1):
     - Flutter
-  - WechatOpenSDK_Fuck (1.9.2)
 
 DEPENDENCIES:
   - Flutter (from `Flutter`)
@@ -70,9 +72,9 @@ SPEC REPOS:
     - AlipaySDK-iOS
     - JCore
     - JPush
+    - OpenWeChatSDK
     - Tencent-MapSDK
     - Toast
-    - WechatOpenSDK_Fuck
 
 EXTERNAL SOURCES:
   Flutter:
@@ -107,28 +109,28 @@ EXTERNAL SOURCES:
     :path: ".symlinks/plugins/webview_flutter/ios"
 
 SPEC CHECKSUMS:
-  AlipaySDK-iOS: 9289d94792535cd14c5c241c720a7e981edd7035
+  AlipaySDK-iOS: 9f81bf87e55750c3b3ac6c1a89c7cbf16ba06f5f
   Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
   flutter_alipay: feedc0200a70b37c2f230b9fc33674f32e272327
   fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
-  fluwx: c192ef1ea3617badb813fa1a761ffc5c9c12208a
+  fluwx: 79c66b6d795ab8208262ada215d9e60388cfe492
   image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
   image_picker: e06f7a68f000bd36f552c1847e33cda96ed31f1f
-  JCore: 8c55c31d41990a05feaec00a84c97a8cd236016c
+  JCore: 4029befb2497adc36b2496e2cfd6b24d9f671784
   JPush: b7d00f2cc78766e76c8abb30a5741fe94d21e5bc
   jpush_flutter: bc88cfa9a4ff4481031564b641c3fe24024bb2cb
   open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
+  OpenWeChatSDK: 67375e7d4154c22f7ba6b1c334b121473e7d515c
   package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
   path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
   permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0
   shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
-  Tencent-MapSDK: 520efde9c2fe08e6b3726c18e212552260403e38
+  Tencent-MapSDK: f5ed53b19d086c43527731f536ab36d35f262356
   Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
   url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
   video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e
   webview_flutter: 3603125dfd3bcbc9d8d418c3f80aeecf331c068b
-  WechatOpenSDK_Fuck: aa8f4b0af902837e887a1d40c62f06c060c1dc98
 
-PODFILE CHECKSUM: 837862f4b43283cf784adb6f8d9a4107315a9c29
+PODFILE CHECKSUM: bfb2a6d349d88cfa107657e712a815e08d4d6933
 
-COCOAPODS: 1.10.1
+COCOAPODS: 1.11.3

+ 36 - 9
ysairplane3/ios/Runner.xcodeproj/project.pbxproj

@@ -45,6 +45,8 @@
 		3848D1802668BD2900758CFC /* MyFlutterViewFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyFlutterViewFactory.swift; sourceTree = "<group>"; };
 		3848D1822668BD5F00758CFC /* YSFlutterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YSFlutterView.swift; sourceTree = "<group>"; };
 		38586F1127ED54A700BF617A /* libjpush_flutter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libjpush_flutter.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		38D2D76827EDA6EF0072EB4B /* libjcore-ios-3.1.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libjcore-ios-3.1.0.a"; path = "Pods/JCore/libjcore-ios-3.1.0.a"; sourceTree = "<group>"; };
+		38DB40C027EDBCDC00B28D0C /* libjpush_flutter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libjpush_flutter.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
 		6363D2053A0944DE9063001B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
 		74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
@@ -77,9 +79,11 @@
 		384195F42668B77D00116FD2 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				38DB40C027EDBCDC00B28D0C /* libjpush_flutter.a */,
 				3822389E27ED5FE0001C8464 /* CoreMedia.framework */,
 				38586F1127ED54A700BF617A /* libjpush_flutter.a */,
 				384195F52668B77D00116FD2 /* libz.1.2.5.tbd */,
+				38D2D76827EDA6EF0072EB4B /* libjcore-ios-3.1.0.a */,
 				00DEB921D3C8164276E07498 /* libPods-Runner.a */,
 			);
 			name = Frameworks;
@@ -323,6 +327,7 @@
 		249021D3217E4FDB00AE95B9 /* Profile */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
@@ -363,6 +368,7 @@
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
+				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
 				SUPPORTED_PLATFORMS = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -372,16 +378,19 @@
 		};
 		249021D4217E4FDB00AE95B9 /* Profile */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			baseConfigurationReference = 6363D2053A0944DE9063001B /* Pods-Runner.profile.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 10;
+				CURRENT_PROJECT_VERSION = 13;
 				DEVELOPMENT_TEAM = 4NBKF22DR2;
 				ENABLE_BITCODE = NO;
+				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
+				FLUTTER_ROOT = "/Users/datangyun/Downloads/flutter-1";
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
@@ -396,13 +405,16 @@
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
+					"$(PROJECT_DIR)/Pods/JCore",
 				);
-				MARKETING_VERSION = 1.0.4;
+				MARKETING_VERSION = 1.0.5;
+				ONLY_ACTIVE_ARCH = YES;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-framework",
 					Flutter,
 				);
+				PODS_ROOT = "$(inherited)";
 				PRODUCT_BUNDLE_IDENTIFIER = com.example.ysairplane3;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -416,6 +428,7 @@
 		97C147031CF9000F007C117D /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
@@ -471,6 +484,7 @@
 		97C147041CF9000F007C117D /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
@@ -511,6 +525,7 @@
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
+				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
 				SUPPORTED_PLATFORMS = iphoneos;
 				SWIFT_COMPILATION_MODE = wholemodule;
@@ -522,16 +537,19 @@
 		};
 		97C147061CF9000F007C117D /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+			baseConfigurationReference = 324CC56185BE3408376F2EBC /* Pods-Runner.debug.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 10;
+				CURRENT_PROJECT_VERSION = 13;
 				DEVELOPMENT_TEAM = 4NBKF22DR2;
 				ENABLE_BITCODE = NO;
+				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
+				FLUTTER_ROOT = "/Users/datangyun/Downloads/flutter-1";
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
@@ -546,13 +564,16 @@
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
+					"$(PROJECT_DIR)/Pods/JCore",
 				);
-				MARKETING_VERSION = 1.0.4;
+				MARKETING_VERSION = 1.0.5;
+				ONLY_ACTIVE_ARCH = YES;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-framework",
 					Flutter,
 				);
+				PODS_ROOT = "$(inherited)";
 				PRODUCT_BUNDLE_IDENTIFIER = com.example.ysairplane3;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -566,16 +587,19 @@
 		};
 		97C147071CF9000F007C117D /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+			baseConfigurationReference = ED00CC46C640E107D7B5476D /* Pods-Runner.release.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 10;
+				CURRENT_PROJECT_VERSION = 13;
 				DEVELOPMENT_TEAM = 4NBKF22DR2;
 				ENABLE_BITCODE = NO;
+				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "$(inherited)";
+				FLUTTER_ROOT = "/Users/datangyun/Downloads/flutter-1";
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
@@ -590,13 +614,16 @@
 				LIBRARY_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(PROJECT_DIR)/Flutter",
+					"$(PROJECT_DIR)/Pods/JCore",
 				);
-				MARKETING_VERSION = 1.0.4;
+				MARKETING_VERSION = 1.0.5;
+				ONLY_ACTIVE_ARCH = YES;
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"-framework",
 					Flutter,
 				);
+				PODS_ROOT = "$(inherited)";
 				PRODUCT_BUNDLE_IDENTIFIER = com.example.ysairplane3;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";

+ 1 - 1
ysairplane3/ios/Runner/Info.plist

@@ -5,7 +5,7 @@
 	<key>CFBundleDevelopmentRegion</key>
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<key>CFBundleDisplayName</key>
-	<string>顺翔通航</string>
+	<string>畅翔蔚蓝</string>
 	<key>CFBundleExecutable</key>
 	<string>$(EXECUTABLE_NAME)</string>
 	<key>CFBundleIdentifier</key>

+ 17 - 5
ysairplane3/lib/code/YSContractPlaneDetail.dart

@@ -11,7 +11,8 @@ import 'package:ysairplane2/tools/YSTools.dart';
 
 class YSContractPlaneDetail extends StatefulWidget {
   final contractId,isWhole,arriveId;
-  const YSContractPlaneDetail({Key key, this.contractId, this.isWhole, this.arriveId}) : super(key: key);
+  final bool isPackage;
+  const YSContractPlaneDetail({Key key, this.contractId, this.isWhole, this.arriveId, this.isPackage = false}) : super(key: key);
   @override
   _YSContractPlaneDetailState createState() => _YSContractPlaneDetailState();
 }
@@ -291,9 +292,16 @@ class _YSContractPlaneDetailState extends State<YSContractPlaneDetail> {
                                   color: Colors.white,
                                 ),
                                 child: YSSetMealView(packageArray: _packList,valueSetter: (value){
-                                  _index = value;
-                                  _isOrder = true;
-                                  _getPriceData();
+                                  // _index = value;
+                                  // _isOrder = true;
+                                  // _getPriceData();
+                                  Map item = _packList[value];
+                                  Navigator.pop(context);
+                                  Navigator.of(context).push(
+                                    CupertinoPageRoute(builder: (context){
+                                      return YSContractPlaneDetail(contractId: item['id'],isPackage: true,);
+                                    })
+                                  );
                                 }),
                               ),
                               Container(
@@ -1028,7 +1036,6 @@ class _YSContractPlaneDetailState extends State<YSContractPlaneDetail> {
                         ],
                       ),
                     )
-
                   ],
                 ),
               ),
@@ -1172,6 +1179,10 @@ class _YSContractPlaneDetailState extends State<YSContractPlaneDetail> {
     if(dict!=null){
       _packList = dict['data'];
       setState(() {});
+      if(widget.isPackage){
+        _index = 0;
+        _getPriceData();
+      }
     }
   }
 
@@ -1180,6 +1191,7 @@ class _YSContractPlaneDetailState extends State<YSContractPlaneDetail> {
         parameter: {'type':8,'tourId':widget.contractId},isLoading: true,isToken: true);
     if(dict!=null){
       _priceList = dict['data'];
+      _isOrder = true;
       _allPrices.clear();
       _allPrices.addAll(_priceList);
       _chooses.clear();

+ 12 - 2
ysairplane3/lib/code/YSLogin.dart

@@ -164,7 +164,12 @@ class _YSLoginState extends State<YSLogin> {
                   style: TextStyle(fontSize: zsp(30),color: Color(0xFF75788C)),
                   placeholderStyle: TextStyle(fontSize: zsp(30),color: Color(0xFF75788C)),
                   decoration: BoxDecoration(),
-                  suffix: Icon(Icons.close,color: Color(0xFF75788C),size: hsp(40),),
+                  suffix: GestureDetector(
+                    onTap: (){
+                      _userName.text = '';
+                    },
+                    child: Icon(Icons.close,color: Color(0xFF75788C),size: hsp(40),)
+                  ),
                   suffixMode: OverlayVisibilityMode.editing,
                   controller: _userName,
                 ),
@@ -179,7 +184,12 @@ class _YSLoginState extends State<YSLogin> {
                   style: TextStyle(fontSize: zsp(30),color: Color(0xFF75788C)),
                   placeholderStyle: TextStyle(fontSize: zsp(30),color: Color(0xFF75788C)),
                   decoration: BoxDecoration(),
-                  suffix: Icon(Icons.close,color: Color(0xFF75788C),size: hsp(40),),
+                  suffix: GestureDetector(
+                    onTap: (){
+                      _password.text = '';
+                    },
+                    child: Icon(Icons.close,color: Color(0xFF75788C),size: hsp(40),)
+                  ),
                   suffixMode: OverlayVisibilityMode.editing,
                   controller: _password,
                   obscureText: true,

+ 40 - 25
ysairplane3/lib/code/YSMarryPlane.dart

@@ -13,7 +13,8 @@ import 'YSPay.dart';
 
 class YSMarryPlane extends StatefulWidget {
   final marryId,type;
-  const YSMarryPlane({Key key, this.marryId, this.type}) : super(key: key);
+  final bool isPackage;
+  const YSMarryPlane({Key key, this.marryId, this.type, this.isPackage = false}) : super(key: key);
   @override
   _YSMarryPlaneState createState() => _YSMarryPlaneState();
 }
@@ -43,7 +44,6 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
       _timeStr = DateTime.now().year.toString()+'-'+DateTime.now().month.toString().padLeft(2,'0')+'-'
           +DateTime.now().day.toString().padLeft(2,'0')+' '+DateTime.now().hour.toString().padLeft(2,'0')+':'+DateTime.now().minute.toString().padLeft(2,'0');
       _getMarryDetailData();
-      _getPackageData();
       _getNoticeData();
     });
     super.initState();
@@ -222,8 +222,15 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
                         ),
                         Divider(height: 0.5,thickness: 0.5,color: Color(0xFFE4E6E7),indent: hsp(30),endIndent: hsp(30),),
                         YSSetMealView(packageArray: _packages,valueSetter: (value){
-                          _index = value;
-                          _getPriceData();
+                          // _index = value;
+                          Map item = _packages[value];
+                          Navigator.pop(context);
+                          Navigator.of(context).push(
+                            CupertinoPageRoute(builder: (context){
+                              return YSMarryPlane(marryId: item['id'],type: widget.type,isPackage: true,);
+                            })
+                          );
+                          // _getPriceData();
                         }),
                         GestureDetector(
                           onTap: (){
@@ -268,9 +275,9 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
                           color: Colors.white,
                           child: YSHtmlView(content:'${_msgDict['content']}')
                         ),
-                        YSShopView(
+                        if(_msgDict['partnerInfo']!=null)YSShopView(
                           shop: _msgDict['partnerInfo'],
-                          location: '${_msgDict['longitude']},${_msgDict['latitude']}',
+                          location: '${_msgDict['longitude']??'0'},${_msgDict['latitude']??'0'}',
                           type: widget.type,
                         ),
                         Container(
@@ -316,7 +323,7 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
                                         ),
                                         child: ClipRRect(
                                           child: ysImageLoad(
-                                            imageUrl: '${_msgDict['recommendAirTourList'][index]['background']}',
+                                            imageUrl: '${_msgDict['recommendAirTourList'][index]['cover']}',
                                             fit: BoxFit.fill,
                                             width: (MediaQuery.of(context).size.width-hsp(80))/2,
                                             height: (MediaQuery.of(context).size.width-hsp(80))/2/(345/381)*0.6,
@@ -591,21 +598,24 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
                                         child: Column(
                                           crossAxisAlignment: CrossAxisAlignment.start,
                                           children: [
-                                            if(_index!=9999)Row(
-                                              mainAxisAlignment: MainAxisAlignment.spaceBetween,
-                                              children: [
-                                                Container(
-                                                  child: Text('${_packages[_index]['name']}',style: TextStyle(fontSize: zsp(40),color: Color(0xFF000000),fontWeight: FontWeight.bold),),
-                                                  width: (MediaQuery.of(context).size.width-hsp(100))*0.7,
-                                                ),
-                                                Container(
-                                                  child: Text('¥${_packages[_index]['price']}',style: TextStyle(fontSize: zsp(40),color: Color(0xFFEB423B)),),
-                                                  width: (MediaQuery.of(context).size.width-hsp(100))*0.3,
-                                                  alignment: Alignment.centerRight,
-                                                ),
-                                              ],
-                                            ),
                                             if(_index!=9999)Container(
+                                              child: Row(
+                                                mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                                                children: [
+                                                  Container(
+                                                    child: Text('${_packages[_index]['name']}',style: TextStyle(fontSize: zsp(40),color: Color(0xFF000000),fontWeight: FontWeight.bold),),
+                                                    width: (MediaQuery.of(context).size.width-hsp(100))*0.7,
+                                                  ),
+                                                  Container(
+                                                    child: Text('¥${_packages[_index]['price']}',style: TextStyle(fontSize: zsp(40),color: Color(0xFFEB423B)),),
+                                                    width: (MediaQuery.of(context).size.width-hsp(100))*0.3,
+                                                    alignment: Alignment.centerRight,
+                                                  ),
+                                                ],
+                                              ),
+                                              padding: EdgeInsets.only(bottom: hsp(20)),
+                                            ),
+                                            if(false)Container(
                                               child: Text('${_packages[_index]['name']}',style: TextStyle(fontSize: zsp(32),color: Color(0xFF000000),fontWeight: FontWeight.bold),),
                                               margin: EdgeInsets.only(top: hsp(20),bottom: hsp(20)),
                                             ),
@@ -1172,6 +1182,8 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
       setState(() {
         _msgDict = dict['data'];
       });
+     // LogUtil.d('partnerInfo=========${_msgDict['partnerInfo']}');
+      _getPackageData();
     }
   }
 
@@ -1179,9 +1191,12 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
     var dict = await ysRequestHttp(context,type: requestType.get,api: '/app/servicegroup/dtAirplaneServiceGroups/queryGroupService',
         parameter: {'type':widget.type,'tourId':widget.marryId},isLoading: true,isToken: false);
     if(dict!=null){
-      setState(() {
-        _packages = dict['data'];
-      });
+      _packages = dict['data'];
+      setState(() {});
+      if(widget.isPackage){
+        _index = 0;
+        _getPriceData();
+      }
     }
   }
 
@@ -1261,7 +1276,7 @@ class _YSMarryPlaneState extends State<YSMarryPlane> {
   }
 
   _getPrice(){
-    LogUtil.d('_customer===>$_customer');
+    // LogUtil.d('_customer===>$_customer');
     double price;
     // _chooses.forEach((element) {
     //   price+=double.parse('${element['price']}');

+ 18 - 3
ysairplane3/lib/code/YSSearch.dart

@@ -183,9 +183,10 @@ class _YSSearchWordViewState extends State<YSSearchWordView> {
   Widget build(BuildContext context) {
     return Container(
       child: ListView.separated(itemBuilder: (context,index){
+        Map item = _dataArray[index];
         return GestureDetector(
           onTap: (){
-            String value = _dataArray[index];
+            String value = item['name'];
             if(widget.wordSetter!=null){
               widget.wordSetter(value);
             }else{
@@ -199,7 +200,7 @@ class _YSSearchWordViewState extends State<YSSearchWordView> {
                 Navigator.of(context).push(
                   CupertinoPageRoute(
                     builder: (context){
-                      return YSSearchResult(searchStr: value,);
+                      return YSSearchResult(searchMap: item,);
                     }
                   )
                 );
@@ -210,7 +211,21 @@ class _YSSearchWordViewState extends State<YSSearchWordView> {
             width: MediaQuery.of(context).size.width,
             padding: EdgeInsets.all(hsp(30)),
             color: Colors.white,
-            child: Text(_dataArray[index]),
+            child: Row(
+              children: [
+                Container(
+                  width: MediaQuery.of(context).size.width-hsp(100),
+                  child: Column(
+                    crossAxisAlignment: CrossAxisAlignment.start,
+                    children: [
+                      Text(item['name']),
+                      Text(item['city'],style: TextStyle(fontSize: zsp(26),color: Color(0xFF999999)),),
+                    ],
+                  ),
+                ),
+                Icon(Icons.search,size: hsp(40),color: Color(0xFF999999),)
+              ],
+            )
           ),
         );
       },separatorBuilder: (context,index){

+ 20 - 3
ysairplane3/lib/code/YSSearchResult.dart

@@ -14,14 +14,15 @@ class YSSearchResult extends StatefulWidget {
   final searchStr;
   final type;
   final siftValue;
-  const YSSearchResult({Key key, this.searchStr, this.type, this.siftValue}) : super(key: key);
+  final Map searchMap;
+  const YSSearchResult({Key key, this.searchStr, this.type, this.siftValue, this.searchMap}) : super(key: key);
   @override
   _YSSearchResultState createState() => _YSSearchResultState();
 }
 
 class _YSSearchResultState extends State<YSSearchResult> {
   TextEditingController _searchStr = TextEditingController();
-  List _tabValues = [{'name':'空中览','type':9},{'name':'短途客运','type':6},{'name':'短途货运','type':33},{'name':'航空运动','type':5},
+  List _tabValues = [{'name':'空中览','type':9},{'name':'短途客运','type':6},{'name':'短途货运','type':33},{'name':'航空运动','type':5},
     {'name':'婚庆典礼','type':4}];
   int _page = 1;
   List _dataArray = [];
@@ -37,8 +38,18 @@ class _YSSearchResultState extends State<YSSearchResult> {
   TextEditingController _name = TextEditingController();
   TextEditingController _volume = TextEditingController();
   TextEditingController _weight = TextEditingController();
+  ScrollController _typeController = ScrollController();
   @override
   void initState() {
+    if(widget.searchMap!=null){
+      _searchStr.text = widget.searchMap['name'];
+      _tabValues.add({'name':'短途货运','type':3});
+      for(int i = 0;i<_tabValues.length;i++){
+        if(_tabValues[i]['type']==int.parse('${widget.searchMap['type']}')){
+          _typeIndex = i;
+        }
+      }
+    }
     if(widget.type!=null){
       _tabValues.add({'name':'短途货运','type':3});
       for(int i = 0;i<_tabValues.length;i++){
@@ -60,6 +71,9 @@ class _YSSearchResultState extends State<YSSearchResult> {
     });
     Future.delayed(Duration(seconds: 0)).then((value){
       _refreshData();
+      if(widget.searchMap!=null){
+        _typeController.jumpTo(_typeIndex*(MediaQuery.of(context).size.width/4));
+      }
     });
     super.initState();
   }
@@ -154,6 +168,7 @@ class _YSSearchResultState extends State<YSSearchResult> {
                               padding: EdgeInsets.all(0),
                               itemCount: _tabValues.length,
                               scrollDirection: Axis.horizontal,
+                              controller: _typeController,
                             ),
                           ),
                           Container(
@@ -1143,7 +1158,6 @@ class _YSSearchResultState extends State<YSSearchResult> {
     );
   }
   Future<void> _refreshData() async{
-
     _page = 1;
     Map request = {};
     request['category'] = _tabValues[_typeIndex]['type'];
@@ -1154,6 +1168,9 @@ class _YSSearchResultState extends State<YSSearchResult> {
       request['name'] = _searchStr.text;
       url = '/app/applets/AirTour/search';
     }
+    if(widget.searchMap!=null){
+      request['city'] = widget.searchMap['city'];
+    }
     Map dict = await ysRequestHttp(context,type: requestType.get,api: url,parameter: request,isLoading: false,isToken: false);
     if(dict!=null){
       setState(() {

+ 16 - 4
ysairplane3/lib/code/YSShortDetail.dart

@@ -11,7 +11,8 @@ import 'YSPay.dart';
 
 class YSShortDetail extends StatefulWidget {
   final shortId;
-  const YSShortDetail({Key key, this.shortId}) : super(key: key);
+  final bool isPackage;
+  const YSShortDetail({Key key, this.shortId, this.isPackage = false}) : super(key: key);
   @override
   _YSShortDetailState createState() => _YSShortDetailState();
 }
@@ -38,7 +39,6 @@ class _YSShortDetailState extends State<YSShortDetail> {
       _timeStr = DateTime.now().year.toString()+'-'+DateTime.now().month.toString().padLeft(2,'0')+'-'
           +DateTime.now().day.toString().padLeft(2,'0')+' '+DateTime.now().hour.toString().padLeft(2,'0')+':'+DateTime.now().minute.toString().padLeft(2,'0');
       _getShortDetailData();
-      _getPackageData();
       _getNoticeData();
     });
     super.initState();
@@ -230,8 +230,15 @@ class _YSShortDetailState extends State<YSShortDetail> {
                             child: Column(
                               children: [
                                 YSSetMealView(packageArray: _packages,valueSetter: (value){
-                                  _index = value;
-                                  _getPriceData();
+                                  // _index = value;
+                                  // _getPriceData();
+                                  Map item = _packages[value];
+                                  Navigator.pop(context);
+                                  Navigator.of(context).push(
+                                      CupertinoPageRoute(builder: (context){
+                                        return YSShortDetail(shortId: item['id'],isPackage: true,);
+                                      })
+                                  );
                                 }),
                                 YSShopView(
                                   shop: _msgDict['partnerInfo'],
@@ -981,6 +988,7 @@ class _YSShortDetailState extends State<YSShortDetail> {
       setState(() {
         _msgDict = dict['data'];
       });
+      _getPackageData();
     }
   }
 
@@ -990,6 +998,10 @@ class _YSShortDetailState extends State<YSShortDetail> {
       setState(() {
         _packages = dict['data'];
       });
+      if(widget.isPackage){
+        _index = 0;
+        _getPriceData();
+      }
     }
   }
 

+ 1 - 1
ysairplane3/lib/code/view/YSShopView.dart

@@ -48,7 +48,7 @@ class _YSShopViewState extends State<YSShopView> {
                     children: [
                       Text(widget.shop['name'],style: TextStyle(fontSize: zsp(30),
                           color: Colors.black,fontWeight: FontWeight.bold),),
-                      Text(widget.shop['address'],style: TextStyle(fontSize: zsp(28),
+                      Text(widget.shop['address']??'',style: TextStyle(fontSize: zsp(28),
                           color: Colors.grey,height: 2),)
                     ],
                   ),

+ 1 - 1
ysairplane3/lib/tools/YSNetWorking.dart

@@ -15,7 +15,7 @@ import 'YSTools.dart';
 //http://aviation.ytby0402.top
 //http://192.168.1.3:8082
 //https://api.s-fly.cn
-String base = 'http://aviation.ytby0402.top';
+String base = 'https://api.s-fly.cn';
 int outTime = 20000;
 enum requestType{
   put,

+ 27 - 9
ysairplane3/lib/tools/YSTools.dart

@@ -1803,7 +1803,7 @@ class _YSGoodsServiceViewState extends State<YSGoodsServiceView> {
             child: Text('增值服务',style: TextStyle(fontSize: zsp(30),color: Color(0xFF9A9A9A)),),
             alignment: Alignment.centerLeft,
             decoration: BoxDecoration(
-                border: Border(bottom: BorderSide(color: Color(0xFFF1F2F4),width: hsp(1)))
+              border: Border(bottom: BorderSide(color: Color(0xFFF1F2F4),width: hsp(1)))
             ),
           ),
           ListView.builder(itemBuilder: (context,index){
@@ -1826,7 +1826,9 @@ class _YSGoodsServiceViewState extends State<YSGoodsServiceView> {
                     }
                     if(serviceArray.contains(item['id'])){
                       serviceArray.remove(item['id']);
-                      _totalNumber -= double.parse('${item['price']}');
+                      if(item['is_single']==1){
+                        _totalNumber -= double.parse('${item['price']}');
+                      }
                     }
                     if(serviceArray.length==0){
                       element.remove('services');
@@ -1834,6 +1836,9 @@ class _YSGoodsServiceViewState extends State<YSGoodsServiceView> {
                       element['services'] = serviceArray.join(',');
                     }
                   });
+                  if(item['is_single']!=1){
+                    _totalNumber -= double.parse('${item['price']}');
+                  }
                   widget.totalSetter(_totalNumber);
                 }else{
                   showModalBottomSheet(context: context, builder: (context){
@@ -1842,7 +1847,11 @@ class _YSGoodsServiceViewState extends State<YSGoodsServiceView> {
                       isSingle: item['is_single']==1,
                       valueSetter: (value){
                         _chooseArray.add(item);
-                        _totalNumber += double.parse('${item['price']}')*value.length;
+                        if(item['is_single']==1){
+                          _totalNumber += double.parse('${item['price']}')*value.length;
+                        }else{
+                          _totalNumber += double.parse('${item['price']}')*1;
+                        }
                         setState(() {});
                         widget.totalSetter(_totalNumber);
                       },
@@ -1908,7 +1917,11 @@ class _YSPersonChooseViewState extends State<YSPersonChooseView> {
   List _chooseArray = [];
   @override
   void initState() {
-    _chooseArray.add(widget.personArray.first);
+    if(widget.isSingle){
+      _chooseArray.add(widget.personArray.first);
+    }else{
+      _chooseArray.addAll(widget.personArray);
+    }
     super.initState();
   }
   @override
@@ -1942,12 +1955,17 @@ class _YSPersonChooseViewState extends State<YSPersonChooseView> {
               return GestureDetector(
                 onTap: (){
                   if(widget.isSingle){
-                    _chooseArray.clear();
-                  }
-                  if(isChoose){
-                    _chooseArray.remove(item);
+                    if(isChoose){
+                      _chooseArray.remove(item);
+                    }else{
+                      _chooseArray.add(item);
+                    }
                   }else{
-                    _chooseArray.add(item);
+                    if(isChoose){
+                      _chooseArray.clear();
+                    }else{
+                      _chooseArray.addAll(widget.personArray);
+                    }
                   }
                   setState(() {});
                 },

+ 119 - 119
ysairplane3/pubspec.lock

@@ -5,126 +5,126 @@ packages:
     dependency: transitive
     description:
       name: args
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.3.0"
+    version: "2.3.1"
   asn1lib:
     dependency: transitive
     description:
       name: asn1lib
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.3"
+    version: "1.1.0"
   async:
     dependency: transitive
     description:
       name: async
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.6.1"
   boolean_selector:
     dependency: transitive
     description:
       name: boolean_selector
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0"
   characters:
     dependency: transitive
     description:
       name: characters
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.0"
   charcode:
     dependency: transitive
     description:
       name: charcode
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0"
   city_pickers:
     dependency: "direct main"
     description:
       name: city_pickers
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.1"
+    version: "1.1.2"
   clock:
     dependency: transitive
     description:
       name: clock
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.0"
   collection:
     dependency: transitive
     description:
       name: collection
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.15.0"
   convert:
     dependency: transitive
     description:
       name: convert
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.0.1"
+    version: "3.0.2"
   cross_file:
     dependency: transitive
     description:
       name: cross_file
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.2"
+    version: "0.3.3+1"
   crypto:
     dependency: transitive
     description:
       name: crypto
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.0.1"
   cupertino_icons:
     dependency: "direct main"
     description:
       name: cupertino_icons
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.4"
+    version: "1.0.5"
   dio:
     dependency: "direct main"
     description:
       name: dio
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.4"
+    version: "4.0.6"
   encrypt:
     dependency: "direct main"
     description:
       name: encrypt
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "5.0.1"
   fake_async:
     dependency: transitive
     description:
       name: fake_async
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0"
   ffi:
     dependency: transitive
     description:
       name: ffi
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.2"
+    version: "1.2.1"
   file:
     dependency: transitive
     description:
       name: file
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "6.1.2"
   flutter:
@@ -136,16 +136,16 @@ packages:
     dependency: "direct main"
     description:
       name: flutter_alipay
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.0"
   flutter_easyrefresh:
     dependency: "direct main"
     description:
       name: flutter_easyrefresh
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.6"
+    version: "2.2.2"
   flutter_localizations:
     dependency: "direct main"
     description: flutter
@@ -155,35 +155,35 @@ packages:
     dependency: transitive
     description:
       name: flutter_page_indicator
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.0.3"
   flutter_plugin_android_lifecycle:
     dependency: transitive
     description:
       name: flutter_plugin_android_lifecycle
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.5"
+    version: "2.0.6"
   flutter_screenutil:
     dependency: "direct main"
     description:
       name: flutter_screenutil
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.2.0"
   flutter_staggered_grid_view:
     dependency: "direct main"
     description:
       name: flutter_staggered_grid_view
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.2"
+    version: "0.3.4"
   flutter_swiper:
     dependency: "direct main"
     description:
       name: flutter_swiper
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.6"
   flutter_test:
@@ -200,280 +200,280 @@ packages:
     dependency: "direct main"
     description:
       name: fluttertoast
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "7.1.1"
+    version: "7.1.8"
   fluwx:
     dependency: "direct main"
     description:
       name: fluwx
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.6.1+4"
+    version: "3.9.0+2"
   http:
     dependency: transitive
     description:
       name: http
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.13.3"
   http_parser:
     dependency: transitive
     description:
       name: http_parser
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.0"
+    version: "4.0.1"
   image_gallery_saver:
     dependency: "direct main"
     description:
       name: image_gallery_saver
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.6.8"
+    version: "1.7.1"
   image_picker:
     dependency: "direct main"
     description:
       name: image_picker
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.8.4+1"
   image_picker_for_web:
     dependency: transitive
     description:
       name: image_picker_for_web
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.5"
+    version: "2.1.8"
   image_picker_platform_interface:
     dependency: transitive
     description:
       name: image_picker_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.4.3"
+    version: "2.5.0"
   intl:
     dependency: transitive
     description:
       name: intl
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.17.0"
   jpush_flutter:
     dependency: "direct main"
     description:
       name: jpush_flutter
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.2.3"
+    version: "2.3.4"
   js:
     dependency: transitive
     description:
       name: js
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.3"
   lpinyin:
     dependency: transitive
     description:
       name: lpinyin
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.3"
   matcher:
     dependency: transitive
     description:
       name: matcher
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.12.10"
   meta:
     dependency: transitive
     description:
       name: meta
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
   open_file:
     dependency: "direct main"
     description:
       name: open_file
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.2.1"
   package_info:
     dependency: "direct main"
     description:
       name: package_info
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.4.3+2"
+    version: "0.4.3+4"
   path:
     dependency: transitive
     description:
       name: path
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.8.0"
   path_provider:
     dependency: "direct main"
     description:
       name: path_provider
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.4"
   path_provider_linux:
     dependency: transitive
     description:
       name: path_provider_linux
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.5"
+    version: "2.1.6"
   path_provider_macos:
     dependency: transitive
     description:
       name: path_provider_macos
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.3"
+    version: "2.0.6"
   path_provider_platform_interface:
     dependency: transitive
     description:
       name: path_provider_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.0"
+    version: "2.0.4"
   path_provider_windows:
     dependency: transitive
     description:
       name: path_provider_windows
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.5"
+    version: "2.0.6"
   pedantic:
     dependency: transitive
     description:
       name: pedantic
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.11.1"
   permission_handler:
     dependency: "direct main"
     description:
       name: permission_handler
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "8.1.6"
   permission_handler_platform_interface:
     dependency: transitive
     description:
       name: permission_handler_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.6.1"
   platform:
     dependency: transitive
     description:
       name: platform
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.1.0"
   plugin_platform_interface:
     dependency: transitive
     description:
       name: plugin_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.2"
   pointycastle:
     dependency: transitive
     description:
       name: pointycastle
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.5.0"
+    version: "3.6.0"
   process:
     dependency: transitive
     description:
       name: process
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "4.2.3"
   qiniu_flutter_sdk:
     dependency: "direct main"
     description:
       name: qiniu_flutter_sdk
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.3.0"
   qiniu_sdk_base:
     dependency: transitive
     description:
       name: qiniu_sdk_base
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.2"
+    version: "0.3.3"
   qr:
     dependency: transitive
     description:
       name: qr
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
   qr_flutter:
     dependency: "direct main"
     description:
       name: qr_flutter
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "3.2.0"
   shared_preferences:
     dependency: "direct main"
     description:
       name: shared_preferences
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.7"
   shared_preferences_linux:
     dependency: transitive
     description:
       name: shared_preferences_linux
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.4"
   shared_preferences_macos:
     dependency: transitive
     description:
       name: shared_preferences_macos
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.2"
   shared_preferences_platform_interface:
     dependency: transitive
     description:
       name: shared_preferences_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.0"
   shared_preferences_web:
     dependency: transitive
     description:
       name: shared_preferences_web
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.3"
+    version: "2.0.4"
   shared_preferences_windows:
     dependency: transitive
     description:
       name: shared_preferences_windows
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.4"
   simple_gesture_detector:
     dependency: transitive
     description:
       name: simple_gesture_detector
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.1.6"
   sky_engine:
@@ -485,163 +485,163 @@ packages:
     dependency: "direct main"
     description:
       name: smooth_star_rating
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.1"
   source_span:
     dependency: transitive
     description:
       name: source_span
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.8.1"
   stack_trace:
     dependency: transitive
     description:
       name: stack_trace
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.10.0"
   stream_channel:
     dependency: transitive
     description:
       name: stream_channel
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0"
   string_scanner:
     dependency: transitive
     description:
       name: string_scanner
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.0"
   table_calendar:
     dependency: "direct main"
     description:
       name: table_calendar
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.3.3"
   term_glyph:
     dependency: transitive
     description:
       name: term_glyph
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.2.0"
   test_api:
     dependency: transitive
     description:
       name: test_api
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.3.0"
   transformer_page_view:
     dependency: transitive
     description:
       name: transformer_page_view
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "0.1.6"
   typed_data:
     dependency: transitive
     description:
       name: typed_data
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
   url_launcher:
     dependency: "direct main"
     description:
       name: url_launcher
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "6.0.10"
   url_launcher_linux:
     dependency: transitive
     description:
       name: url_launcher_linux
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.2"
+    version: "2.0.3"
   url_launcher_macos:
     dependency: transitive
     description:
       name: url_launcher_macos
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.2"
+    version: "2.0.3"
   url_launcher_platform_interface:
     dependency: transitive
     description:
       name: url_launcher_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.5"
   url_launcher_web:
     dependency: transitive
     description:
       name: url_launcher_web
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.6"
+    version: "2.0.7"
   url_launcher_windows:
     dependency: transitive
     description:
       name: url_launcher_windows
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.2"
   vector_math:
     dependency: transitive
     description:
       name: vector_math
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0"
   video_player:
     dependency: "direct main"
     description:
       name: video_player
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.2.3"
   video_player_platform_interface:
     dependency: transitive
     description:
       name: video_player_platform_interface
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "4.2.0"
   video_player_web:
     dependency: transitive
     description:
       name: video_player_web
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.6"
+    version: "2.0.10"
   webview_flutter:
     dependency: "direct main"
     description:
       name: webview_flutter
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.13"
   win32:
     dependency: transitive
     description:
       name: win32
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
     version: "2.2.10"
   xdg_directories:
     dependency: transitive
     description:
       name: xdg_directories
-      url: "https://pub.flutter-io.cn"
+      url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.0"
+    version: "0.2.0+1"
 sdks:
   dart: ">=2.13.0 <3.0.0"
   flutter: ">=2.0.0"

+ 3 - 3
ysairplane3/pubspec.yaml

@@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
 # Read more about iOS versioning at
 # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
-version: 1.0.1+2
+version: 1.0.2+3
 
 environment:
   sdk: ">=2.7.0 <3.0.0"
@@ -37,14 +37,14 @@ dependencies:
   image_picker: ^0.8.4+1
   qiniu_flutter_sdk: ^0.3.0
   path_provider: ^2.0.4
-  jpush_flutter: ^2.2.3
+  jpush_flutter: ^2.2.6
   webview_flutter: ^2.0.13
   flutter_staggered_grid_view: ^0.3.2
   flutter_easyrefresh: ^2.1.5
   video_player: ^2.2.3
   flutter_screenutil: ^3.2.0
   flutter_swiper: ^1.1.6
-  fluwx: ^3.6.1+4
+  fluwx: ^3.9.0+2
   flutter_alipay: ^1.0.0
   encrypt: ^5.0.1
   smooth_star_rating: ^1.1.1