From 321acab9044f4097088c4235f46d16a4946eec9f Mon Sep 17 00:00:00 2001 From: "2846432477@qq.com" <2846432477@qq.com> Date: Sat, 17 Apr 2021 12:13:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0iOS=E7=99=BE=E5=B7=9Dsdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/.flutter-plugins-dependencies | 2 +- example/ios/Flutter/.last_build_id | 2 +- .../ios/Flutter/flutter_export_environment.sh | 13 +- example/ios/Podfile | 2 +- example/ios/Podfile.lock | 171 +++- example/ios/Runner.xcodeproj/project.pbxproj | 37 +- example/ios/icon120.png | Bin 0 -> 9920 bytes example/ios/yw_1222_baichuan.jpg | Bin 87768 -> 87800 bytes example/lib/main.dart | 20 +- ios/Classes/FlutterAlibcPlugin.m | 18 +- ios/Classes/Handle/FNALITradeZipArchiver.h | 22 + ios/Classes/Handle/FNALITradeZipArchiver.m | 43 + ios/Classes/Handle/FlutterAlibcHandle.m | 965 +++++++++++------- .../WKWebView/ALiTradeWebViewController.m | 12 +- ios/flutter_alibc.podspec | 44 +- lib/flutter_alibc.dart | 13 + 16 files changed, 924 insertions(+), 440 deletions(-) create mode 100644 example/ios/icon120.png create mode 100755 ios/Classes/Handle/FNALITradeZipArchiver.h create mode 100755 ios/Classes/Handle/FNALITradeZipArchiver.m diff --git a/example/.flutter-plugins-dependencies b/example/.flutter-plugins-dependencies index 5a2b93e..3940a51 100644 --- a/example/.flutter-plugins-dependencies +++ b/example/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_alibc","path":"/Users/fnuser02/Documents/fnuoProject/yeying/zhiying_flutter_alibc/","dependencies":[]}],"android":[{"name":"flutter_alibc","path":"/Users/fnuser02/Documents/fnuoProject/yeying/zhiying_flutter_alibc/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"flutter_alibc","dependencies":[]}],"date_created":"2021-04-12 09:20:15.514784","version":"1.22.1"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_alibc","path":"/Users/fnuser04/Documents/flutterAPP/zhiying_flutter_alibc/","dependencies":[]}],"android":[{"name":"flutter_alibc","path":"/Users/fnuser04/Documents/flutterAPP/zhiying_flutter_alibc/","dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"flutter_alibc","dependencies":[]}],"date_created":"2021-04-17 11:06:38.571844","version":"1.22.0"} \ No newline at end of file diff --git a/example/ios/Flutter/.last_build_id b/example/ios/Flutter/.last_build_id index ae93b98..9f12ee6 100644 --- a/example/ios/Flutter/.last_build_id +++ b/example/ios/Flutter/.last_build_id @@ -1 +1 @@ -23a60060d9e5b69a910da030e8709ee7 \ No newline at end of file +7827ce9b6d74eb40a4624e6016e6d622 \ No newline at end of file diff --git a/example/ios/Flutter/flutter_export_environment.sh b/example/ios/Flutter/flutter_export_environment.sh index 3ac2a8c..f3ad506 100755 --- a/example/ios/Flutter/flutter_export_environment.sh +++ b/example/ios/Flutter/flutter_export_environment.sh @@ -1,15 +1,16 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=D:\flutter\flutter" -export "FLUTTER_APPLICATION_PATH=D:\zy_project\zhiying_flutter_alibc\example" -export "FLUTTER_TARGET=lib\main.dart" +export "FLUTTER_ROOT=/Users/fnuser04/Documents/flutterModel/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/fnuser04/Documents/flutterAPP/zhiying_flutter_alibc/example" +export "FLUTTER_TARGET=/Users/fnuser04/Documents/flutterAPP/zhiying_flutter_alibc/example/lib/main.dart" export "FLUTTER_BUILD_DIR=build" -export "SYMROOT=${SOURCE_ROOT}/../build\ios" +export "SYMROOT=${SOURCE_ROOT}/../build/ios" export "OTHER_LDFLAGS=$(inherited) -framework Flutter" -export "FLUTTER_FRAMEWORK_DIR=D:\flutter\flutter\bin\cache\artifacts\engine\ios" +export "FLUTTER_FRAMEWORK_DIR=/Users/fnuser04/Documents/flutterModel/flutter/bin/cache/artifacts/engine/ios" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" +export "DART_DEFINES=flutter.inspector.structuredErrors%3Dtrue" export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=false" +export "TRACK_WIDGET_CREATION=true" export "TREE_SHAKE_ICONS=false" export "PACKAGE_CONFIG=.packages" diff --git a/example/ios/Podfile b/example/ios/Podfile index 9dd00a4..600d745 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +platform :ios, '9.0' source 'https://cdn.cocoapods.org/' source 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 6964737..15de900 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,23 +1,120 @@ PODS: - - AliAuthSDK (1.1.0.41-bc) - - AlibcTradeSDK (4.0.1.6) - - AliLinkPartnerSDK (4.0.0.24) - - BCUserTrack (5.2.0.18-appkeys): - - UTDID + - AliAuthSDK (1.1.0.42-BC3) + - AlibcTradeUltimateSDK (5.0.0.6): + - AlibcTradeUltimateSDK/Base (= 5.0.0.6) + - AlibcTradeUltimateSDK/Base (5.0.0.6) + - AlibcTradeUltimateSDK/MiniApp (5.0.0.6) + - AliLinkPartnerSDK (4.0.0.24-wk) + - Ariver (1.0.11.2-BC1): + - Ariver/AriverApi (= 1.0.11.2-BC1) + - Ariver/AriverApp (= 1.0.11.2-BC1) + - Ariver/AriverAuth (= 1.0.11.2-BC1) + - Ariver/AriverConfig (= 1.0.11.2-BC1) + - Ariver/AriverDevice (= 1.0.11.2-BC1) + - Ariver/AriverDeviceCore (= 1.0.11.2-BC1) + - Ariver/AriverFileManager (= 1.0.11.2-BC1) + - Ariver/AriverKernel (= 1.0.11.2-BC1) + - Ariver/AriverLogger (= 1.0.11.2-BC1) + - Ariver/AriverResource (= 1.0.11.2-BC1) + - Ariver/AriverRuntime (= 1.0.11.2-BC1) + - Ariver/AriverSecurity (= 1.0.11.2-BC1) + - Ariver/AriverWebSocket (= 1.0.11.2-BC1) + - Ariver/AriverApi (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverConfig + - Ariver/AriverApp (1.0.11.2-BC1): + - Ariver/AriverResource + - Ariver/AriverAuth (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverConfig (1.0.11.2-BC1): + - Ariver/AriverKernel + - Ariver/AriverDevice (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverDeviceCore + - Ariver/AriverKernel + - Ariver/AriverDeviceCore (1.0.11.2-BC1) + - Ariver/AriverFileManager (1.0.11.2-BC1): + - Ariver/AriverApi + - Ariver/AriverApp + - Ariver/AriverKernel + - Ariver/AriverResource + - Ariver/AriverKernel (1.0.11.2-BC1) + - Ariver/AriverLogger (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverKernel + - Ariver/AriverResource (1.0.11.2-BC1): + - Ariver/AriverKernel + - Ariver/AriverRuntime (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverSecurity (1.0.11.2-BC1): + - Ariver/AriverApp + - Ariver/AriverKernel + - Ariver/AriverResource + - Ariver/AriverWebSocket (1.0.11.2-BC1): + - Ariver/AriverApp + - BCUserTrack (7.2.0.7-BC1) + - DWInteractiveSDK (2.0.7.53-BC) - Flutter (1.0.0) - flutter_alibc (0.0.1): - - AliAuthSDK (= 1.1.0.41-bc) - - AlibcTradeSDK (= 4.0.1.6) - - AliLinkPartnerSDK (= 4.0.0.24) - - BCUserTrack (= 5.2.0.18-appkeys) + - AliAuthSDK (= 1.1.0.42-BC3) + - AlibcTradeUltimateSDK (= 5.0.0.6) + - AlibcTradeUltimateSDK/MiniApp (= 5.0.0.6) + - AliLinkPartnerSDK (= 4.0.0.24-wk) + - Ariver (= 1.0.11.2-BC1) + - BCUserTrack (= 7.2.0.7-BC1) + - DWInteractiveSDK (= 2.0.7.53-BC) - Flutter - - mtopSDK (= 3.0.0.3-BC) + - FMDB + - Masonry + - miniAppMediaSDK (= 0.0.1.45-BC2) + - mtopSDK (= 3.0.0.5) + - MunionBcAdSDK (= 1.0.5) + - Reachability - securityGuard (= 5.4.191) - - UTDID (= 1.1.0.16) + - SocketRocket + - TBMediaPlayer (= 2.0.7.37) + - Triver (= 1.0.11.5-BC14) + - Triver/LivePlayer (= 1.0.11.5-BC14) + - Windmill (= 1.3.7.3-BC2) + - WindMix (= 1.0.0.5) - WindVane (= 8.5.0.46-bc11) - - mtopSDK (3.0.0.3-BC) + - ZipArchive + - FMDB (2.7.5): + - FMDB/standard (= 2.7.5) + - FMDB/standard (2.7.5) + - Masonry (1.1.0) + - miniAppMediaSDK (0.0.1.45-BC2): + - miniAppMediaSDK/Image (= 0.0.1.45-BC2) + - miniAppMediaSDK/Image (0.0.1.45-BC2) + - mtopSDK (3.0.0.5) + - MunionBcAdSDK (1.0.5) + - Reachability (3.2) - securityGuard (5.4.191) - - UTDID (1.1.0.16) + - SocketRocket (0.5.1) + - TBMediaPlayer (2.0.7.37) + - Triver (1.0.11.5-BC14): + - Triver/API (= 1.0.11.5-BC14) + - Triver/AppContainer (= 1.0.11.5-BC14) + - Triver/Capability (= 1.0.11.5-BC14) + - Triver/DebugTool (= 1.0.11.5-BC14) + - Triver/LocalDebug (= 1.0.11.5-BC14) + - Triver/Runtime (= 1.0.11.5-BC14) + - Triver/Video (= 1.0.11.5-BC14) + - Triver/API (1.0.11.5-BC14) + - Triver/AppContainer (1.0.11.5-BC14) + - Triver/Capability (1.0.11.5-BC14) + - Triver/DebugTool (1.0.11.5-BC14) + - Triver/LivePlayer (1.0.11.5-BC14) + - Triver/LocalDebug (1.0.11.5-BC14) + - Triver/Runtime (1.0.11.5-BC14) + - Triver/Video (1.0.11.5-BC14) + - Windmill (1.3.7.3-BC2): + - Windmill/TRiverKit (= 1.3.7.3-BC2) + - Windmill/Weaver (= 1.3.7.3-BC2) + - Windmill/TRiverKit (1.3.7.3-BC2): + - Windmill/Weaver + - Windmill/Weaver (1.3.7.3-BC2) + - WindMix (1.0.0.5) - WindVane (8.5.0.46-bc11): - WindVane/Basic (= 8.5.0.46-bc11) - WindVane/Core (= 8.5.0.46-bc11) @@ -25,6 +122,7 @@ PODS: - WindVane/Basic (8.5.0.46-bc11) - WindVane/Core (8.5.0.46-bc11) - WindVane/WindVane (8.5.0.46-bc11) + - ZipArchive (1.4.0) DEPENDENCIES: - Flutter (from `.symlinks/flutter/ios`) @@ -33,13 +131,26 @@ DEPENDENCIES: SPEC REPOS: http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git: - AliAuthSDK - - AlibcTradeSDK + - AlibcTradeUltimateSDK - AliLinkPartnerSDK + - Ariver - BCUserTrack + - DWInteractiveSDK + - miniAppMediaSDK - mtopSDK + - MunionBcAdSDK - securityGuard - - UTDID + - TBMediaPlayer + - Triver + - Windmill + - WindMix - WindVane + trunk: + - FMDB + - Masonry + - Reachability + - SocketRocket + - ZipArchive EXTERNAL SOURCES: Flutter: @@ -48,17 +159,29 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/flutter_alibc/ios" SPEC CHECKSUMS: - AliAuthSDK: 7018e8f3c8be3382e60f69d3b517c7de34c351e0 - AlibcTradeSDK: 9a3e7af6cd648dd1f85684e82694c213fe48dad2 - AliLinkPartnerSDK: c5778cdfdcee7bfe342238d39a77766184d36a46 - BCUserTrack: 49251c6fb7c65cbbc221a492bbd3f3e142f1fb0f + AliAuthSDK: 731398a72bdada5defe9cf01909a58f720574551 + AlibcTradeUltimateSDK: 7adac6ccd19fd51e96980a4c70a4a7185f19cc7f + AliLinkPartnerSDK: a695bd4c73bdd7ea555a2a70d92fbcb9782ffd3f + Ariver: 5f5058e6679b0e445d59c83c7116b7c1f399c36a + BCUserTrack: fe4041e34c99d867a48db20fbe11387a0a3eb1d9 + DWInteractiveSDK: 563c23a70c9bcc77e39d5f2150b086ef8d61e766 Flutter: 0e3d915762c693b495b44d77113d4970485de6ec - flutter_alibc: 0e2a29e7c1de759672d87a260051240d209964b9 - mtopSDK: d6fdf81730342a69be920b576541c7bb81a683d5 + flutter_alibc: 05b58077ff80ba7c37d35c2301ff9e561b779a1e + FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a + Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 + miniAppMediaSDK: b5d83227506f4579566943349e9725dfb8aa4c91 + mtopSDK: 9458d64bb4143a4e3e057552526ed82536827879 + MunionBcAdSDK: 6545b1e25bf280c0c0cb9d3a562da7299a0af90d + Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 securityGuard: 9c04c44a3b663f36e15064042abfc107fa07133c - UTDID: c28855683c5ea2e77e597cb14609328f7d470d6e + SocketRocket: d57c7159b83c3c6655745cd15302aa24b6bae531 + TBMediaPlayer: e232d6c2a8254d073fffd0a1899334faa44dbc06 + Triver: f8b04a9d55dd137c28f301bd511727a99fd9a3bc + Windmill: 92481b185ee9c6622930a9a674d30d2c3920a8ae + WindMix: ab234fa47746b7f916cb521d4d41e4f11d9d7415 WindVane: 56e096abae757397ccd3accb66a959f3ffcbf949 + ZipArchive: e25a4373192673e3229ac8d6e9f64a3e5713c966 -PODFILE CHECKSUM: f65a7534e3030cd63dfdaf5ac173943dc695fbe8 +PODFILE CHECKSUM: 76964f4f05443038e54c4df0f60ddec93afcd121 -COCOAPODS: 1.9.1 +COCOAPODS: 1.10.0 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index eab1d79..abdfcb9 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -10,18 +10,16 @@ 1024AFA423235967008B147B /* mtopsdk_configuration.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1024AFA323235967008B147B /* mtopsdk_configuration.plist */; }; 10AF2D312444309A000BBE1D /* yw_1222_baichuan.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 10AF2D302444309A000BBE1D /* yw_1222_baichuan.jpg */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 1FA44728262991360096EA1D /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FA44727262991360096EA1D /* libresolv.tbd */; }; 29D91E0DDA39BD518B58A83A /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13B949E8DC4A5D995FB9E354 /* libPods-Runner.a */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + E908D2E02628178C00E33C34 /* icon120.png in Resources */ = {isa = PBXBuildFile; fileRef = E908D2DF2628178C00E33C34 /* icon120.png */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -31,8 +29,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -50,15 +46,14 @@ 13B949E8DC4A5D995FB9E354 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1FA44727262991360096EA1D /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 82A4098269B3611D08C04506 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -67,6 +62,7 @@ 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B764AB2E21DD52B43681DD59 /* 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 = ""; }; C5A8E9F74491C83DA9777540 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + E908D2DF2628178C00E33C34 /* icon120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon120.png; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -74,8 +70,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, + 1FA44728262991360096EA1D /* libresolv.tbd in Frameworks */, 29D91E0DDA39BD518B58A83A /* libPods-Runner.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -96,9 +91,7 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 3B80C3931E831B6300D905FE /* App.framework */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, 9740EEB31CF90195004384FC /* Generated.xcconfig */, @@ -128,6 +121,7 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( + E908D2DF2628178C00E33C34 /* icon120.png */, 10AF2D302444309A000BBE1D /* yw_1222_baichuan.jpg */, 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, @@ -154,6 +148,7 @@ 9B3805AA678F1DA4B139770E /* Frameworks */ = { isa = PBXGroup; children = ( + 1FA44727262991360096EA1D /* libresolv.tbd */, 1024AFA123235871008B147B /* libz.tbd */, 1024AF9F23235865008B147B /* libc++.tbd */, 1024AF9D2323580E008B147B /* libsqlite3.tbd */, @@ -201,7 +196,7 @@ TargetAttributes = { 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = 68KMAT999T; + DevelopmentTeam = 3EC5G67BTK; ProvisioningStyle = Manual; }; }; @@ -231,6 +226,7 @@ files = ( 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 1024AFA423235967008B147B /* mtopsdk_configuration.plist in Resources */, + E908D2E02628178C00E33C34 /* icon120.png in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 10AF2D312444309A000BBE1D /* yw_1222_baichuan.jpg in Resources */, 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, @@ -284,7 +280,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; 7518D7A0816C434208302B2B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -359,7 +355,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -434,7 +429,7 @@ "-lstdc++", "-Objc", ); - PRODUCT_BUNDLE_IDENTIFIER = com.aliTradeSDK.demoxxxxx; + PRODUCT_BUNDLE_IDENTIFIER = cn.zhios.zhiying; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "com.csshotel.revenuereport-appstore"; VERSIONING_SYSTEM = "apple-generic"; @@ -443,7 +438,6 @@ }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -499,7 +493,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -554,7 +547,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 68KMAT999T; + DEVELOPMENT_TEAM = 3EC5G67BTK; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -573,9 +566,9 @@ "-lstdc++", "-Objc", ); - PRODUCT_BUNDLE_IDENTIFIER = com.aliTradeSDK.demoxxxxx; + PRODUCT_BUNDLE_IDENTIFIER = cn.zhios.zhiying; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = "com.csshotel.revenuereport-dev"; + PROVISIONING_PROFILE_SPECIFIER = cn.zhios.zhiying_dev; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -607,7 +600,7 @@ "-lstdc++", "-Objc", ); - PRODUCT_BUNDLE_IDENTIFIER = com.aliTradeSDK.demoxxxxx; + PRODUCT_BUNDLE_IDENTIFIER = cn.zhios.zhiying; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "com.csshotel.revenuereport-adhoc"; VERSIONING_SYSTEM = "apple-generic"; diff --git a/example/ios/icon120.png b/example/ios/icon120.png new file mode 100644 index 0000000000000000000000000000000000000000..5201ab4746d4d616c22c70f9a7f5a2bf49969aba GIT binary patch literal 9920 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 z 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�Koz^8=oat87iqmCQ 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

