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 0000000..5201ab4 Binary files /dev/null and b/example/ios/icon120.png differ diff --git a/example/ios/yw_1222_baichuan.jpg b/example/ios/yw_1222_baichuan.jpg index ce73d0c..31983d6 100644 Binary files a/example/ios/yw_1222_baichuan.jpg and b/example/ios/yw_1222_baichuan.jpg differ 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