``)el>F#zql}ZQIPj#x2 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
(|Hb%E@@D%*4G*!8C`%2mXmw56Y6%Wr38Ww za0V0ds{m;B8XqRJI8J2d%^!1#y1<*qhFUj=j!`>4=~dF;TCkuFP8}YGCkUooQ?NTz zD)@M(_-*x#46pKWMG!E%p}F75@-7cbOCxDjH$DNIL#~&y4~{^ZY%t$hFs$F@9+Z-> z4_xMkdWTz-eH9t7A|dW>3~icA^BMoX5D_9i?(FTiF&#(4?S?pNj#3Y?XbCl(I`~+g zY8WwF6Jjbx5OTS`j+``bCZ=$Lw9Q0>fAvc|VLDcVNtLOmr?lU=D$GvV zSM{`H2Zy*9t0=%wPH8WhdV6T7nyOK+dp3+vzEr)#ATIzG5u2rpQOUc#LSP&i827Db z2Fb*Kk_P@hD`ORC-;2Kqj{Wh`Sh)K1Hj~EUVtTWy!EEpGuT2-b|gx84ET z*8uY=np!!GzQVNCIm}msz!)Om<(xP1=d!p+(F0u6m$c(mZfkIW<@oo>yz$F^lBU_; zlTPEdW+NV??SNPqRElE+2Xh!Eg#%Q5JOnGBS#9-voU+sAy&raM82vwZ(;F>smjLcYs{koH64Nh&C*)X+!V?mRW~JlRgf z&%2*D_^?8$6cJtoVry5gZ471#$*YK7L^FIj1VXHP zrGjsVGjE9WT@*oZBLOB+SY+p`g>af zqyvhGlJ+|hR!m5btVhOh0LtO9cEufxpEqM+soXoHHDm@d;Cuo=eJt%hXj_3LzZ^Fj z_}P1C!fBZRiciZEE|5&LZuPQ@0kWV9%;N)_-XZU#|BN--kX=GY z$jAbVnCGuc7K~d7FCI3Ldk-$Q(E%6n3Zk}I#eBaOPMr|^3_|p2y$JXV zcY{i_kEzx>s2zBD*s6uXMlrsrt~JhaUHKelA)Uix-+~$&t7#$m+2Nt58dU>}igai+ z`A$P#rS55J`>XTo(NrGpn#@JipOjx8uC&jP5LfGiR z;sXQoS5tCf|n48L#4Cg>yw4V~{a zq=9Q)meQKF>CR&Yd2%ntuV|;VLLfbq2)hyl=G=HIa`EkB=>#%(b-YLrhI*(g*}OB| z&EGju-{IFdDdXs3@D?-#WJZAg&c^xQ*^39H`;(LiqGaxE$EkvDXx|-3in+m5_mIea zhF{=72Pj6Ej!Ox(Zi_)~8tc~L>zaSw*KRFH@H#BH-`9&%5@7f*$w|~AN`l{Iz~@mz zCWIYA)Qiw=s^gZ4x)O&E0y!_}T{A0yZfkNj|Ln%8INv%c{BkahqOps2*WMH$HiZ-o zvp{|0nIK(LQl0&{W$tJ@rSTUyYeQf6DnAMcpDG9?7~PyrxiSIR=U<%b&$&_MJAF5~ z@T#oziIc)X;w34wmYH$mB5F~puLOw9#HO-W{&tcynsF&=yT6 zfAc_ZR+zlL-cG45sU1pigR$;2ruP|-WhhWO=1`P>B#51xjm%V6K;E1iA&ti2u3nFg znO3}h#1vwZraBbzabK^d`9|BR4cI1=9BJNiiWS}XWo*v4 zZgk4jr%Q1oHJP=4mVnM`@l7N!&__CEhH@mrE)*PI6PjNzSZ%M0?Ob8SqQ0Vh3dsrE zC98_{zWH*n&ui_5{5i9^D`Y~72_9j`Z`{`G;NFi<9ufKZU3KU7U*h*q!?epk*X zOAz&T;f3YPc)@a~HT;Vz|0@Pdb$gd|(fhF4nbISGn9-bnf;1A~9E zT5S;414IwPQ#xJIToJOI+FasEW) zIvvFBkw|z3%NLVZzBc~wDki^OkzU2punkv{(x`0SV{}DyV2X@~3YDX#O-zZWXv-ef z{q!#fPTeu(o7vX7+XT9b9vU>-1-Wg(HZ2-s=Ml`?bAXjWb($etM5|#D$h-~3jW#-d zsYfA2YEN#|!i@vkET4~DEW(i0OL%TKDs3v8;pXG@cl>sXu9O27aHSjv_@9{y|GF~^ zcZ_r~pMJ7G{9r3M2xNhI0RV7v7RGWZFMgqwo4denU%_B{BL`My2dv+Ksd2k}h{+_h zk8tkZwoi|xtrr_YI>hMkMpfgRyZx*=Raswgl9r)mtn9dOtdOr(!NpJfwla5~hhCag zrK4NbKFumWD&^!4*Y_=m>11cx5#pIGF-&p<2Q(ZgQZ&Ls9EEfL2bw?B(51Pm=O9LR6s7l)}xJlB#6oCnFuo(VNG5i-wg;wL}SE zkR!cA!FLpapxNV=$-KE-0`Vx=+6|!$kCWhdx+GMN0Y{X7kHDomJoVqdgW_My@I_|x zaXSb3j0R!c4@2?*g=~wflH99Ka|uJTCi?PX4Yj3EIL$(q-E!Z6w1zoqv)Dx-=e%oxMcQtus)9 z%hD%-k_UsXZ1wErQdBoM7e5Rs2kT}stu@YID#Th4?Z zB%`*Gh>-ry=@7mqAA}WO&28@NMI*FOJh16gwY84rg>ki8YD|7~GWVuAfLgrj7Or$dn&|;MU}3%Sy-vly zm6K}T<>TElyNSUTHFxsE% z0@(LJdiJ=S&^M@r_dHcKh6}3CEPzW;{910$R0sW9Rysub)}@QigwFzLlE-a+hnR%X zzT3`Mb}mVD_Do5mL$ivEEEZjP-J;=H<8K;L8qXd5i)-KywaeL~{+s%Zz6{ z7q`BcLQ(B-hh_yv9t_Aswbus&dDro<9BqOW(;p)C$dr*%jkPUR4&Z^z!ig;<1>IU{ ztP=KYXO+94wu~Z3J|5!0%Q`1pUbyDAmC8}Tc|&w*>1|)MYQHfcx$^uB%~O*qw%IN- ze%p&Td~&7U+<2ur;r&TKgV>J7TnHHFBJ^a>CxRrD5NSBI%N@)HAu@__Q3!Y><0=xW zaF$bh+Zsco%H9-rTA$*ST9z4QWUazfoh5qb#-Q5vmUNikc8Sk8DY=R zeAHHlr%CC~0$Xa(ys^4S?%!&z3?&%}mAKiCvN(&&c7)tjelbXDtq@6fv)5=7^+U{v zTv>28$iX8oWmyE>?bGdGieA0`;MCN%DDOQbBg$tdQEfF)V6?0c5B*)6<7Dwlf{{7I zYUCj_3b~IL!BlwbDAmCS-Jy52;`pUdW1`AjCVP&yvpxg!03A`S%hcK>EY!-q7k8w< zx|l#U)Dd2Nh^UZvG^jOJ=d)I~P@roHFLL(d4vPDX-6nR@e2qyQ6kMhk`6T6kYfGQ% znBD(0(Hz6XJm{5sH=}8bNvA^4D^Z-1R?nDre}|x{zxfki=7f{bD_vT>$C_-ZVu-|1 z33NAHq&reO9gzO+tE0}Q(Ic!L)Ptd9KEcE}4fAAvXU!sH&E#-KpoX%rbu|#NHjMCVQquuR zHE~I44MK%)VC>p^lo9qwKsr}^k2yR;o;s}Z#Gyk(qH0&={<<4YggVC?ndP?CDVS37 z+;F2{v!zDX8;5Qrv@fW|^u6`ciZ*zY{GPHD2PQH-)zbHUTjbwQh?_n99+7W zX}nderlQ_krPV2ukEfd>!*k8d0EAGv_0z`-8>*THqMDpj|8ZxQD)=$EoVZ&Z(DuLC z$#`0~@3U9$@SL>tF8#zAQZp`8Z0P!H!^j=r*R_yH?RWzFyxeH?Gi_<|n{?o5Ww_yh zBX`b(B-of4UpAJf9kbAHS0~IfsP%Bts%cb~L08zXq_Fh_%E$>%ys=6PR~6pB{HaKo zFDQ>_e}oql9m`Kiyu>*RG+(A^yCzr>^oR=67n|6Me&@C40;13?%?`7&7{88{H*>)Y zp-KtgW&jLPA3$0$5~$dz@N^~XfHiT!V=97`r3-UXmwHzS3Z$orASPthba21+RbM>T zX7|k9#Sm-f6F9WmvO!MAhz6msX(Yl6+}dEG>pca-X0g1IPi1^e>OV`2_)A|4G_(>m zBjM7Bi;&7$orDp%`iOF{y$>_JFP}S6sNt#Uy@)pRe*hyu+`k((yd#ExmLfp_@>c*+ z?5&K(0*%lSch@~%$~U?c0T{E z2-U>DslwgDUg26FBt2v`b(|?dTr>z-jKf$k$DsRK5;Je4}werXl^jP)X z7ItWM)&NQJO(6~{JPeSalKQX)tE;wVzjX)P8P?8Rc@6}AJ83K3N4nR>Jl48nQ5+rUuH<3Mk zH_k&wf!C7*w^0+JO9_|ro30xM;H<>dsIbd_vr-L@Gl_!n*F0ILkn#^$m6*m<pi#qBr6A73ciY%ai*cRx(fwF%$Q!6_GP*Frwho$`wtD zb|1;+$TUvz0T02YBGz|s$OBKQ&N1^%!9^#I>rkrFqAc|2Wu!FwSqg9bcg9;iK&_gM zS1ur~u!a@)$+G0&NwT~2RQt!^$7X02^u-yHxw_hF`&BPuS{wS>_Q3^i;uKy(>kcJB z3)V=8UQV$`AHZU6xU`7USAjJ^F zPsk+8Zg%K}zsz`utn<`%q zv(i2^NZusRoG_iyH-r6CO1c1&A%VI;UpD>@6eX0O99N*&m{Ilu!3sh===qz|Sq%1p$ ze?4NESv=*WGn_$8_rrR;niu)d^0j*Xq0l6!BN-W1tw*NW$0Ulk~W# z&@Tl2Rqd4|koQvG`mL&=H_skY+Mo@Uh@zWcA%_RAlpX7Qc_QQrYjN~S?YZMUFLnP> z^J#EPyrU9|Cy?ySZavt6o&l-{odv>TqjeR67u24fs3HaYYxzt1NwwLm5vjC13r(!k zG?djgR?k9w{XP(_acm*tk`7w(MXJV^PjJTZ-b{KBWw6Wi7qDJ}dqrbH zEWGprBRKHg%N;y>IOo7jiCCCLV>$3)qx)U%LncHoCZ&b`0R zVa4rk_kN8|revZ_L4GtlVqvq7KwbK?m)k^!FdM;!Y}@U zjzRBqdTE{WA{>SIAO3qEB-08T=4_*Vx`~6wkO0SMoaskZ`ClejH4ujzD|BOYMlZB< z){zcGJs)T#g`2q~?8wyHGl@qS_3j&1r~xUQekRtO5ftW6wA>PsfB-j--lcl3A2yN%olMDdowWDc$otJBgpS1y{kLH)S4{1 zj?IW)@~k=?Tvn?Rlir@6YIDR2S>>AC8lBKLRUI*q22xLX1mE%hq=?me8I+yB|7kXd zc>=N>?&5~`<&uWh^i^zq*qS5$ocm;EG)rgekhxj(K_}kR71H z*JSoVk`M{Bws;qv>+M0MN4$93T5!H*TITua#5gSmWY`Fyl^1{mtX3v%+!OSj3-xoc zuNVB71Wy8xGf+14zMZaH?j(EnD9=L_5fjhQ-Z@00>XYOR)F)G zb@Tz};u!O>R((!D-=KtBYz_3dY8@~gV6;mizEHl)C#(FAbbx5l%othjo^kgD1EeJ} z8Jv2*R$3?i0oM2@hwbSZ`DOC~TQW#SsCSqOe^(ZltmC%+^h|LQ-N~Wi+`?e!0Ot!; zujnV{s9-Gy+cEW_gW}Q&uVKK8w*2aXDt2X~o*NGe6mi|HJ0klCL)o2uW5nn}UEQQ& zU#?I)I;!Rk1)a;1^02SWbx z?m$c*uk1>xvw_ppD#c8B_(P=|yoqV3g&F7xEJ7;^*#sPIlPxd|-a7J*la zZ(54ZrXvRdqe&!^*WiJWnIr~juuw=n=}pyEcYYj>kgY3sy<@05FzA%0vw+7Z+VoCo z{=LU3z$U0H2}YHI1|~%*Qzwq*L9&a^+V$0{W+Ay({iB9FHj#YcSiN{CH+9yZhOu^o9V@5 zQwPp@Wsip&4@kqs8aCxj^jSB+itV*;hl$2oW+g`#{*CYZG5ct6CW(PqNjeP#;Pa~T z)L-A6CRSlHBhw09r_9aa85P{cW&$0&;h`wZcEjSAwwh@Xp&OFE6rl8a{X#&=WxeCig58LrZ7f5*yPcWl-UIwNnZ>e9?y-H9v7 z5DFid%5*i|PQxfC`)3B7B#e`@2ctN1c+qX%fmod}Ox*M<4DErRW|sB;ok^N@1q>VS z&-s4fCF`2=!ea|v2*Z*2&ck#OP0JlYZ=>-{usPbGsrQ*-;!Q{{1&L&S*rd-SwIyHQ zel259IL0+EZgx|f$ed|Q7w_y!2fUf(D673J@9TaFtaP3_42BxtqB)u`kI(9n$_os3 zMx@1o0>k_4n5;lXd%oqg)h)?~AZxLhF zwwWPue9XUoZ8FZ{Zb;q7NeR=EZ^LIG)JP0VD@61_MiDUa$sYX$37Sy%W$jA2*C8?=)=Wg9tZA^2Qtuku6JzHiAZ#7 zR0J(3DP-rmp|YSO7o%ie87a7UZF~$oub?q88puGh$d9q1&`LwImlS1Sa$0kxU=_hU0rSq$ zYaN>r7yjJDRU#<*NkTQqqpHKXZ6Unk31GK@Z7W`xHks+y7MjJUVP;y^cOqCU2RZuP zj#w%O7vf*27;AVJLP68Pm1_d~OR`;Qs5Z|MjUTsLp0?>t`&unQJMARVU1u+$T*>S< z`goC+&#_zaXKFRZMb=YVy$?gIwnlxaL`yt7YQmN!p7?e)$9#+i1=-Tfs^#=|Kn}(X z{mgo3ix6$U@vdw~PP*9)Ul&)2mWL3J6)Pj`OD<}j>)&bgo^1zP6H!1TyjbCU6q9!} zcVSHGJpMzy;Wk@=!w~A7#2(7*5DYV5tIRT#T#ww#4HzE)fR;m=CUb0APL4@-+V*VO z1s|&++kTQKOI+X)NMdq<*Pmu#y$xG4Mubw&v6Z7xw2E?`hF|k6=kz#+RKP2Rtt=8h z{Vvlapbaz`^v0r=5?;8x`1Bp2-^0Wi3m1fC%(In;|Cd1PuP&QeloEmVIWoEoX!qUW z+kluxT=HFfv7k|5w_-7&NSrco+zH|;!Z5o?;Ic+5AZZ#l=~Hz$vwjmPzM-!T#$0$u ziIfz~%`~Ca{V|`LPMBnZ>2MS51Ykq{h@=;0CJTchC{s& zwfbFN_WB5ej+Da?GShlrB(Wy=mHi;1QxWsvng@=?-IxZ4CTC$ zuG8h}kv^5ytoNP>nhNcR-;H5PFVsNQaTgPj{l7*Q#;hA--70APPzfQXrs`}i6PPNn za(w*2ijyQKD3)F)!8%nIH}>OF=P;Y!p6l|~IQoBj&gqw1XL4}%y_40jgkG}g$)?rQ z^MeWwPvb*`yk%T-^!<*(!^6wfRvU0OdGd5&YKXA9*}cb z5W0A~TeIPn{<8+N1gd*(ygY}qx}YdTl1IlKaxhdL6Zk>x-YpcIhDf6PvX-fevPB1R zTt?YU;=PsCGFL>1D`^|3;iUrxKHzGziSKYY?J8gF-sVnI$5oPh!ByOcg@9UF<<2S- z-NeJJZp4CGx;?uXQ%n^Y*<2-kF?_oodmHZ%v2;wbyrFx4LQ_nu8WKcMb`$*GySP7i zUX)zoj+@efTnS4YdA{W&Cekar#weq#9OUe>QT~OTb~7_0R9RRlkmWPepY~UK`IA|L z+g|S;+1uKO89y)o43Q7W#BweV$v81~3@p3$%4p|(g=l_1y8Dvc;1@~+*pwjR8pFpB%>@Wl6J z1B#`pDyZ$V$A_-${><%QJ{co>B>UyQ_Guu`88hvxn$_YiRS>-(zO4vBBvjDJ?l`}K zB56LPrFE@B|F)7P2vyg^NH*s5^1o+{PN^9}0mL&eZbgWdtC6esLa^Q$3W>lw7IVj^ z&<^Y&^HZ#;A~X>S$SggH1kC*mDuH+Zf@m5cpYDqIMt zR6~Eoy8M~I5lCjr;ks$~1c3ZAaP$Eog@H#P74LGyskPREdsTa>+x~(Q$5O%hTR?Iw z=wHH9((kXU5aYa&K{2H&zuw8|2tk8_gGf(Io(_{-d(46p2uei%j@c?074_VG8|CHS zH5Uq%7h?+E(3CH!ZmYtYkVbE!DwPNqdM}W~!;6D)ITG$j9Xznrisky0a@1TJdok7B z-V-7FyE|V7VJ;|~a5cRIi}G<4jgX-bzuo8C2xX4V!kd4X3yk2$k?v%d77&U&z9`AEib~<6LV=%!H&-O#(t%* zrXaPKG45ep;x`SR0BoXiq`*gtNd5Dh%4x1k4W{kDCiJ|{p2Iarho-v&`Xnbq^IrOu z^}jJ#qoL?8wNvBW(ogg9>c2ud@{Lj|b?BhI9kb-OSBHZTPwVErKH0&X_>zRj+SY>z(U#5Jz|UyWB3q7P82BoYXBdh`wE^-ru8CpvGg)Bo>TRM#9+@Kq&fw zBQ3h|Ruc^t-x#>+5^rS~N_yPzt#go;c>MWo9^axOB%ir8Pve3_mjv@gpf!omgCcyf|`{ZEKtf{sFQmhZ7F=MO`%3RAB%{vlHK=6Ar(RkZRmzQ zJ5VY&K!PUmOYsS^Q>H14X=XC=O3o}S=hTetwLKMfD+^v1)GH;9gwZ{r3#UQK-Ne&Z zNGfjvlxmKyC3_}W$0ezT(|15~(+BqPqD{82W}p`LQ&SIMe!KL2SCsJyzq|W-@EvW# z{Qbqc_vlRCmt+FX+Spr^AT~+O=mNZaNudq=f>zCf>~-JipX*_ZM512VTQO{7oY(*2 zBVh1Lp_h2Gr#~eH+b1-S(V^sYTnUJzQ`ikIvY48k^@eO6M?m%IzepK`e3le#>a&g_ z#j|$jNyvS^DycS30twyq5A|C&$W)l2TO2N}S5uFY=wUXgS0n@U%iO+WXT|1(YJF5Tv&V1)P^{W< zh?E&*rOPp0{X(P27t#ZE!X>g~b7|q$=p5Xynn9QUV?c-{;>ng!#byuzM2Zi`O0`6f zkXJSUitcYB!I%$)Q3O(Uv(>_;GQAy}`6re+2%XkB$pg~+z=tXUjg7GIJSrIJJ+Evb z9c40XkL<|QM?VZ}I(LXZ>Q5T`_z2?u&+TVo)Y!^=-7M3}JdMwM$i`Y_WRWpYCp7x& zqI$;?ap~NCplId%#cY)Yx8ui`rO+6h@OcKPuK*A$N`b^|SMOwxG+N)fTzt(}QL?3J zJh)FmHby@{ozle_IS=%R+6)&>sZjW*Z~YQMleDURieoO zua(LA4sON-AiB=@E3(fT5W6RLSwAM!;lVo;6`z~m##s|)2OfO7HOEE73MPAXyfz+s zffJoe0U_t~2-_{hcv!c+w3&g5&T=$}s3aJ+5)4#a@0$SX)vHk=H+c_ww@(pl1lVb- zr;HWW*MsBAMw%!Mz+6HDQC^+bX$tB_-L9Xy$K|yiYJl zCFws_Mqx!p>R05SzjR+R3y|Mqw4O&i{(+i*(Z$!Xh1~65zkx$5tHvHjzF*T7={{%- zD8=B*(iJYYYB3cLzZG{GQKDQHs2M^Y6W%>L10~vZey&U`m_a2|fN*50ABfZwh{~t7 zG6I#-BgEiHdqG-#3nI!7#P2R(#g=iD?-@P3=&w2cQwg7o;Yt{~kN4B|cuo~Kj0-$2 zxRs!-?RnWd@hIB(4N+{0tgeLO@UT$)8Gp_HrT3iUg3Q0AtNNy~1!_{xepZ}=_KFIw z36~phi>0#8lRvUnF!(C)yp(j~z)c@5E!_b5zaM z&2vPpGC+}(V*1i>=DUL$agWVa3w|qu%KRJWgGOW2-6=gVstC+eXQ;Yf$|;hN=?I?H zCC9(BYOVMntftyxd^UX@j)vhZU#A^$rxM0RdF6{f*kWl)5`JYyquGuJj= z==6_1DbRquNPI&LqB#YZAd?_KhG~&BZ=Rx)Gcx|&E~d!a-|U%k=#;YUcx~4U;Ur)H z!lQ>s0NTR%oZr12m(yr}&WC%@TBHZMej&!J!d+5mlr-0EGGzNda&`4T=M%CD%IBr~ zTZ)^^PED1-L&!3Yr?<0s*oZJb|3g#@beuelT)N^V;K4j+g;@EsTk6Y%6FCwg$m0FW zXQv<_zZBk-;IMTmmcI6>l)^khbCG#@3`lEJ{->-N>Kn=_?4W^8)E5ya#-uquY9HnE z>)m{l^*_b$MN%_a(M!AqxPo2OwEU`L^cH*Fe6untz#zegPHLBUF62)f>NX;9yT4sL z*%^D+i(Qnk^I}3u%Skm2UGzsm%CL&znJo=61xQQ9l1P(4GjT0dt96YuTQroRc!y}L z%P&IAsLMsW9i!Ls+SuJ^uX(da&;@+~Y9%PqMp6c+o?-iL?gZxRXz(8zX#aF-2K7(m zIG(RbUGoI8!*Vx~u}+bE_mm_3N$^ZLaD~SnY`+ZvCO|p@ZfMdK_^Mag;b1}3$pJWd zGx9cYb(cb91NZ z14@TvP(g_S>Ot=&IB1M#iHe^E$GcF3Or;kp&0-0|KYP+@ zGldWU=g3G*S=krTV0_a(8vX1n&#V1-B?j;83Bg(uI<0+^-$I_6EUUAQp5*kZj*DFy zvHk&u|N5$dPo-jtNNkQRRI5|kt=3w{2q-6WDl~qaGQB|!p$WI#uje%RWdb2Nr40?d ztm*or6i`1Vjn{D5#Ke6~^3)klKCF8|uy2=txG(qv{k;xX@BX5tUg5P~{3;4|HxWoOS1PVjtGVwHaA;|&`V@6r$MP@^oEzu&0qi~y7OwO!K85jij zLFLE}qT#Q4-|uFy96CCM;2uKjCY*52KZj=Sc-icSXmvUac>{_XCKz6v5f(h@8=3BSq72&DYS`O|rfodxa>5ztAoHjX8EX4hdY zaz=HXki4;_lcxL5(2rFT)O8OV*+a-b5>NKIxQK2m>{%7fHktLfY5?+B^jhRhBiUwX zlS^SL?9(2Rgk-c5+gyG;meu<~o$TH|9=3E^vZ(q6Ay~a|_A{V{P=hEuS*J}$IAq7HT)nq&#CznsiQ2LpRK6RiaNGb$3{z1Y zgy;xDzPg@cjkS-jA=?P?Fm3P-FSSrsuIC5R*z9S0$#;9aVh#*Zd;KyRkTZDT5=t_r z=JWh@IDmQ}O}j;%n_cz6h>ad<3z#|m&i!l>f0{p`=%-^jA>L!KXXXh4 zb8enm3f^s70DSbN*!^>F*{rXJx{oL3;dPBMn=YGGEv##$PKmajeg@Yb!lb#2jDN_70j^yvbp9* zyW}7&#&}UJN+>8SE7wk@e_$s^9@s4YJ3=4~Wyu;%NyW6G4f26-A-y?Tl*pH8SVS_8 zT+n#RMSpZGwd&OfV4c9@Q;4sj9Syk(4{INz4^|p|l@Q>Mu^g976cuwOc>W+KJ47c4 zeas^v3(vawf}o;zvXP+9X1=*Obd)7_ntDpVK+0+6V$$|Nm^*I-H0(cosqZ^pi_EY= z5113oiJ-}!_O}ua-(|(7#Jv5J(SxoN!&I*estab_C6x?x4l1DybX&NOV6LqPVFB_7 zx`3vcmG?n|k$*0=`GRlg5;sXuDbe?TVAd~s<9V_^VX`n%r5N#X@@+Pid$yE5|0&Om zPP_?$eNPBbplJ6DJuk8Dw8OGQM*8q?f5}|ymTE3NU?D$88dhP$N?}G@!$q-zTWlh~ zXYXcuLt$Os#i|mu{BoC&Q$p5Sw987_=di0;Pt-u{Ud=$c9ue(Lj4>ttR&*eij_WiD za{yAQA>ujqFEr77w47100`aJv(;#Tt@wocs<<>PD5ivxs%i(r9d}n*{tF(nG9L}Gj zjrH9W*30M0mKDOp@7Oj()3P4H6D_H~2|$w)ErBWd_09c^c*x#tp?#qkE%VDfI%vpP z8wE$Rs!Se*c^mmO(e_z`g=t?)<%J_Wk8sGt4gUU|Sk~KNd-IX;?i8}3 zv}ah947R635*P-PJASZbhlrB?i9c!0=~IPXJSQQQ`CB5fR^gw&$+3XQ9_&s=U~hh6>k z&nOJD(01W(Pw-oZ^${l_bNhIda z9gi$YEOP((xzAD6=!TK_oI(x$o*&RSx-rn;G5IrzrWtS$AWX=Fh((Mv+md}{JMIQ> zobsh3uZK*Ek`46kK&%t90h^ERueZe0+=UfI|Y+6?G{ttJUJ6U zp?A`CyVpnvtdW8|tR#7z1=#*B&%cV@XQiT+VsmME8W5tTomi%JGYpj+fVF2@2)6>) zpyC)$YpC4w!G|DE5NeMG1qQ(PAJt`H7vtc@r7a!s%LvPs(_Rk+l;xkwMq-XGvegVk zV$BYwh7a{Y-AVwqe|*1)FFfETr~8S@;Uhhz%J!&6s$iyaWs&?6X^jYTw*sHG9rS_W z%LI1mjyhShdH6}7=HC-5uL9cl(%~%aomj`3n2X0(*9WLs*(^N?{AyF(1S^a530v#D zG)Y|8BHIFP=tHN6PPv7nMf5kTs=3dxPhLv&`o*9Sk*`It|Dyf9Mq;9(4w1sn^0mfm zGnI19%8nyGa}`1ARHiI^{+gBX2&u?#J7Wag!oe*yv0h4}2PP=_Y0C|W+;j*EAIAxG z;KJ$LV~->zxN2K3dL+hEzzeUAuaoyrpD>pWG6JM4&%pX<81>*^;cahLCaxb@3PZ{G zikN{H+>jt&FG7kaQ!Is^5jC(b(d0_EWGItV(d#TQc_LwJTD3taqQ>$cTloTsJB=~Y zH>tEsW1vSs&YbsXj{aE2I|qR(5K@b|x-}REB#vp#oriB++hYf|lS8w{xu_Lq-+;)L zIu`knBoS4I$L65tBgdiiPuaI^s>VjK55=F(4mDI_d2)GVwfNlNAGFQaZx$vN-~6=c za@(pHfeFE=d;nJ8#Ppl?Bj0yyXNSRSx~9KAEvO~;Uc6@*MGJj{oR)$WeaqKk*gdYCTVhYSzU0NQ^n| zDL%HB7%ULHeikiDqxzA6^PawQWI&Ia~9qFpgXAK8e*UpB~nE3nTc(R#%N9C zQuYM)-UOcRhMTVR1~?!Nv^SZi{i!<3x~}9tpJ@d|(lcI{m!N%DYx@OMhj&d)=Wc0l zyaj5FiD%E{a9C(yU@r@08j@%^J(2#fRdpSeJaj!M?O*^c;5EHlC-wX?tqsd*ceUQ| zf#xvMsZtgZzj&vwzokNdm42KPt|>$CD_=>Y`zpz5yX~LbcRi>m)dPI$R6OZSSN&=z z@9xlk-9=ncD#YVe+blPe5nvQO7NaVe7tXgkwXvlGd9VU@>-xh*(8kGpzJp0NrFyio zh8)`YL$YaR68=4@3z$x@n-;+-KzdBy^TN3Q)zrlN!>l&S+MsR<;UUbtmn+#-a=uZ9 zX-9^x)hF#(!p-6`g8DehY%2v*&Q^^g1jHHXc~%rB3%~j;qmKg9XoU7d@8;#fc(7=B z>f{_`G#Z;qz9Dv{@Ymx)YR{IrFE&-mb_j? zYu~dwu$Jtvo*25}APLsw zw1LXY=?n{4q5|qle?P*?(A39+zYL55x>tV0^8V(<)h^fIemu5&WLz;L^_?VMVED=W zdE3L7kXA^#H`!GuYc{Y$PmSZMtM1r&zkH+H&kCKXY#i1qoIcfwZQ| z_9NiZ=N?8_brF&sCb{tPJ=_YM5yLWb9tx}&`=7j%h9`_PhqvK;61@>?4~Mr<@`-TZ zARJYj=>2B{If#ypU@dVZ#sTU93sxhSo zEH5cE7#P*osYzH*$@5Z$Jp!bQZH0N3=Heas3~aps!i`(nW(=z^-Ky&xhznaxeT+s; z_Gn#l*teI>6SGVkTC{taer>})jgZDvcz?^8?t#=;k|NSr=o!a30yx`rZ8RGL#OD}G zT873;clm2>kK#3aHcvbLJ4V&?Pg1qW3CqsFU+FYskDwiY*lU%L{Q{wFkeM6U`v()z;bO zDFcY+=Lp7!pO4ofTvVnxqY&aC8{yTbkXfdr{+>99YDECK@4d@?7(?4Iejx^kOkD~9 z9lfB^SxFu6fBy{NXQJ116&v=$;}O6&9cFL-s>h_hfKKI~aud&?&viwXRA8E6r zO*~4RmFh(WL~1PKql-yQDbQ^I7hbEJ_~c`%@^s}q+r6xN@Otd|o~9F9SaG|MIHjbM zH+=`(crS>$I~vw1ZQsGHvy^^*r(C+?%$tEya?5~wiEY|dcExM>cA3H%iTH63pVWi( zSDT=WHkQ=?HtTM%(w}=+aw(nKF$oa9BPc7e`L~;LYYkv?=<_Nw3M(eqGDqsKaJ%3# zQa8yHQ;~3Lkwe1%D!j1c&rIGQ)o{np+jj%OifRKjZ?nmq1ug2G+u!l_fT0l09Y($2 zybiNQnyYv`M@d_`gyT=cv7O!1d8A1Z00S!(#IAjPo{1th`}iK(D=^A(ez6GsWrIni zkPMy$ydKvQD^&pT=hTW629Q8F)z@?K|B#h#iaoR5WId9!U|qXFg&mzEj_@M>PU;C< zsD09M&QoXOy&f#D3VY8C+CO0nHX6R1Q6#Rx=8p}G-f%xpLFi*I-W$4_SH`o#Q9o=p z$qSuUz%=3UIt{{C(A)7SpEn{FvshOOPdtZZ7B4yGAWy}o#t?p5(pkNEcO)ClVWNtP zd7fKUN0{cE$R*5o6&Qya>Ed#|lNMR>D$dF+ZB*LWbu&5K%>Ubo6vhijNkcyNY z|2n0{kc6ssn?6=Z72GuHzFs9C7&9sY}9Td%_ReN8>VPlD{layY*j{@nLDr5kF7XJJZTArI0SFHyRr~`f}@YP ziR?LcqXvY76ll-#CsSvavZ7Uv#Z(tT`c-!IEyLy&G>#{dOw}jCTVp(dx6B=>KO%C?RVjNF-lu|e~&LMB6=vIzCWn|jC3RR`NI&JdOv%brEv z=nOQ_!D!`J6}7V`ZF_@|D7{%x4rvnusO5(Laphvd)~~@Zsy*&bxITT+1l&t%RPWem zZoq9d!XYB}6v9lM+3d9p+9h0eQRJ5ZvvP)i8^s#l?M5;IjG&#!qJDFFDNlBfZ0!5c z4s&MYVKd^UD{oVqq&hQ2A_1t?%9dM8-H@X~q*e)-$fP;`tCL%tcDEu7dxx)Nx!9Q) z8NpDHK^)0|OCrfLtSeR#E$IOU;96BD9t&Lw!&q2Sld=0fhE%0`%gs^Q8nxFU*`*9z ze_N7JE$TiPW^)Lm_KQQ7_>bKKiI{s$UBblYBYjk-N~r*5=27(ME%ZAvn(Y8ApjTmRQ7V3emP zQi1HjDFlhSk^#>dinwX?bj7z}0*?*4#}Q?OG;m z8+dU-^VgJHp!un#WXBqUJ0(>CN&Kb*=L9 z`o0)VeiHLPE;XyMY&s3^^`h}Y10a!PCJyao6=m>;hMv!vSz}W0Z z5#)sw9Y6vO@H4~aN|0Ye^}=TI!leBvBLP~jk7IZqb_AA$MY0&ynmryUZ9bSuX$;hW#{ii(ES) z;J< zKzYqwav%!u$T!aEGqGy(>Y8D< zTYw;$L@zU3*||GfUQ?akmeL&LD(awcvv&;YNcPMt>wxW3!1KG26{1%9U5t44CM2ws zrwHN1qp@+a*ON_hu2kn)AV;Tx-n(3S-HsX3@?+T+!CNpW)6GA6k_it}438m~tB{9u zsz~X}TJ$VxZp31;#_jLHfHvjyQE3x%JxLCub`x*!KBUGkJ*@2Zuc}k0ntvIeB9xxI z=^CeiUUsy$as}Z;ekvmXI{H4*7D_`18T-XUEWrD@NOgp9m}21^bj8;`DqH)+L^2&d z_U?uBH7K48>n<`pQr_Chp-pke8Vt`wglmVJ%#&+V;9@5ax(HY7YC;O&0=_ubH6`VC z6zYByb-y7TT;ybyCs^#a_9kbotGg?zMU>^WSHj#JKB+lR#2_EZz#p~9Q#2rtn=Ebx zt|%6PkbfF-0$dkdj&EaZau$*Vl`(zoQY{k8m%m=~@1KKKbqWnL1gX;E!0{8rtISBy zqPfjT^Gw1@%B<$k@=T(KVoN=c^+E1!^jI;pSVBUiA!~`!zl|IB>fXLMB7$LNdPaMg zu+0kpfy8ux!QjoaCaVs$y%+%(`6L*=V@$lw-+RoCobl{E6?4Q=^=JIuV+)mcutt24 zhC(eyUOAr$Awr#JqjzgRN~`og`u^KORQ>B_q5F3#o1_XW@3IewJ-i~x&_jSe5J{QF zUa!D$5#VO>@y8xf;1>df1>UiY5^Nux%Eh}Z<{;h1H4pRzPEKyWxlxURc(1xaObNu5 z#~(HY>~l#(9r2PY;NB~!&3R@3ZKsI1>TsIgU}q?q{7#aaSc!u% zzVYx-*pA+@CEJ&xX7rz6T>s>CA2w zp+zxN_x$T|n&RVsOYj4|l_zXFx178H)&Ko=5DlFt{LfUgutcojWq&}HnR+aAL-+?} zLo{Vi;6s{tERQ04xD2FQ%j&@GD-Z2MA&PQ_spp%!J&5n~(Xc?aUzv!7^F}`frsM$( z{$0pOg!+bITtgs4cav)5a?}h*-;Vxpp%bF~ES|K**zw3 z?~o`4%8Ac4b)oN(IZ$~08KtbndoDuH#$fY96#;%<)?%MqfHcXQpI`$Z9{>$^@;%sMwvTvjZwuP{hb6yNH3KX#2@CL?i0bU@|BC;notg0j($^g*YyD zp;oeAhL#s2`}Rg};P^q1AC;oR&T7Uj0ljY?f->&*tGHjd8;mXWUw@seMzdg1RT*RM zwWkAM{S9W_qcV~p@L=md=02$ZasiJ@+C;HC(oZG$)JjM;9xo3g#XeUpXotp%o&X!39MVxtb=sej{w9Z z++vjFONBwhq+1DBuGwC2*}tbx8w^&1Z}^e(TtV9+at%=zA3sMgY+^jEi_s3PZUK&% zFwSEG?)Z#bJ!C9v0o=NAitL-J)3kU|>Bu&ile1?(XZc%;B(gVNVcqq|-gZ9K^vuXQ zx&DGqMz#KqXq5is+1XmzA40cth6a7cMPCw(oQPP*)O;3_|Ao$R@46HeGmK1NfK>@h z5wQouG#pFhLtCP*zHSdLxaU#d@VyKvIN)|ugzGWPJzoW;uN4)=`P`xJ_4#)8^FDtp zn_406;e0P55q+_79cZhx758&im>Vw@v{1wZ?FPiWAow29$==IxJHV2&oQE=_`OF?T z+<7;A%C5=2b@9JavkLkhNJ2QD`wXJQb4xr4Yb$8dM|g@Xt=H|pPJCdJz{uf%lpg4s z6TYh=#`u9A_h#VirA*N8dYW=hH;7aL3vc%jwTWJH9b`333?m_WSv$wuMDl3uL%UnF zYRm}+-4tGwqT-%8;r&5wKfBc<01t%`a@`t%?;6#+C;Pnhzg?Ioho6`bv?2;^u%;dN zrUn=Hu0FS2&X#(fiajk|PjI@*;m9_fggD0_@sZ`O!@A|?tG@=Q=N)`lzXx|{8T`fd zN*&2NKfvL*H|Hn_00(9_lj31CUsB+@n9J3ra%2;u%DtCW&zY^L zk<@)854uBiw#B%9as#ZVrWmTAr?ZL#upY(-F?VtG)sEAGW2GxQj`)iDXC~B#TG}ut zXzvn6%Z>?_+rsX37oQZ^3B_4e=)gFu7P>1ZXE+HQf}3g%INIgqeF@XqyQkO1#xaM)ziv;1z)hr-eOQ|89thG<+R>u+~qORnB8SY`(+ z=84vPTB?cbFOlyiI@pSIM7K89;3wuV*R&EcrBmcFK2SpLQs=c;ceacp8IG zx4~&GBAD$XhWOrB@`O3ZJHI!|gQAJne;BsF)w?FYrZ?_T=^1<|ekF>n1TM7Yiw|@> zrr+AyWM69`^j&cVG6)9SAg0NxO>{r+K$3>4tlWG1EQIc>$If`sNv#uA{Y2s`7_7e2 zc&PZ2RDV7r>n&w&xVGe%&1xZCG}rhy_Cl5fTGyxDzy8ztQ#27Yu(1Yzivx(sm<9?e z%538<{EdfhJ-PA$7fN-H39jZg6R6!J{gP=}s>WBdra9P4w)T%45@e!+P`<{CjuUZT3%?>9dN}o_Fzq8eV1+VAY}X(IqrDT3@Z0e`-d>}NnH~uVIWDsAQ~nC7TMHdB>Fji! zgOE^4KAw9;dw`w6d;mCka?pFd)+D@gmy~?yzt70oZ^~_)fDzYS%BRR6F|Q(%BUEfDcZYPAO>X;`&uUO{CxB48`SruoO0eMj97ILafXu8m47%>{ZMCLz^69Te zF7P+H*TNJyJwB|Dz6#?hrXZnXZn-r@JIXP8nLfnAME<-&&5U9cTf-=4Z^6Gq_X zfjNm4j&X%_`2!#hGFwDXvBDS#2)G)4oL{fI6l+QaA9b4=lS&2dT{{7wDJ6Gl<5^;x zeW#(JYi6*oLH&WOOOvJd>cPng?u&NwIarXykyv}WbtGDG2=vpGyX5g0naINgaQt^n zBmLBDs0=f-Vxb`2?h9PEv%tcB`v%C%1|3TB*@JrlZxFi!^||kkZ2b}HdQyVa-H=dN zfBn?pLZ^|`gG?l6Sk|ZjT=%ydg?^eBLD7;qiI1JD+01^|S9~cNFI{AkZ8)3$Ge-jI z7?mI%w)l^6srVK2Dd51Zb!~}+v#`o0oB%gK$iD~p!9?A{9VD*w|BS}M1+omBXv3(K zxpCY)bUQ_`mV!N1Hw*F+i&&j+Cv)#Hd2C&XG2qO00HqIXjZmFtlr(mGY9opuaa*U( zdjn8vX`p7U`E@LVwUh9tP&D^F2P4!*>%q@LHCOxerfNnl9l_9RU4$~g$`~9lMiM_a zzq#7Br#B)hcOJ9x|94vYY3y^lKwz5YNo&FcJD0O=7m?YQ%5 zItD}7)!NUQi!cqa-4#;_cy!OeQbDwff(S+8>%SD9AGP9tJ{?LItFEouErKi97=<2y z@3Q()L~K5Uho8W&aXGzdW6_1h|AT9uHbcmsoQs-Z+sl7lweR)+CyXL+6q-YlGL4Wy z0gRrF{}(5;IysFUv=nRzK9RXPyG3Dvvh9-@B+Df6lfOu>e?QnRpY|?-1 zl=3EH`*V;kstW~#8NE%)65+x-Y+@g(IP#8|e+`>bneBRuavS`$KhPm;dv#G4*^ItF z%+7d1aNzHyBX%v>Ue}pEfRR!BhWG3vfXmRl6rpztT +e9~#=6+T|bS7+~%>Z^UJ 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 J7zO|U001`hoZtWe diff --git a/example/lib/main.dart b/example/lib/main.dart index ecd01dc..e9bbc61 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -103,6 +103,17 @@ class _MyAppState extends State { print("access token ${result["accessToken"]}"); }, ), + FlatButton( + child: Text("淘客登录,iOS新渠道授权"), + onPressed: () async { + var result = await FlutterAlibc.taoKeLoginNewIOS( + "测试名字", + "31333495" + ); + print(result); + print("iOSNEW access token ${result["accessToken"]}"); + }, + ), FlatButton( child: Text("淘客登录,新版渠道授权"), onPressed: () async { @@ -117,9 +128,16 @@ class _MyAppState extends State { FlatButton( child: Text("唤起淘宝,openByUrl方式"), onPressed: () async { + // var result = await FlutterAlibc.openByUrl( + // url: + // "https://uland.taobao.com/coupon/edetail?e=0I2EBL%2BTWswGQASttHIRqRXxIesJCFV0jSsDEwaP11URqogtr65NL3IIxArmwXZQtYdj3OrQBBwJkllDQLUC%2B79fwBwwUiqlvyfAqbG%2BQWkG6QT52O7rmXYefz8NXcoYTJnbK5InWzlFfSAQOJJoy8NEaV3mm%2FQSzjZt5gElMznom9kMiklcP0KJ92VgfYGd&traceId=0b0d82cf15669814548736276e3d95&union_lens=lensId:0b0b6466_0c0d_16cd75f7c39_528f&xId=6MboRwsAi2s8Glbqt3lJLAwSlyrPyBLCZ01KOk6QzKCNhw8C6RjXgA1bNbZdKzp30gOqd1J5j1k7ei7HYId1QZ&ut_sk=1.utdid_null_1566981455011.TaoPassword-Outside.taoketop&sp_tk=77+lTU5nMllrdHRqSVLvv6U=", + // //backUrl: "tbopen27822502:https://h5.m.taobao.com", + // isNeedCustomNativeFailMode: true, + // nativeFailMode: AlibcNativeFailMode.AlibcNativeFailModeJumpH5); + // print(result); var result = await FlutterAlibc.openByUrl( url: - "https://uland.taobao.com/coupon/edetail?e=0I2EBL%2BTWswGQASttHIRqRXxIesJCFV0jSsDEwaP11URqogtr65NL3IIxArmwXZQtYdj3OrQBBwJkllDQLUC%2B79fwBwwUiqlvyfAqbG%2BQWkG6QT52O7rmXYefz8NXcoYTJnbK5InWzlFfSAQOJJoy8NEaV3mm%2FQSzjZt5gElMznom9kMiklcP0KJ92VgfYGd&traceId=0b0d82cf15669814548736276e3d95&union_lens=lensId:0b0b6466_0c0d_16cd75f7c39_528f&xId=6MboRwsAi2s8Glbqt3lJLAwSlyrPyBLCZ01KOk6QzKCNhw8C6RjXgA1bNbZdKzp30gOqd1J5j1k7ei7HYId1QZ&ut_sk=1.utdid_null_1566981455011.TaoPassword-Outside.taoketop&sp_tk=77+lTU5nMllrdHRqSVLvv6U=", + "https://uland.taobao.com/coupon/edetail?e=6DnQrsRPSREE%2BdAb1JoOOq5LjpWhUf47qRfSSxTsETSvx9VYatEri3k%2FkI4P9e8uminGuuGZJpzdRFQjbuovjv5bIHhv8SxDMSEmlRStydiXTYg7jmg8BVVrgdWhx1hjdj3Hchy1wJYuynEbLfMGNjwh43yW%2BFEDaXOtHj5%2BtxsJsGSNF2WC8n3fZUxdvIu5xX4GxHSKO2UqjLJXsGBxMA%3D%3D&traceId=0bb61d4d16186279869833901e8cc1&union_lens=lensId:TAPI@1618627987@212bf943_08cc_178ddbf0639_b2e3@01", //backUrl: "tbopen27822502:https://h5.m.taobao.com", isNeedCustomNativeFailMode: true, nativeFailMode: AlibcNativeFailMode.AlibcNativeFailModeJumpH5); diff --git a/ios/Classes/FlutterAlibcPlugin.m b/ios/Classes/FlutterAlibcPlugin.m index eb27284..163f1e4 100644 --- a/ios/Classes/FlutterAlibcPlugin.m +++ b/ios/Classes/FlutterAlibcPlugin.m @@ -1,6 +1,9 @@ #import "FlutterAlibcPlugin.h" #import "FlutterAlibcHandle.h" -#import +//#import + + +#import @interface FlutterAlibcPlugin() //一个handle服务 @@ -63,10 +66,11 @@ #pragma mark -- 下面两个为百川处理应用跳转 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ // 如果百川处理过会返回YES - if (![[AlibcTradeSDK sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]) { - return YES; - } - return NO; + //if (![[AlibcTradeSDK sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]) { + // return YES; + //} + + return YES; } @@ -75,7 +79,9 @@ if (@available(iOS 9.0, *)) { - __unused BOOL isHandledByALBBSDK=[[AlibcTradeSDK sharedInstance] application:application openURL:url options:options]; + //__unused BOOL isHandledByALBBSDK=[[AlibcTradeSDK sharedInstance] application:application openURL:url options:options]; + //return isHandledByALBBSDK; + __unused BOOL isHandledByALBBSDK=[[AlibcTradeUltimateSDK sharedInstance] application:application openURL:url options:options]; return isHandledByALBBSDK; } else { // Fallback on earlier versions diff --git a/ios/Classes/Handle/FNALITradeZipArchiver.h b/ios/Classes/Handle/FNALITradeZipArchiver.h new file mode 100755 index 0000000..368c0ec --- /dev/null +++ b/ios/Classes/Handle/FNALITradeZipArchiver.h @@ -0,0 +1,22 @@ +// +// FNALITradeZipArchiver.h +// 新版嗨如意 +// +// Created by FNUser on 2020/10/26. +// Copyright © 2020 方诺科技. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface FNALITradeZipArchiverOp : NSObject + +@end + +@interface FNALITradeZipArchiver : NSObject + +@end + +NS_ASSUME_NONNULL_END diff --git a/ios/Classes/Handle/FNALITradeZipArchiver.m b/ios/Classes/Handle/FNALITradeZipArchiver.m new file mode 100755 index 0000000..05bddfc --- /dev/null +++ b/ios/Classes/Handle/FNALITradeZipArchiver.m @@ -0,0 +1,43 @@ +// +// FNALITradeZipArchiver.m +// 新版嗨如意 +// +// Created by FNUser on 2020/10/26. +// Copyright © 2020 方诺科技. All rights reserved. +// + +#import "FNALITradeZipArchiver.h" +#import + +@interface FNALITradeZipArchiverOp() + +@property (nonatomic, strong) ZipArchive *innerArchiver; + +@end + +@implementation FNALITradeZipArchiverOp +- (ZipArchive *)innerArchiver { + if (!_innerArchiver) { + _innerArchiver = [ZipArchive new]; + } + return _innerArchiver; +} +- (BOOL)UnzipOpenFile:(NSString *)zipFile{ + return [self.innerArchiver UnzipOpenFile:zipFile]; +} +- (BOOL)UnzipCloseFile{ + return [self.innerArchiver UnzipCloseFile]; +} +- (BOOL)UnzipFileTo:(NSString *)path overWrite:(BOOL)overwrite{ + return [self.innerArchiver UnzipFileTo:path overWrite:overwrite]; +} + +@end + +@implementation FNALITradeZipArchiver + +- (id)zipArchiverInstance{ + return [FNALITradeZipArchiverOp new]; +} + +@end diff --git a/ios/Classes/Handle/FlutterAlibcHandle.m b/ios/Classes/Handle/FlutterAlibcHandle.m index 48c64d6..4e55b5c 100644 --- a/ios/Classes/Handle/FlutterAlibcHandle.m +++ b/ios/Classes/Handle/FlutterAlibcHandle.m @@ -8,13 +8,51 @@ #import "FlutterAlibcHandle.h" #import "FlutterAlibcTools.h" #import "FlutterAlibcConstKey.h" -#import +//#import //#import #import "ALiTradeWebViewController.h" #import "FlutterWxViewCtrlViewController.h" -#import -#import +//#import +//#import #import "UTDID/UTDevice.h" + + +//旗舰版 + + +#import +//// 媒体电商套件图片库协议实现 +//#import "ALITradeDemoImageLoader.h" +//#import +//// 电商套件外跳媒体页面实现 +// +//#import +// +//#import +//#import +//#import +// +// +//#import + +#import +#import +#import +#import +#import +#import +#import "FNALITradeZipArchiver.h" + + +@interface FlutterAlibcHandle () +//// 图片库实现 +//@property (nonatomic,strong)ALITradeDemoImageLoader *imageLoaderImp; +// +//// 外跳路由协议实现 +//@property (nonatomic,strong)ALiTradeDemoURLHandler *urlHandlerImp; + +@end + @implementation FlutterAlibcHandle FlutterMethodChannel *_flutterAlibcChannel = nil; @@ -34,74 +72,144 @@ FlutterMethodChannel *_flutterAlibcChannel = nil; NSString *version = call.arguments[@"version"]; NSString *appName = call.arguments[@"appName"]; // 判断是否为空 - if(![FlutterAlibcTools isNil:version]){ - [[AlibcTradeSDK sharedInstance] setIsvVersion:version]; //设置三方App版本,可用于标识App版本 - } - if(![FlutterAlibcTools isNil:appName]){ - [[AlibcTradeSDK sharedInstance] setIsvAppName:appName]; //设置三方App名称,可用于标识App - } - [[AlibcTradeSDK sharedInstance] setDebugLogOpen:YES];//开发阶段打开日志开关,方便排查错误信息 - [[AlibcTradeSDK sharedInstance] setEnv:AlibcEnvironmentRelease];//线上环境 - +// if(![FlutterAlibcTools isNil:version]){ +// [[AlibcTradeSDK sharedInstance] setIsvVersion:version]; //设置三方App版本,可用于标识App版本 +// } +// if(![FlutterAlibcTools isNil:appName]){ +// [[AlibcTradeSDK sharedInstance] setIsvAppName:appName]; //设置三方App名称,可用于标识App +// } +// [[AlibcTradeSDK sharedInstance] setDebugLogOpen:YES];//开发阶段打开日志开关,方便排查错误信息 +// [[AlibcTradeSDK sharedInstance] setEnv:AlibcEnvironmentRelease];//线上环境 +// +// +// [[AlibcTradeSDK sharedInstance] asyncInitWithSuccess:^{ +// // 告诉flutter,初始化完成 +// result(@{FlutterAlibcConstKey_ErrorCode:@"0",FlutterAlibcConstKey_ErrorMessage:@"success"}); +// } failure:^(NSError *error) { +// NSLog(@"Init failed: %@", error.description); +// result(@{FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code],FlutterAlibcConstKey_ErrorMessage:error.description}); +// }]; - [[AlibcTradeSDK sharedInstance] asyncInitWithSuccess:^{ - // 告诉flutter,初始化完成 - result(@{FlutterAlibcConstKey_ErrorCode:@"0",FlutterAlibcConstKey_ErrorMessage:@"success"}); - } failure:^(NSError *error) { - NSLog(@"Init failed: %@", error.description); - result(@{FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code],FlutterAlibcConstKey_ErrorMessage:error.description}); + __weak typeof(self) weakSelf = self; +// // 打开日志开关 + [[AlibcTradeUltimateSDK sharedInstance] setDebugLogOpen:YES]; + [[AlibcTradeUltimateSDK sharedInstance] asyncInitWithSuccess:^{ + NSLog(@"百川初始化成功"); + __strong typeof(self) self = weakSelf; + + [[AlibcTradeUltimateSDK sharedInstance] setDebugLogOpen:YES]; + [[AlibcTradeMiniAppURLRouter sharedInstance] addMiniAppRouterListener:self]; + [WMLHandlerFactory registerHandler:self withProtocol:@protocol(WMLImageLoaderProtocol)]; + [WMLHandlerFactory registerHandler:[FNALITradeZipArchiver new] withProtocol:@protocol(TRVZipArchiveProtocol)]; + + #ifdef DEBUG + //必须在百川初始化成功之后调用,开启自检工具的悬浮入口 + [[AlibcTradeUltimateSDK sharedInstance] enableAutoShowDebug:YES]; + [[AlibcTradeUltimateSDK sharedInstance] setDebugLogOpen:YES]; + #endif + + } failure:^(NSError * _Nonnull error) { + NSLog(@"百川初始化失败"); }]; + + } #pragma mark --淘宝登录 - (void)loginTaoBao:(FlutterMethodCall *)call result:(FlutterResult)result{ - if(![[ALBBCompatibleSession sharedInstance] isLogin]) { - UIViewController *rootViewController = - [UIApplication sharedApplication].delegate.window.rootViewController; - [[ALBBSDK sharedInstance] setH5Only:NO]; - [[ALBBSDK sharedInstance] auth:rootViewController successCallback:^{ - ALBBUser *userInfo =[[ALBBCompatibleSession sharedInstance] getUser]; - // 登录成功 - result(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"success", - FlutterAlibcConstKey_Data:@{ - // 昵称 - @"nick":userInfo.nick, - // 头像地址 - @"avatarUrl":userInfo.avatarUrl, - @"openId":userInfo.openId, - @"openSid":userInfo.openSid, - @"topAccessToken":userInfo.topAccessToken, - @"topAuthCode":userInfo.topAuthCode, - } - }); - } failureCallback:^(NSError *error) { - // 登录失败 - result(@{ - FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], - FlutterAlibcConstKey_ErrorMessage:error.localizedDescription, - FlutterAlibcConstKey_Data:@{} - }); - }]; - - } else { - ALBBUser *userInfo =[[ALBBCompatibleSession sharedInstance] getUser]; - // 登录成功 - result(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"success", - FlutterAlibcConstKey_Data:@{ - // 昵称 - @"nick":userInfo.nick, - // 头像地址 - @"avatarUrl":userInfo.avatarUrl, - @"openId":userInfo.openId, - @"openSid":userInfo.openSid, - @"topAccessToken":userInfo.topAccessToken, - @"topAuthCode":userInfo.topAuthCode, - } - }); - } +// if(![[ALBBCompatibleSession sharedInstance] isLogin]) { +// UIViewController *rootViewController = +// [UIApplication sharedApplication].delegate.window.rootViewController; +// [[ALBBSDK sharedInstance] setH5Only:NO]; +// [[ALBBSDK sharedInstance] auth:rootViewController successCallback:^{ +// ALBBUser *userInfo =[[ALBBCompatibleSession sharedInstance] getUser]; +// // 登录成功 +// result(@{ +// FlutterAlibcConstKey_ErrorCode:@"0", +// FlutterAlibcConstKey_ErrorMessage:@"success", +// FlutterAlibcConstKey_Data:@{ +// // 昵称 +// @"nick":userInfo.nick, +// // 头像地址 +// @"avatarUrl":userInfo.avatarUrl, +// @"openId":userInfo.openId, +// @"openSid":userInfo.openSid, +// @"topAccessToken":userInfo.topAccessToken, +// @"topAuthCode":userInfo.topAuthCode, +// } +// }); +// } failureCallback:^(NSError *error) { +// // 登录失败 +// result(@{ +// FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], +// FlutterAlibcConstKey_ErrorMessage:error.localizedDescription, +// FlutterAlibcConstKey_Data:@{} +// }); +// }]; +// +// } else { +// ALBBUser *userInfo =[[ALBBCompatibleSession sharedInstance] getUser]; +// // 登录成功 +// result(@{ +// FlutterAlibcConstKey_ErrorCode:@"0", +// FlutterAlibcConstKey_ErrorMessage:@"success", +// FlutterAlibcConstKey_Data:@{ +// // 昵称 +// @"nick":userInfo.nick, +// // 头像地址 +// @"avatarUrl":userInfo.avatarUrl, +// @"openId":userInfo.openId, +// @"openSid":userInfo.openSid, +// @"topAccessToken":userInfo.topAccessToken, +// @"topAuthCode":userInfo.topAuthCode, +// } +// }); +// } + + + NSLog(@"授权登录信息==%@",call.arguments); + if (![[[AlibcTradeUltimateSDK sharedInstance] loginService] isLogin]) { + UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; + [[[AlibcTradeUltimateSDK sharedInstance] loginService] setH5Only:NO]; + [[[AlibcTradeUltimateSDK sharedInstance] loginService] auth:rootViewController success:^(AlibcUser *user) { + NSLog(@"登录成功"); + result(@{FlutterAlibcConstKey_ErrorCode:@"0", + FlutterAlibcConstKey_ErrorMessage:@"success", + FlutterAlibcConstKey_Data:@{ + // 昵称 + @"nick":user.nick, + // 头像地址 + @"avatarUrl":user.avatarUrl, + @"openId":user.openId, + @"openSid":user.openSid, + @"topAccessToken":@"", + @"topAuthCode":@"", + } + }); + //无 topAccessToken topAuthCode + } failure:^(NSError *error) { + NSLog(@"登录失败"); + result(@{ + FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], + FlutterAlibcConstKey_ErrorMessage:error.localizedDescription, + FlutterAlibcConstKey_Data:@{} + }); + }]; + } else { + AlibcUser *user = [[[AlibcTradeUltimateSDK sharedInstance] loginService] getUser]; + NSLog(@"已登录"); + result(@{ + FlutterAlibcConstKey_ErrorCode:@"0", + FlutterAlibcConstKey_ErrorMessage:@"success", + FlutterAlibcConstKey_Data:@{ + @"nick":user.nick, + @"avatarUrl":user.avatarUrl, + @"openId":user.openId, + @"openSid":user.openSid, + @"topAccessToken":@"", + @"topAuthCode":@"", + } + }); + } } // //else if([@"useAlipayNative" isEqualToString:call.method]){ @@ -110,189 +218,239 @@ FlutterMethodChannel *_flutterAlibcChannel = nil; #pragma mark --淘客登录 -(void)taoKeLogin:(FlutterMethodCall *)call result:(FlutterResult)result{ // 需要获取的数据 - NSNumber *type1 = call.arguments[@"openType"]; - AlibcOpenType openType = [self openType:[type1 intValue]]; - BOOL isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] boolValue]; - // 不用push了,没有nav,默认都present - // BOOL isNeedPush = [call.arguments[@"isNeedPush"] boolValue]; - BOOL isNeedPush = YES; - NSNumber *failMode = call.arguments[@"nativeFailMode"]; - AlibcNativeFailMode nativeFailMode = [self NativeFailMode:[failMode intValue]]; - NSNumber *schemeType = call.arguments[@"schemeType"]; - NSString *linkKey = [self schemeType:[schemeType intValue]]; - NSString *url = call.arguments[@"url"]; - AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; - NSDictionary *trackParam = call.arguments[@"trackParam"]; - NSString *backUrl = [FlutterAlibcTools changeType:call.arguments[@"backUrl"]]; - // NSString *backUrl = [FlutterAlibcTools nullToNil:call.arguments[@"backUrl"]]; +// NSNumber *type1 = call.arguments[@"openType"]; +// AlibcOpenType openType = [self openType:[type1 intValue]]; +// BOOL isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] boolValue]; +// // 不用push了,没有nav,默认都present +// // BOOL isNeedPush = [call.arguments[@"isNeedPush"] boolValue]; +// BOOL isNeedPush = YES; +// NSNumber *failMode = call.arguments[@"nativeFailMode"]; +// AlibcNativeFailMode nativeFailMode = [self NativeFailMode:[failMode intValue]]; +// NSNumber *schemeType = call.arguments[@"schemeType"]; +// NSString *linkKey = [self schemeType:[schemeType intValue]]; +// NSString *url = call.arguments[@"url"]; +// AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; +// NSDictionary *trackParam = call.arguments[@"trackParam"]; +// NSString *backUrl = [FlutterAlibcTools changeType:call.arguments[@"backUrl"]]; +// // NSString *backUrl = [FlutterAlibcTools nullToNil:call.arguments[@"backUrl"]]; +// +// UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; +// +// +// AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; +// showParam.openType = openType; +// showParam.isNeedCustomNativeFailMode = isNeedCustomNativeFailMode; +// showParam.isNeedPush=isNeedPush; +// showParam.nativeFailMode=nativeFailMode; +// showParam.linkKey=linkKey; +// showParam.backUrl= backUrl; +// +// ALiTradeWebViewController* webviewVC = [[ALiTradeWebViewController alloc] init]; +// +// NSInteger res = [[AlibcTradeSDK sharedInstance].tradeService +// openByUrl:url +// identity:@"trade" +// webView:webviewVC.webView +// parentController:rootViewController +// showParams:showParam +// taoKeParams:taokeParam +// trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable alibcTradeResult) { +// // // 交易成功,判断是付款成功还是加入购物车 +// // if(alibcTradeResult.result == AlibcTradeResultTypePaySuccess){ +// // // 付款成功 +// // result(@{ +// // FlutterAlibcConstKey_ErrorCode:@"0", +// // FlutterAlibcConstKey_ErrorMessage:@"付款成功", +// // FlutterAlibcConstKey_Data:@{ +// // @"type":@0, +// // @"paySuccessOrders":[alibcTradeResult payResult].paySuccessOrders, +// // @"payFailedOrders":[alibcTradeResult payResult].payFailedOrders, +// // } +// // }); +// // }else if(alibcTradeResult.result== AlibcTradeResultTypeAddCard){ +// // // 加入购物车 +// // result(@{ +// // FlutterAlibcConstKey_ErrorCode:@"0", +// // FlutterAlibcConstKey_ErrorMessage:@"加入购物车成功", +// // FlutterAlibcConstKey_Data:@{ +// // @"type":@1, +// // } +// // }); +// // } +// } tradeProcessFailedCallback:^(NSError * _Nullable error) { +// // result(@{ +// // FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], +// // FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], +// // }); +// }]; +// +// if (res == 1) { +// // 新建一个view +// FlutterWxViewCtrlViewController *WxVC = [[FlutterWxViewCtrlViewController alloc] init]; +// WxVC.vc = webviewVC; +// WxVC.accessBlock = ^(NSString * accessToken){ +// NSLog(@"accessToken = %@",accessToken); +// if (accessToken) { +// result(@{ +// @"accessToken":accessToken +// }); +// }else{ +// result(@{ +// @"accessToken":@"" +// }); +// } +// +// }; +// UINavigationController *root = [[UINavigationController alloc] initWithRootViewController:WxVC]; +// [rootViewController presentViewController:root animated:NO completion:^{ +// +// }]; +// } + + NSLog(@"淘客登录信息==%@",call.arguments); - UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; + + UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; - AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; - showParam.openType = openType; - showParam.isNeedCustomNativeFailMode = isNeedCustomNativeFailMode; - showParam.isNeedPush=isNeedPush; - showParam.nativeFailMode=nativeFailMode; - showParam.linkKey=linkKey; - showParam.backUrl= backUrl; +// [[AlibcTradeUltimateSDK sharedInstance] showLocalDebugTool:rootViewController]; - ALiTradeWebViewController* webviewVC = [[ALiTradeWebViewController alloc] init]; - NSInteger res = [[AlibcTradeSDK sharedInstance].tradeService - openByUrl:url - identity:@"trade" - webView:webviewVC.webView - parentController:rootViewController - showParams:showParam - taoKeParams:taokeParam - trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable alibcTradeResult) { - // // 交易成功,判断是付款成功还是加入购物车 - // if(alibcTradeResult.result == AlibcTradeResultTypePaySuccess){ - // // 付款成功 - // result(@{ - // FlutterAlibcConstKey_ErrorCode:@"0", - // FlutterAlibcConstKey_ErrorMessage:@"付款成功", - // FlutterAlibcConstKey_Data:@{ - // @"type":@0, - // @"paySuccessOrders":[alibcTradeResult payResult].paySuccessOrders, - // @"payFailedOrders":[alibcTradeResult payResult].payFailedOrders, - // } - // }); - // }else if(alibcTradeResult.result== AlibcTradeResultTypeAddCard){ - // // 加入购物车 - // result(@{ - // FlutterAlibcConstKey_ErrorCode:@"0", - // FlutterAlibcConstKey_ErrorMessage:@"加入购物车成功", - // FlutterAlibcConstKey_Data:@{ - // @"type":@1, - // } - // }); - // } - } tradeProcessFailedCallback:^(NSError * _Nullable error) { - // result(@{ - // FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], - // FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], - // }); - }]; + + + + NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; + NSString *app_NameXT = [infoDictionary objectForKey:@"CFBundleName"]; + + NSString *appLogo=@"app_icon"; +// [[AlibcTradeUltimateSDK sharedInstance].tradeService authorize4AppName:app_NameXT appLogo:[UIImage imageNamed:appLogo] currentVC:rootViewController callBack:^(NSError *error, NSString *accessToken, NSString *expire) { +// NSLog(@"淘客登录accessToken==%@",accessToken); +// NSLog(@"淘客登录expire==%@",expire); +// NSLog(@"淘客登录error==%@",error); +// NSLog(@"accessToken = %@",accessToken); +// if (accessToken) { +// result(@{ +// @"accessToken":accessToken +// }); +// }else{ +// result(@{ +// @"accessToken":@"" +// }); +// } +// }]; + //32271226 + NSString *AppKey=call.arguments[@"alibcAppKey"]; + NSString *appName = call.arguments[@"name"]; - if (res == 1) { - // 新建一个view - FlutterWxViewCtrlViewController *WxVC = [[FlutterWxViewCtrlViewController alloc] init]; - WxVC.vc = webviewVC; - WxVC.accessBlock = ^(NSString * accessToken){ - NSLog(@"accessToken = %@",accessToken); - if (accessToken) { - result(@{ + [[AlibcTradeUltimateSDK sharedInstance].tradeService authorize4AppKey:AppKey appName:app_NameXT appLogo:[UIImage imageNamed:appLogo] currentVC:rootViewController callBack:^(NSError *error, NSString *accessToken, NSString *expire) { + NSLog(@"淘客登录accessToken==%@",accessToken); + NSLog(@"淘客登录expire==%@",expire); + NSLog(@"淘客登录error==%@",error); + NSLog(@"accessToken = %@",accessToken); + if (accessToken) { + result(@{ @"accessToken":accessToken - }); - }else{ - result(@{ + }); + }else{ + result(@{ @"accessToken":@"" - }); - } - - }; - UINavigationController *root = [[UINavigationController alloc] initWithRootViewController:WxVC]; - [rootViewController presentViewController:root animated:NO completion:^{ - - }]; - } + }); + } + }]; + } #pragma mark --退出登录 - (void)loginOut{ - [[ALBBSDK sharedInstance] logout]; + //[[ALBBSDK sharedInstance] logout]; + [[[AlibcTradeUltimateSDK sharedInstance] loginService] logout]; } #pragma mark --通过url打开,包括h5,唤起手淘等 - (void)openByUrl:(FlutterMethodCall *)call result:(FlutterResult)result{ - // 需要获取的数据 - NSNumber *type1 = call.arguments[@"openType"]; - AlibcOpenType openType = [self openType:[type1 intValue]]; - BOOL isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] boolValue]; - // 不用push了,没有nav,默认都present - // BOOL isNeedPush = [call.arguments[@"isNeedPush"] boolValue]; - BOOL isNeedPush = NO; - NSNumber *failMode = call.arguments[@"nativeFailMode"]; - AlibcNativeFailMode nativeFailMode = [self NativeFailMode:[failMode intValue]]; + NSLog(@"h5MSG==%@",call.arguments); NSNumber *schemeType = call.arguments[@"schemeType"]; NSString *linkKey = [self schemeType:[schemeType intValue]]; NSString *url = call.arguments[@"url"]; - AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; - NSDictionary *trackParam = call.arguments[@"trackParam"]; - NSString *backUrl = [FlutterAlibcTools changeType:call.arguments[@"backUrl"]]; - // NSString *backUrl = [FlutterAlibcTools nullToNil:call.arguments[@"backUrl"]]; - + NSInteger isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] integerValue]; + //ALiTradeWebViewController* webviewVC = [[ALiTradeWebViewController alloc] init]; + + AlibcTradeShowParams *showParams = [[AlibcTradeShowParams alloc] init]; + showParams.failMode = isNeedCustomNativeFailMode;//isNeedCustomNativeFailMode;//自定义唤端失败策略 0 打开下载页面 1自定义降级页打开 2不处理 + //AlibcOpenAliAppDownloadPage = 0, + //AlibcOpenInAppByCustomerDegradeUrl = 1, + //AlibcOpenDoNothing = 2 + showParams.isNeedOpenByAliApp = YES; + showParams.isPushBCWebView = YES; + showParams.linkKey = linkKey; + //showParams.degradeUrl = url;//媒体自定义降级url + UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; - - - AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; - showParam.openType = openType; - showParam.isNeedCustomNativeFailMode = isNeedCustomNativeFailMode; - showParam.isNeedPush=isNeedPush; - showParam.nativeFailMode=nativeFailMode; - showParam.linkKey=linkKey; - showParam.backUrl= backUrl; - [[AlibcTradeSDK sharedInstance].tradeService openByUrl:url identity:@"trade" webView:nil parentController:rootViewController showParams:showParam taoKeParams:taokeParam trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable alibcTradeResult) { - // 交易成功,判断是付款成功还是加入购物车 - if(alibcTradeResult.result == AlibcTradeResultTypePaySuccess){ - // 付款成功 - result(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"付款成功", - FlutterAlibcConstKey_Data:@{ - @"type":@0, - @"paySuccessOrders":[alibcTradeResult payResult].paySuccessOrders, - @"payFailedOrders":[alibcTradeResult payResult].payFailedOrders, - } - }); - }else if(alibcTradeResult.result== AlibcTradeResultTypeAddCard){ - // 加入购物车 + //AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; + AlibcTradeTaokeParams *taokeParam = [AlibcTradeTaokeParams new]; + taokeParam.pid = [call.arguments valueForKey:@"pid"]; + taokeParam.unionId = [call.arguments valueForKey:@"unionId"]; + taokeParam.subPid = [call.arguments valueForKey:@"subPid"]; + taokeParam.relationId = [call.arguments valueForKey:@"relationId"]; + taokeParam.materialSourceUrl = [call.arguments valueForKey:@"materialSourceUrl"]; + taokeParam.extParams = [call.arguments valueForKey:@"extParams"]; + NSDictionary *trackParam = [call.arguments valueForKey:@"trackParam"]; + + [[AlibcTradeUltimateSDK sharedInstance].tradeService openTradeUrl:url + parentController:rootViewController + showParams:showParams + taoKeParams:taokeParam + trackParam:trackParam + openUrlCallBack:^(NSError *error, NSDictionary *dict) { + + NSLog(@"error==%@",error); + NSLog(@"dict==%@",dict); + if(error){ result(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"加入购物车成功", - FlutterAlibcConstKey_Data:@{ - @"type":@1, - } - }); + FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], + FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], + + }); + }else{ + } - } tradeProcessFailedCallback:^(NSError * _Nullable error) { - result(@{ - FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], - FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], - // android没有,直接去掉 - // FlutterAlibcConstKey_Data:@{ - // @"orderIdList":[[error userInfo] objectForKey:@"orderIdList"], - // } - }); + }]; + + + } #pragma mark --打开商品详情 - (void)openItemDetail:(FlutterMethodCall *)call result:(FlutterResult)result{ NSString *itemID = call.arguments[@"itemID"]; - id page = [AlibcTradePageFactory itemDetailPage:itemID]; - [self OpenPageByNewWay:page BizCode:@"detail" Call:call callback:result]; + NSLog(@"打开商品详情==%@",call.arguments); + //id page = [AlibcTradePageFactory itemDetailPage:itemID]; + //[self OpenPageByNewWay:page BizCode:@"detail" Call:call callback:result]; + [self OpenPageByNewWayNorpageBizCode:@"detail" Call:call callback:result]; } #pragma mark --打开店铺 - (void)openShop:(FlutterMethodCall *)call result:(FlutterResult)result{ NSString *shopId = call.arguments[@"shopId"]; - id page = [AlibcTradePageFactory shopPage:shopId]; - [self OpenPageByNewWay:page BizCode:@"shop" Call:call callback:result]; + NSLog(@"打开店铺==%@",call.arguments); + //id page = [AlibcTradePageFactory shopPage:shopId]; + //[self OpenPageByNewWay:page BizCode:@"shop" Call:call callback:result]; + [self OpenPageByNewWayNorpageBizCode:@"shop" Call:call callback:result]; } #pragma mark --打开我的购物车 - (void)openCart:(FlutterMethodCall *)call result:(FlutterResult)result{ - id page = [AlibcTradePageFactory myCartsPage]; - [self OpenPageByNewWay:page BizCode:@"cart" Call:call callback:result]; + NSLog(@"打开我的购物车==%@",call.arguments); + //id page = [AlibcTradePageFactory myCartsPage]; + //[self OpenPageByNewWay:page BizCode:@"cart" Call:call callback:result]; + [self OpenPageByNewWayNorpageBizCode:@"cart" Call:call callback:result]; } - +// #pragma mark --淘客打点 - (void)syncForTaoke:(FlutterMethodCall *)call result:(FlutterResult)result{ BOOL isSync = [call.arguments[@"isSync"] boolValue]; - [[AlibcTradeSDK sharedInstance] setIsSyncForTaoke:isSync]; + //[[AlibcTradeSDK sharedInstance] setIsSyncForTaoke:isSync]; } #pragma mark --设置是否需要 Native AliPay 接口 - (void)useAlipayNative:(FlutterMethodCall *)call result:(FlutterResult)result{ BOOL isNeed = [call.arguments[@"isNeed"] boolValue]; - [[AlibcTradeSDK sharedInstance] setShouldUseAlizfNative:isNeed]; + //[[AlibcTradeSDK sharedInstance] setShouldUseAlizfNative:isNeed]; } //获取udid @@ -304,173 +462,248 @@ FlutterMethodChannel *_flutterAlibcChannel = nil; #pragma mark - 不对flutter暴露 #pragma mark --打开page -- (void)OpenPageByNewWay:(id)page BizCode:(NSString *)bizCode Call:(FlutterMethodCall *)call callback:(FlutterResult)callback{ - AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; - NSNumber *type1 = call.arguments[@"openType"]; - AlibcOpenType openType = [self openType:[type1 intValue]]; - BOOL isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] boolValue]; - // 不用push了,没有nav,默认都present - // BOOL isNeedPush = [call.arguments[@"isNeedPush"] boolValue]; - BOOL isNeedPush = NO; - // 不用绑定了,默认为没有,有的话flutter太难搞了 - // BOOL isBindWebview = [call.arguments[@"isBindWebview"] boolValue]; - NSNumber *failMode = call.arguments[@"nativeFailMode"]; - AlibcNativeFailMode nativeFailMode = [self NativeFailMode:[failMode intValue]]; - NSNumber *schemeType = call.arguments[@"schemeType"]; - NSString *linkKey = [self schemeType:[schemeType intValue]]; - AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; - NSDictionary *trackParam = [FlutterAlibcTools nullToNil:call.arguments[@"trackParam"]]; - - NSString *backUrl = [FlutterAlibcTools changeType:call.arguments[@"backUrl"]]; - // 判断 - +//- (void)OpenPageByNewWay:(id)page BizCode:(NSString *)bizCode Call:(FlutterMethodCall *)call callback:(FlutterResult)callback{ +// AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; +// NSNumber *type1 = call.arguments[@"openType"]; +// AlibcOpenType openType = [self openType:[type1 intValue]]; +// BOOL isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] boolValue]; +// // 不用push了,没有nav,默认都present +// // BOOL isNeedPush = [call.arguments[@"isNeedPush"] boolValue]; +// BOOL isNeedPush = NO; +// // 不用绑定了,默认为没有,有的话flutter太难搞了 +// // BOOL isBindWebview = [call.arguments[@"isBindWebview"] boolValue]; +// NSNumber *failMode = call.arguments[@"nativeFailMode"]; +// AlibcNativeFailMode nativeFailMode = [self NativeFailMode:[failMode intValue]]; +// NSNumber *schemeType = call.arguments[@"schemeType"]; +// NSString *linkKey = [self schemeType:[schemeType intValue]]; +// AlibcTradeTaokeParams *taokeParam = [self getTaokeParams:call]; +// NSDictionary *trackParam = [FlutterAlibcTools nullToNil:call.arguments[@"trackParam"]]; +// +// NSString *backUrl = [FlutterAlibcTools changeType:call.arguments[@"backUrl"]]; +// // 判断 +// +// UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; +// +// showParam.openType = openType; +// showParam.isNeedPush = isNeedPush; +// showParam.nativeFailMode = nativeFailMode; +// showParam.isNeedCustomNativeFailMode = isNeedCustomNativeFailMode; +// showParam.linkKey = linkKey; +// showParam.backUrl = backUrl; +// +// +// // if (isBindWebview) { +// // ALiTradeWebViewController *viewCtrl = [[ALiTradeWebViewController alloc]init]; +// // NSInteger res = [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:view.webView parentController:view showParams:showParam taoKeParams:[self taokeParam] trackParam:[self customParam] tradeProcessSuccessCallback:self.onTradeSuccess tradeProcessFaelseiledCallback:self.onTradeFailure]; +// // }else{ +// // if (isNeedPush) { +// // [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:nil parentController:rootViewController showParams:showParam taoKeParams:taokeParam trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { +// //// 交易成功,判断是付款成功还是加入购物车 +// // if(result.result == AlibcTradeResultTypePaySuccess){ +// //// 付款成功 +// // callback(@{ +// // FlutterAlibcConstKey_ErrorCode:@"0", +// // FlutterAlibcConstKey_ErrorMessage:@"付款成功", +// // FlutterAlibcConstKey_Data:@{ +// // @"type":@0, +// // @"paySuccessOrders":[result payResult].paySuccessOrders, +// // @"payFailedOrders":[result payResult].payFailedOrders, +// // } +// // }); +// // }else if(result.result== AlibcTradeResultTypeAddCard){ +// //// 加入购物车 +// // callback(@{ +// // FlutterAlibcConstKey_ErrorCode:@"0", +// // FlutterAlibcConstKey_ErrorMessage:@"付款成功", +// // FlutterAlibcConstKey_Data:@{ +// // @"type":@1, +// // } +// // }); +// // } +// // } tradeProcessFailedCallback:^(NSError * _Nullable error) { +// //// 退出交易流程 +// // callback(@{ +// // FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], +// // FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], +// // FlutterAlibcConstKey_Data:@{ +// // @"orderIdList":[[error userInfo] objectForKey:@"orderIdList"], +// // } +// // }); +// // }]; +// // }else{ +// [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:nil parentController:rootViewController showParams:showParam taoKeParams:taokeParam trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { +// // 交易成功,判断是付款成功还是加入购物车 +// if(result.result == AlibcTradeResultTypePaySuccess){ +// // 付款成功 +// callback(@{ +// FlutterAlibcConstKey_ErrorCode:@"0", +// FlutterAlibcConstKey_ErrorMessage:@"付款成功", +// FlutterAlibcConstKey_Data:@{ +// @"type":@0, +// @"paySuccessOrders":[result payResult].paySuccessOrders, +// @"payFailedOrders":[result payResult].payFailedOrders, +// } +// }); +// }else if(result.result== AlibcTradeResultTypeAddCard){ +// // 加入购物车 +// callback(@{ +// FlutterAlibcConstKey_ErrorCode:@"0", +// FlutterAlibcConstKey_ErrorMessage:@"加入购物车成功", +// FlutterAlibcConstKey_Data:@{ +// @"type":@1, +// } +// }); +// } +// } tradeProcessFailedCallback:^(NSError * _Nullable error) { +// // 退出交易流程 +// callback(@{ +// FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], +// FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], +// // Android没有,所以去掉 +// // FlutterAlibcConstKey_Data:@{ +// // @"orderIdList":[[error userInfo] objectForKey:@"orderIdList"], +// // } +// }); +// }]; +// // } +// //} +//} +#pragma mark - 不对flutter暴露 旗舰版 +#pragma mark --打开page 无 AlibcTradePage page +- (void)OpenPageByNewWayNorpageBizCode:(NSString *)bizCode Call:(FlutterMethodCall *)call callback:(FlutterResult)callback{ + + + + AlibcTradeTaokeParams *taokeParam = [AlibcTradeTaokeParams new]; + NSDictionary *tParams = [call.arguments valueForKey:@"taokeParams"]; + if (tParams) { + NSString *pid = [tParams valueForKey:@"pid"]; + NSString *unionId = [tParams valueForKey:@"unionId"]; + NSString *subPid = [tParams valueForKey:@"subPid"]; + NSString *materialSourceUrl = [tParams valueForKey:@"materialSourceUrl"]; + NSString *relationId = [tParams valueForKey:@"relationId"]; + NSDictionary *extParams = [tParams valueForKey:@"extParams"]; + + taokeParam.pid = pid; + taokeParam.unionId = unionId; + taokeParam.subPid = subPid; + taokeParam.materialSourceUrl = materialSourceUrl; + taokeParam.relationId = relationId; + taokeParam.extParams = extParams; + } UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController; - showParam.openType = openType; - showParam.isNeedPush = isNeedPush; - showParam.nativeFailMode = nativeFailMode; - showParam.isNeedCustomNativeFailMode = isNeedCustomNativeFailMode; - showParam.linkKey = linkKey; - showParam.backUrl = backUrl; + NSNumber *schemeType = call.arguments[@"schemeType"]; + NSString *linkKey = [self schemeType:[schemeType intValue]]; + NSString *url = call.arguments[@"url"]; + NSInteger isNeedCustomNativeFailMode = [call.arguments[@"isNeedCustomNativeFailMode"] integerValue]; + AlibcTradeUrlParams *urlParams = [AlibcTradeUrlParams new]; + urlParams.id = [call.arguments valueForKey:@"id"]; + urlParams.shopId = [call.arguments valueForKey:@"shopId"]; - // if (isBindWebview) { - // ALiTradeWebViewController *viewCtrl = [[ALiTradeWebViewController alloc]init]; - // NSInteger res = [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:view.webView parentController:view showParams:showParam taoKeParams:[self taokeParam] trackParam:[self customParam] tradeProcessSuccessCallback:self.onTradeSuccess tradeProcessFaelseiledCallback:self.onTradeFailure]; - // }else{ - // if (isNeedPush) { - // [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:nil parentController:rootViewController showParams:showParam taoKeParams:taokeParam trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { - //// 交易成功,判断是付款成功还是加入购物车 - // if(result.result == AlibcTradeResultTypePaySuccess){ - //// 付款成功 - // callback(@{ - // FlutterAlibcConstKey_ErrorCode:@"0", - // FlutterAlibcConstKey_ErrorMessage:@"付款成功", - // FlutterAlibcConstKey_Data:@{ - // @"type":@0, - // @"paySuccessOrders":[result payResult].paySuccessOrders, - // @"payFailedOrders":[result payResult].payFailedOrders, - // } - // }); - // }else if(result.result== AlibcTradeResultTypeAddCard){ - //// 加入购物车 - // callback(@{ - // FlutterAlibcConstKey_ErrorCode:@"0", - // FlutterAlibcConstKey_ErrorMessage:@"付款成功", - // FlutterAlibcConstKey_Data:@{ - // @"type":@1, - // } - // }); - // } - // } tradeProcessFailedCallback:^(NSError * _Nullable error) { - //// 退出交易流程 - // callback(@{ - // FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], - // FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], - // FlutterAlibcConstKey_Data:@{ - // @"orderIdList":[[error userInfo] objectForKey:@"orderIdList"], - // } - // }); - // }]; - // }else{ - [[AlibcTradeSDK sharedInstance].tradeService openByBizCode:bizCode page:page webView:nil parentController:rootViewController showParams:showParam taoKeParams:taokeParam trackParam:trackParam tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { - // 交易成功,判断是付款成功还是加入购物车 - if(result.result == AlibcTradeResultTypePaySuccess){ - // 付款成功 - callback(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"付款成功", - FlutterAlibcConstKey_Data:@{ - @"type":@0, - @"paySuccessOrders":[result payResult].paySuccessOrders, - @"payFailedOrders":[result payResult].payFailedOrders, - } - }); - }else if(result.result== AlibcTradeResultTypeAddCard){ - // 加入购物车 - callback(@{ - FlutterAlibcConstKey_ErrorCode:@"0", - FlutterAlibcConstKey_ErrorMessage:@"加入购物车成功", - FlutterAlibcConstKey_Data:@{ - @"type":@1, - } - }); - } - } tradeProcessFailedCallback:^(NSError * _Nullable error) { - // 退出交易流程 - callback(@{ - FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], - FlutterAlibcConstKey_ErrorMessage:[error localizedDescription], - // Android没有,所以去掉 - // FlutterAlibcConstKey_Data:@{ - // @"orderIdList":[[error userInfo] objectForKey:@"orderIdList"], - // } - }); - }]; - // } - //} -} -#pragma mark --设置淘客参数 -- (AlibcTradeTaokeParams *)getTaokeParams:(FlutterMethodCall *)call{ - AlibcTradeTaokeParams *taoke = [[AlibcTradeTaokeParams alloc] init]; - if (call.arguments[@"taoKeParams"] == nil || [call.arguments[@"taoKeParams"] isKindOfClass:[NSNull class]]) { - return nil; + NSDictionary *bizExtMap = [call.arguments valueForKey:@"bizExtMap"]; + if (bizExtMap && [bizExtMap isKindOfClass:[NSDictionary class]]) { + urlParams.bizExtMap = bizExtMap; } - NSDictionary *taoKeParams = call.arguments[@"taoKeParams"]; - taoke.adzoneId = (taoKeParams[@"adzoneId"] == (id) [NSNull null]) ? nil : taoKeParams[@"adzoneId"]; - taoke.pid = (taoKeParams[@"pid"] == (id) [NSNull null]) ? nil : taoKeParams[@"pid"]; - //有adzoneId则pid失效 - taoke.unionId = (taoKeParams[@"unionId"] == (id) [NSNull null]) ? nil : taoKeParams[@"unionId"]; - taoke.subPid = (taoKeParams[@"subPid"] == (id) [NSNull null]) ? nil : taoKeParams[@"subPid"]; - // 必须是dic - taoke.extParams = (taoKeParams[@"extParams"] == (id) [NSNull null]) ? nil : taoKeParams[@"extParams"]; - - // 判断这玩意是什么格式,dic就直接赋值,jsoÏn需要转dic - // if ([extParams isKindOfClass:[NSDictionary class]]) { - // taoke.extParams = extParams; - // }else{ - // 解析字符串 - // taoke.extParams = [FlutterAlibcTools dictionaryWithJsonString:extParams]; - // } + NSDictionary *trackParam = [FlutterAlibcTools nullToNil:call.arguments[@"trackParam"]]; - return taoke; + AlibcTradeShowParams *showParams = [[AlibcTradeShowParams alloc] init]; + showParams.failMode = 2;//isNeedCustomNativeFailMode;//自定义唤端失败策略 0 打开下载页面 1自定义降级页打开 2不处理 + showParams.isNeedOpenByAliApp = YES; + showParams.isPushBCWebView = NO; + showParams.linkKey = linkKey; + showParams.degradeUrl = @"";//媒体自定义降级url + [[AlibcTradeUltimateSDK sharedInstance].tradeService + openTradePageByCode:bizCode + parentController:rootViewController + urlParams:urlParams + showParams:showParams + taoKeParams:taokeParam + trackParam:trackParam + openUrlCallBack:^(NSError *_Nonnull error, NSDictionary *dict) { + NSLog(@"类型==%@",bizCode); + + + + if (error) { + NSLog(@"类型error==%@",error); + NSDictionary *errorUserInfo=error.userInfo; + NSString *msgString=[errorUserInfo valueForKey:@"msg"]; + callback(@{ + FlutterAlibcConstKey_ErrorCode:[NSString stringWithFormat: @"%ld", (long)error.code], + FlutterAlibcConstKey_ErrorMessage:msgString, + }); + } else { + + + } + }]; } +#pragma mark --设置淘客参数 +//- (AlibcTradeTaokeParams *)getTaokeParams:(FlutterMethodCall *)call{ +// AlibcTradeTaokeParams *taoke = [[AlibcTradeTaokeParams alloc] init]; +// if (call.arguments[@"taoKeParams"] == nil || [call.arguments[@"taoKeParams"] isKindOfClass:[NSNull class]]) { +// return nil; +// } +// NSDictionary *taoKeParams = call.arguments[@"taoKeParams"]; +// //taoke.adzoneId = (taoKeParams[@"adzoneId"] == (id) [NSNull null]) ? nil : taoKeParams[@"adzoneId"]; +// taoke.pid = (taoKeParams[@"pid"] == (id) [NSNull null]) ? nil : taoKeParams[@"pid"]; +// //有adzoneId则pid失效 +// taoke.unionId = (taoKeParams[@"unionId"] == (id) [NSNull null]) ? nil : taoKeParams[@"unionId"]; +// taoke.subPid = (taoKeParams[@"subPid"] == (id) [NSNull null]) ? nil : taoKeParams[@"subPid"]; +// // 必须是dic +// taoke.extParams = (taoKeParams[@"extParams"] == (id) [NSNull null]) ? nil : taoKeParams[@"extParams"]; +// +// //新加 relationId materialSourceUrl 去掉 adzoneId +// taoke.relationId = (taoKeParams[@"relationId"] == (id) [NSNull null]) ? nil : taoKeParams[@"relationId"]; +// taoke.materialSourceUrl = (taoKeParams[@"materialSourceUrl"] == (id) [NSNull null]) ? nil : taoKeParams[@"materialSourceUrl"]; +// // 判断这玩意是什么格式,dic就直接赋值,jsoÏn需要转dic +// // if ([extParams isKindOfClass:[NSDictionary class]]) { +// // taoke.extParams = extParams; +// // }else{ +// // 解析字符串 +// // taoke.extParams = [FlutterAlibcTools dictionaryWithJsonString:extParams]; +// // } +// +// return taoke; +//} #pragma mark - 转换 #pragma mark --唤起端失败的策略转换 --(AlibcNativeFailMode )NativeFailMode:(int)mode{ - AlibcNativeFailMode openType=AlibcNativeFailModeJumpH5; - switch (mode) { - case 0: - openType=AlibcNativeFailModeJumpH5; - break; - case 1: - openType=AlibcNativeFailModeJumpDownloadPage; - break; - case 2: - openType=AlibcNativeFailModeNone; - break; - default: - break; - } - return openType; - -} +//-(AlibcNativeFailMode )NativeFailMode:(int)mode{ +// AlibcNativeFailMode openType=AlibcNativeFailModeJumpH5; +// switch (mode) { +// case 0: +// openType=AlibcNativeFailModeJumpH5; +// break; +// case 1: +// openType=AlibcNativeFailModeJumpDownloadPage; +// break; +// case 2: +// openType=AlibcNativeFailModeNone; +// break; +// default: +// break; +// } +// return openType; +// +//} //唤起类型 -- (AlibcOpenType)openType:(int)mode{ - - AlibcOpenType openType=AlibcOpenTypeAuto; - switch (mode) { - case 0: - openType=AlibcOpenTypeAuto; - break; - case 1: - openType=AlibcOpenTypeNative; - break; - default: - break; - } - return openType; -} +//- (AlibcOpenType)openType:(int)mode{ +// +// AlibcOpenType openType=AlibcOpenTypeAuto; +// switch (mode) { +// case 0: +// openType=AlibcOpenTypeAuto; +// break; +// case 1: +// openType=AlibcOpenTypeNative; +// break; +// default: +// break; +// } +// return openType; +//} //打开类型 -(NSString*)schemeType:(int)mode{ diff --git a/ios/Classes/WKWebView/ALiTradeWebViewController.m b/ios/Classes/WKWebView/ALiTradeWebViewController.m index 902ec6c..6dead2a 100644 --- a/ios/Classes/WKWebView/ALiTradeWebViewController.m +++ b/ios/Classes/WKWebView/ALiTradeWebViewController.m @@ -8,7 +8,9 @@ #import #import "ALiTradeWebViewController.h" -#import +//#import + +#import //#import "ALiCartService.h" @@ -21,6 +23,7 @@ { self = [super init]; if (self) { + [WVURLProtocolService setSupportWKURLProtocol:YES]; _webView = [[WKWebView alloc]initWithFrame:self.view.bounds]; _webView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; _webView.scrollView.scrollEnabled = YES; @@ -37,13 +40,13 @@ { [super viewDidLoad]; self.title=@"淘你喜欢"; - + [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault]; } -(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void*)context{ - + NSLog(@"url == %@",_webView.URL.absoluteString); NSString *urlStr = _webView.URL.absoluteString; NSRange range; @@ -52,7 +55,7 @@ NSString *accessString = [urlStr substringFromIndex:range.location]; // 截止到& NSRange range2 = [accessString rangeOfString: @"&"]; - + NSString *access_token_string = [accessString substringWithRange:NSMakeRange(0,range2.location)]; NSArray *array = [access_token_string componentsSeparatedByString:@"="]; NSString *access_token = array[1]; @@ -68,6 +71,7 @@ -(void)dealloc { NSLog(@"dealloc view"); + [WVURLProtocolService setSupportWKURLProtocol:NO]; [_webView removeObserver:self forKeyPath:@"URL"]; _webView = nil; diff --git a/ios/flutter_alibc.podspec b/ios/flutter_alibc.podspec index c3b0e98..6908332 100644 --- a/ios/flutter_alibc.podspec +++ b/ios/flutter_alibc.podspec @@ -15,14 +15,42 @@ Pod::Spec.new do |s| s.source_files = 'Classes/**/*' s.public_header_files = 'Classes/**/*.h' s.dependency 'Flutter' - s.dependency 'AlibcTradeSDK','4.0.1.6' - s.dependency 'AliAuthSDK','1.1.0.41-bc' - s.dependency 'mtopSDK','3.0.0.3-BC' - s.dependency 'securityGuard','5.4.191' - s.dependency 'AliLinkPartnerSDK','4.0.0.24' - s.dependency 'BCUserTrack','5.2.0.18-appkeys' - s.dependency 'UTDID','1.1.0.16' - s.dependency 'WindVane','8.5.0.46-bc11' + # s.dependency 'AlibcTradeSDK','4.0.1.6' + # s.dependency 'AliAuthSDK','1.1.0.41-bc' + # s.dependency 'mtopSDK','3.0.0.3-BC' + # s.dependency 'securityGuard','5.4.191' + # s.dependency 'AliLinkPartnerSDK','4.0.0.24' + # s.dependency 'BCUserTrack','5.2.0.18-appkeys' + # s.dependency 'UTDID','1.1.0.16' + # s.dependency 'WindVane','8.5.0.46-bc11' + + + s.dependency 'mtopSDK', '3.0.0.5' + s.dependency 'securityGuard', '5.4.191' + s.dependency 'BCUserTrack', '7.2.0.7-BC1' + s.dependency 'AliAuthSDK', '1.1.0.42-BC3' + s.dependency 'AliLinkPartnerSDK', '4.0.0.24-wk' + s.dependency 'MunionBcAdSDK', '1.0.5' + + #电商套件依赖 + s.dependency 'WindVane', '8.5.0.46-bc11' + s.dependency 'WindMix', '1.0.0.5' + s.dependency 'Ariver', '1.0.11.2-BC1' + s.dependency 'Triver', '1.0.11.5-BC14' + s.dependency 'Triver/LivePlayer', '1.0.11.5-BC14' + s.dependency 'Windmill', '1.3.7.3-BC2' + s.dependency 'AlibcTradeUltimateSDK', '5.0.0.6' + s.dependency 'AlibcTradeUltimateSDK/MiniApp', '5.0.0.6' + s.dependency 'TBMediaPlayer', '2.0.7.37' + s.dependency 'miniAppMediaSDK', '0.0.1.45-BC2' + s.dependency 'DWInteractiveSDK', '2.0.7.53-BC' + + s.dependency 'SocketRocket' + s.dependency 'ZipArchive' + # s.dependency 'SDWebImage','5.4.1' + s.dependency 'FMDB' + s.dependency 'Reachability' + s.dependency 'Masonry' # s.vendored_frameworks ="AliBaichuan/Frameworks/*.framework" # s.resource = "AliBaichuan/Resources/*.bundle" diff --git a/lib/flutter_alibc.dart b/lib/flutter_alibc.dart index 37f1e4c..9994ab3 100644 --- a/lib/flutter_alibc.dart +++ b/lib/flutter_alibc.dart @@ -111,6 +111,19 @@ class FlutterAlibc { return result; } + /// + /// @description: 渠道授权,获取access_token + /// @param {type} + /// @return: + /// Map + static Future> taoKeLoginNewIOS(String name, String alibcAppKey) async { + Map result = await _channel.invokeMethod("taoKeLogin", { + "name": name, + "alibcAppKey": alibcAppKey, + }); + return result; + } + /// /// @description: 通过url打开,包括h5,唤起手淘等 /// @param