Browse Source

更新微信OpenSDK1.8.7.1

benson 4 years ago
parent
commit
3d614f809f

+ 16 - 1
v5/ios/iOS_Integration_Specification_CH.md

@@ -82,7 +82,7 @@ resultDic,转为 json 字符串,格式如下:
 
 {
   "state": "cancel",
-  "paymentSchema": "YL",
+  "paymentSchema": "UP",
   "orderNum": "604337497032",
   "errorDetail": "user cancel operation"
 }
@@ -124,6 +124,7 @@ resultDic,转为 json 字符串,格式如下:
    <key>LSApplicationQueriesSchemes</key>
    <array>
    <string>weixin</string>
+     <string>weixinULAPI</string>
    </array>
    <key>NSAppTransportSecurity</key>
    <dict>
@@ -132,6 +133,20 @@ resultDic,转为 json 字符串,格式如下:
    </dict>
    ```
 
+
+
+5.在 APPDelegate.m 类中导入头文件: #import "WXApi.h",并添加如下方法
+
+```c
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+  //向微信注册 appid 和 universalLink
+     [WXApi registerApp:@"wx0d48a98252a2fe7a"  universalLink:@"https://testapi.allpayx.com/"];
+    return YES;
+}
+```
+
+
+
 ### 4.2 AP渠道
 
 1.将allpaysdk/AliModule文件夹下的文件添加到项目中

+ 21 - 0
v5/ios/iOS_Integration_Specification_EN.md

@@ -123,6 +123,7 @@ Message description
    <key>LSApplicationQueriesSchemes</key>
    <array>
    <string>weixin</string>
+    <string>weixinULAPI</string>
    </array>
    <key>NSAppTransportSecurity</key>
    <dict>
@@ -131,6 +132,26 @@ Message description
    </dict>
    ```
 
+
+
+5..Import header files in the APPDelegate.m class:  #import "WXApi.h", and add the following method
+
+```c
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+  //向微信注册 appid 和 universalLink
+     [WXApi registerApp:@"wx0d48a98252a2fe7a"  universalLink:@"https://testapi.allpayx.com/"];
+    return YES;
+}
+```
+
+
+
+
+
+
+
+
+
 ### 4.2 AP channel
 
 1.Add the file under the allpaysdk/AliModule folder to the project.

BIN
v5/ios/ios_sdk.zip


+ 44 - 34
v5/ios/ios_sdk/Demo/Demo.xcodeproj/project.pbxproj

@@ -11,9 +11,6 @@
 		81232DC120DCD5C200B78E71 /* libUPModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81232DC020DCD5C200B78E71 /* libUPModule.a */; };
 		81232DC420DCD83500B78E71 /* libAppleModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81232DC320DCD83500B78E71 /* libAppleModule.a */; };
 		81232DC620DCD95400B78E71 /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81232DC520DCD95300B78E71 /* PassKit.framework */; };
-		81232DCB20DCDC5100B78E71 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 81232DC820DCDC5100B78E71 /* AlipaySDK.bundle */; };
-		81232DCC20DCDC5100B78E71 /* libAliModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81232DC920DCDC5100B78E71 /* libAliModule.a */; };
-		81232DCD20DCDC5100B78E71 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81232DCA20DCDC5100B78E71 /* AlipaySDK.framework */; };
 		8139EE981BFEE97F0061D7EA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8139EE971BFEE97F0061D7EA /* main.m */; };
 		8139EE9B1BFEE97F0061D7EA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8139EE9A1BFEE97F0061D7EA /* AppDelegate.m */; };
 		8139EE9E1BFEE97F0061D7EA /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8139EE9D1BFEE97F0061D7EA /* ViewController.m */; };
@@ -30,13 +27,17 @@
 		816ACAD31BFF019300F4EC4F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 816ACAD21BFF019300F4EC4F /* Security.framework */; };
 		816ACAD71BFF024E00F4EC4F /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 816ACAD61BFF024E00F4EC4F /* libsqlite3.tbd */; };
 		816ACAD91BFF025B00F4EC4F /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 816ACAD81BFF025B00F4EC4F /* libc++.tbd */; };
-		817D550C21B7B7AC0065F816 /* libWXModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 817D550B21B7B7AC0065F816 /* libWXModule.a */; };
 		818408831DE7EE2800DB194B /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81B2095A1CE481F6007E3534 /* CoreTelephony.framework */; };
 		8196CBCD1DFE92C3002D7454 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8196CBCC1DFE92C3002D7454 /* CoreMotion.framework */; };
 		8199773F1D34D3C400266819 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8199773E1D34D3C400266819 /* JavaScriptCore.framework */; };
 		81D9AFAB20747216000B51A7 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81425F801C055712007CA494 /* CFNetwork.framework */; };
 		81D9AFAC20747223000B51A7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 816ACACE1BFF013D00F4EC4F /* SystemConfiguration.framework */; };
 		81D9AFAD20747230000B51A7 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 816ACAD41BFF023200F4EC4F /* libz.tbd */; };
+		81DA81342499C09600329886 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 81DA81312499C09500329886 /* AlipaySDK.bundle */; };
+		81DA81352499C09600329886 /* libAliModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81DA81322499C09500329886 /* libAliModule.a */; };
+		81DA81362499C09600329886 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81DA81332499C09500329886 /* AlipaySDK.framework */; };
+		81DA81382499E2F800329886 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81DA81372499E2F700329886 /* AlipaySDK.framework */; };
+		81DA8142249A009200329886 /* libWXModule.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 81DA813E249A009200329886 /* libWXModule.a */; };
 		81E6A50B23BAFBAD0017635C /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81E6A50A23BAFBAD0017635C /* WebKit.framework */; };
 /* End PBXBuildFile section */
 
@@ -75,9 +76,6 @@
 		81232DC020DCD5C200B78E71 /* libUPModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libUPModule.a; sourceTree = "<group>"; };
 		81232DC320DCD83500B78E71 /* libAppleModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAppleModule.a; sourceTree = "<group>"; };
 		81232DC520DCD95300B78E71 /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; };
-		81232DC820DCDC5100B78E71 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
-		81232DC920DCDC5100B78E71 /* libAliModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAliModule.a; sourceTree = "<group>"; };
-		81232DCA20DCDC5100B78E71 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
 		81352D831C87D481003C355E /* Demo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Demo.entitlements; sourceTree = "<group>"; };
 		8139EE931BFEE97F0061D7EA /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		8139EE971BFEE97F0061D7EA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
@@ -108,12 +106,19 @@
 		816ACAD41BFF023200F4EC4F /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
 		816ACAD61BFF024E00F4EC4F /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; };
 		816ACAD81BFF025B00F4EC4F /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
-		817D550B21B7B7AC0065F816 /* libWXModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWXModule.a; sourceTree = "<group>"; };
 		8196CB9C1DFE8B48002D7454 /* AllPaySDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllPaySDK.h; sourceTree = "<group>"; };
 		8196CBCC1DFE92C3002D7454 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
 		8199773E1D34D3C400266819 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
 		81B2095A1CE481F6007E3534 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
 		81C5BB80208DD91F00972A63 /* Easebuzz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Easebuzz.framework; path = Demo/allpaysdk/EBModule/Easebuzz.framework; sourceTree = "<group>"; };
+		81DA81312499C09500329886 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
+		81DA81322499C09500329886 /* libAliModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAliModule.a; sourceTree = "<group>"; };
+		81DA81332499C09500329886 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
+		81DA81372499E2F700329886 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
+		81DA813E249A009200329886 /* libWXModule.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWXModule.a; sourceTree = "<group>"; };
+		81DA813F249A009200329886 /* WXApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApi.h; sourceTree = "<group>"; };
+		81DA8140249A009200329886 /* WXApiObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApiObject.h; sourceTree = "<group>"; };
+		81DA8141249A009200329886 /* WechatAuthSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WechatAuthSDK.h; sourceTree = "<group>"; };
 		81E6A50A23BAFBAD0017635C /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
 /* End PBXFileReference section */
 
@@ -123,19 +128,20 @@
 			buildActionMask = 2147483647;
 			files = (
 				81232DC620DCD95400B78E71 /* PassKit.framework in Frameworks */,
-				81232DCD20DCDC5100B78E71 /* AlipaySDK.framework in Frameworks */,
-				81232DCC20DCDC5100B78E71 /* libAliModule.a in Frameworks */,
+				81DA81362499C09600329886 /* AlipaySDK.framework in Frameworks */,
+				81DA81352499C09600329886 /* libAliModule.a in Frameworks */,
 				81D9AFAD20747230000B51A7 /* libz.tbd in Frameworks */,
 				81D9AFAC20747223000B51A7 /* SystemConfiguration.framework in Frameworks */,
 				81D9AFAB20747216000B51A7 /* CFNetwork.framework in Frameworks */,
+				81DA8142249A009200329886 /* libWXModule.a in Frameworks */,
 				810F58D222323946000A30BA /* libAllPaySDK.a in Frameworks */,
 				8196CBCD1DFE92C3002D7454 /* CoreMotion.framework in Frameworks */,
-				817D550C21B7B7AC0065F816 /* libWXModule.a in Frameworks */,
 				818408831DE7EE2800DB194B /* CoreTelephony.framework in Frameworks */,
 				81E6A50B23BAFBAD0017635C /* WebKit.framework in Frameworks */,
 				8199773F1D34D3C400266819 /* JavaScriptCore.framework in Frameworks */,
 				81232DC420DCD83500B78E71 /* libAppleModule.a in Frameworks */,
 				81425F851C055757007CA494 /* CoreLocation.framework in Frameworks */,
+				81DA81382499E2F800329886 /* AlipaySDK.framework in Frameworks */,
 				81425F831C055722007CA494 /* CoreGraphics.framework in Frameworks */,
 				816ACAD91BFF025B00F4EC4F /* libc++.tbd in Frameworks */,
 				816ACAD71BFF024E00F4EC4F /* libsqlite3.tbd in Frameworks */,
@@ -178,16 +184,6 @@
 			path = AppleModule;
 			sourceTree = "<group>";
 		};
-		81232DC720DCDC5100B78E71 /* AliModule */ = {
-			isa = PBXGroup;
-			children = (
-				81232DC820DCDC5100B78E71 /* AlipaySDK.bundle */,
-				81232DC920DCDC5100B78E71 /* libAliModule.a */,
-				81232DCA20DCDC5100B78E71 /* AlipaySDK.framework */,
-			);
-			path = AliModule;
-			sourceTree = "<group>";
-		};
 		8139EE8A1BFEE97F0061D7EA = {
 			isa = PBXGroup;
 			children = (
@@ -268,20 +264,12 @@
 			name = Util;
 			sourceTree = "<group>";
 		};
-		817D550A21B7B7AC0065F816 /* WXModule */ = {
-			isa = PBXGroup;
-			children = (
-				817D550B21B7B7AC0065F816 /* libWXModule.a */,
-			);
-			path = WXModule;
-			sourceTree = "<group>";
-		};
 		8196CB971DFE8B48002D7454 /* allpaysdk */ = {
 			isa = PBXGroup;
 			children = (
+				81DA813D249A009200329886 /* WXModule */,
+				81DA81302499C09500329886 /* AliModule */,
 				810F58D122323946000A30BA /* libAllPaySDK.a */,
-				817D550A21B7B7AC0065F816 /* WXModule */,
-				81232DC720DCDC5100B78E71 /* AliModule */,
 				81232DC220DCD83500B78E71 /* AppleModule */,
 				81232DBF20DCD5C200B78E71 /* UPModule */,
 				8196CB9C1DFE8B48002D7454 /* AllPaySDK.h */,
@@ -300,6 +288,28 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
+		81DA81302499C09500329886 /* AliModule */ = {
+			isa = PBXGroup;
+			children = (
+				81DA81372499E2F700329886 /* AlipaySDK.framework */,
+				81DA81312499C09500329886 /* AlipaySDK.bundle */,
+				81DA81322499C09500329886 /* libAliModule.a */,
+				81DA81332499C09500329886 /* AlipaySDK.framework */,
+			);
+			path = AliModule;
+			sourceTree = "<group>";
+		};
+		81DA813D249A009200329886 /* WXModule */ = {
+			isa = PBXGroup;
+			children = (
+				81DA813E249A009200329886 /* libWXModule.a */,
+				81DA813F249A009200329886 /* WXApi.h */,
+				81DA8140249A009200329886 /* WXApiObject.h */,
+				81DA8141249A009200329886 /* WechatAuthSDK.h */,
+			);
+			path = WXModule;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -421,7 +431,7 @@
 			files = (
 				8139EEA61BFEE97F0061D7EA /* LaunchScreen.storyboard in Resources */,
 				8139EEA31BFEE97F0061D7EA /* Assets.xcassets in Resources */,
-				81232DCB20DCDC5100B78E71 /* AlipaySDK.bundle in Resources */,
+				81DA81342499C09600329886 /* AlipaySDK.bundle in Resources */,
 				8139EEA11BFEE97F0061D7EA /* Main.storyboard in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -553,7 +563,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
@@ -602,7 +612,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";

BIN
v5/ios/ios_sdk/Demo/Demo.xcodeproj/project.xcworkspace/xcuserdata/bensonzhang.xcuserdatad/UserInterfaceState.xcuserstate


+ 4 - 4
v5/ios/ios_sdk/Demo/Demo/AppDelegate.m

@@ -8,7 +8,7 @@
 
 #import "AppDelegate.h"
 #import "allpaysdk/AllPaySDK.h"
-
+#import "WXApi.h"
 @interface AppDelegate ()
 
 @end
@@ -17,24 +17,24 @@
 
 
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+     [WXApi registerApp:@"wx0d48a98252a2fe7a" universalLink:@"https://testapi.allpayx.com/"];
     return YES;
 }
 
 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
-        NSLog(@"222222");
+       
     [AllPaySDK openURL:url];
     return YES;
 }
 
 -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
-      NSLog(@"333333");
+     
     [AllPaySDK openURL:url];
     return YES;
     
 }
 
 -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
-       NSLog(@"44444");
     [AllPaySDK openURL:url];
     return YES;
     

+ 4 - 0
v5/ios/ios_sdk/Demo/Demo/Demo.entitlements

@@ -2,6 +2,10 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>com.apple.developer.associated-domains</key>
+	<array>
+		<string>testapi.allpayx.com</string>
+	</array>
 	<key>com.apple.developer.in-app-payments</key>
 	<array>
 		<string>merchant.allpay.pay</string>

+ 1 - 0
v5/ios/ios_sdk/Demo/Demo/Info.plist

@@ -46,6 +46,7 @@
 	<key>LSApplicationQueriesSchemes</key>
 	<array>
 		<string>weixin</string>
+		<string>weixinULAPI</string>
 		<string>uppaysdk</string>
 		<string>uppaywallet</string>
 		<string>uppayx1</string>

+ 2 - 2
v5/ios/ios_sdk/Demo/Demo/ViewController.m

@@ -65,8 +65,8 @@
     [paramDic setObject:@"UTF-8" forKey:@"charSet"];
     [paramDic setObject:@"PURC" forKey:@"transType"];
     [paramDic setObject:[DateUtil getDate:@"YYYYMMddHHmmss"] forKey:@"orderNum"];
-    [paramDic setObject:@"1" forKey:@"orderAmount"];
-    [paramDic setObject:@"HKD" forKey:@"orderCurrency"];
+    [paramDic setObject:@"0.01" forKey:@"orderAmount"];
+    [paramDic setObject:@"CNY" forKey:@"orderCurrency"];
     [paramDic setObject:@"nil" forKey:@"frontURL"];
     [paramDic setObject:@"https://testapi.allpayx.com/test" forKey:@"backURL"];
     [paramDic setObject:@"nil" forKey:@"merReserve"];

File diff suppressed because it is too large
+ 1 - 1
v5/ios/ios_sdk/Demo/Demo/allpaysdk/AliModule/AlipaySDK.bundle/bridge.js


BIN
v5/ios/ios_sdk/Demo/Demo/allpaysdk/AliModule/AlipaySDK.framework/AlipaySDK


+ 56 - 0
v5/ios/ios_sdk/Demo/Demo/allpaysdk/AliModule/AlipaySDK.framework/Headers/AFServiceCenter.h

@@ -0,0 +1,56 @@
+//
+//  AFServiceCenter.h
+//  AFServiceSDK
+//
+//  Created by jiajunchen on 02/01/2018.
+//  Copyright © 2018 antfin. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class AFServiceResponse;
+
+/**
+ SDK支持的业务枚举值
+
+ - AFServiceEInvoice: 电子发票
+ - AFServiceAuth: 账户授权
+ */
+typedef NS_ENUM(NSUInteger, AFService) {
+    AFServiceEInvoice,
+    AFServiceAuth,
+    AFServiceDeduct
+};
+
+
+extern NSString * const kAFServiceOptionBizParams;      // 钱包服务调用入参
+extern NSString * const kAFServiceOptionCallbackScheme; // 业务回跳当前app的scheme
+extern NSString * const kAFServiceOptionNotUseLanding;  // 不使用支付宝提示下载页做补偿,为true时需要商户自己处理用户未安装支付宝的情况
+extern NSString * const kAFServiceBizParamsKeyUrl;      // 独立签约入参url
+
+typedef void(^AFServiceResultBlock)(AFServiceResponse *response);
+
+@interface AFServiceCenter : NSObject
+
+/**
+ 调用钱包服务
+
+ @param service 业务service, 见AFService枚举值
+ @param params  参数Dictionary, key值详情参见kAFServiceOptionBizParams、kAFServiceOptionCallbackScheme注释
+ @param block   业务结果回调的block, block参数是AFServiceResponse类型,业务结果通过result属性获取,如果未用户未安装支付宝并且kAFServiceOptionNotUseLanding未设置为true,会使用H5landing页做补偿,这种情况下不会有block回调结果。
+ */
++ (void)callService:(AFService)service
+         withParams:(NSDictionary *)params
+      andCompletion:(AFServiceResultBlock)block;
+
+
+/**
+ 处理钱包服务回跳APP的URL
+
+ @param url 回跳URL
+ @param block 业务结果回掉的block,详情见调用接口入参上的block。注意此接口上的block只有在跳转钱包后,当前APP被系统回收的情况下回跳才生效
+ */
++ (void)handleResponseURL:(NSURL *)url
+           withCompletion:(AFServiceResultBlock)block;
+
+@end

+ 43 - 0
v5/ios/ios_sdk/Demo/Demo/allpaysdk/AliModule/AlipaySDK.framework/Headers/AFServiceResponse.h

@@ -0,0 +1,43 @@
+//
+//  AFServiceResponse.h
+//  AFServiceSDK
+//
+//  Created by jiajunchen on 08/01/2018.
+//  Copyright © 2018 antfin. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+/**
+ 钱包服务调用结果状态吗
+
+ - AFResSuccess: 默认值,业务调用成功,结果数据参见result字段
+ - AFResInvalidService: service枚举值错误
+ - AFResInvalidURL: 钱包回跳URL错误
+ - AFResRepeatCall: 业务重复调用(3s内)
+ - AFResOpenURLErr: 跳转失败
+ */
+typedef NS_ENUM(NSUInteger, AFResCode) {
+    AFResSuccess = 0,
+    AFResInvalidService = 100,
+    AFResInvalidURL,
+    AFResRepeatCall,
+    AFResOpenURLErr,
+};
+
+
+@interface AFServiceResponse : NSObject
+
+
+/**
+ 业务调用状态吗
+ */
+@property (nonatomic, assign) AFResCode responseCode;
+
+
+/**
+ 业务结果Dictionary, 内容请参考具体业务方接入文档
+ */
+@property (readonly) NSDictionary *result;
+
+@end

+ 21 - 1
v5/ios/ios_sdk/Demo/Demo/allpaysdk/AliModule/AlipaySDK.framework/Headers/AlipaySDK.h

@@ -9,11 +9,13 @@
 
 ////////////////////////////////////////////////////////
 ///////////////// 支付宝标准版本支付SDK ///////////////////
-/////////// version:15.6.8  motify:2019.09.19///////////
+///////// version:15.7.6  motify:2020.04.28///////////
 ////////////////////////////////////////////////////////
 
 #import <UIKit/UIKit.h>
 #import "APayAuthInfo.h"
+#import "AFServiceCenter.h"
+#import "AFServiceResponse.h"
 
 typedef void(^CompletionBlock)(NSDictionary *resultDic);
 
@@ -200,4 +202,22 @@ typedef enum {
  *  @param block 更新请求结果回调
  */
 - (void)fetchSdkConfigWithBlock:(void(^)(BOOL success))block;
+
+
+typedef void(^APLogBlock)(NSString *log);
+
+/**
+*   接收AlipaySDK的log信息
+*
+*  @param logBlock 打印log的回调block
+*/
++ (void)startLogWithBlock:(APLogBlock)logBlock;
+
+/**
+*   停止输出log,会释放logBlock
+*
+*
+*/
++ (void)stopLog;
+
 @end

+ 198 - 0
v5/ios/ios_sdk/Demo/Demo/allpaysdk/WXModule/WXApi.h

@@ -0,0 +1,198 @@
+//
+//  WXApi.h
+//  所有Api接口
+//
+//  Created by Wechat on 12-2-28.
+//  Copyright (c) 2012年 Tencent. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "WXApiObject.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - WXApiDelegate
+/*! @brief 接收并处理来自微信终端程序的事件消息
+ *
+ * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。
+ * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。
+ */
+@protocol WXApiDelegate <NSObject>
+@optional
+
+/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果
+ *
+ * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。
+ * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。
+ * @param req 具体请求内容,是自动释放的
+ */
+- (void)onReq:(BaseReq*)req;
+
+
+
+/*! @brief 发送一个sendReq后,收到微信的回应
+ *
+ * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
+ * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
+ * @param resp具体的回应内容,是自动释放的
+ */
+- (void)onResp:(BaseResp*)resp;
+
+@end
+
+#pragma mark - WXApiLogDelegate
+
+@protocol WXApiLogDelegate <NSObject>
+
+- (void)onLog:(NSString*)log logLevel:(WXLogLevel)level;
+
+@end
+
+
+#pragma mark - WXApi
+
+/*! @brief 微信Api接口函数类
+ *
+ * 该类封装了微信终端SDK的所有接口
+ */
+@interface WXApi : NSObject
+
+/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
+ *
+ * 需要在每次启动第三方应用程序时调用。
+ * @attention 请保证在主线程中调用此函数
+ * @param appid 微信开发者ID
+ * @param universalLink 微信开发者Universal Link
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink;
+
+
+/*! @brief 处理旧版微信通过URL启动App时传递的数据
+ *
+ * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
+ * @param url 微信启动第三方应用时传递过来的URL
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)handleOpenURL:(NSURL *)url delegate:(nullable id<WXApiDelegate>)delegate;
+
+
+/*! @brief 处理微信通过Universal Link启动App时传递的数据
+ *
+ * 需要在 application:continueUserActivity:restorationHandler:中调用。
+ * @param userActivity 微信启动第三方应用时系统API传递过来的userActivity
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)handleOpenUniversalLink:(NSUserActivity *)userActivity delegate:(nullable id<WXApiDelegate>)delegate;
+
+
+/*! @brief 检查微信是否已被用户安装
+ *
+ * @return 微信已安装返回YES,未安装返回NO。
+ */
++ (BOOL)isWXAppInstalled;
+
+
+
+/*! @brief 判断当前微信的版本是否支持OpenApi
+ *
+ * @return 支持返回YES,不支持返回NO。
+ */
++ (BOOL)isWXAppSupportApi;
+
+
+
+/*! @brief 获取微信的itunes安装地址
+ *
+ * @return 微信的安装地址字符串。
+ */
++ (NSString *)getWXAppInstallUrl;
+
+
+
+/*! @brief 获取当前微信SDK的版本号
+ *
+ * @return 返回当前微信SDK的版本号
+ */
++ (NSString *)getApiVersion;
+
+
+
+/*! @brief 打开微信
+ *
+ * @return 成功返回YES,失败返回NO。
+ */
++ (BOOL)openWXApp;
+
+
+
+/*! @brief 发送请求到微信,等待微信返回onResp
+ *
+ * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
+ * SendAuthReq、SendMessageToWXReq、PayReq等。
+ * @param req 具体的发送请求。
+ * @param completion 调用结果回调block
+ */
++ (void)sendReq:(BaseReq *)req completion:(void (^ __nullable)(BOOL success))completion;
+
+/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面
+ *
+ * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有
+ * GetMessageFromWXResp、ShowMessageFromWXResp等。
+ * @param resp 具体的应答内容
+ * @param completion 调用结果回调block
+ */
++ (void)sendResp:(BaseResp*)resp completion:(void (^ __nullable)(BOOL success))completion;
+
+
+/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp
+ *
+ * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。
+ * @param req 具体的发送请求。
+ * @param viewController 当前界面对象。
+ * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
+ * @param completion 调用结果回调block
+ */
++ (void)sendAuthReq:(SendAuthReq *)req viewController:(UIViewController*)viewController delegate:(nullable id<WXApiDelegate>)delegate completion:(void (^ __nullable)(BOOL success))completion;
+
+
+/*! @brief 测试函数,用于排查当前App通过Universal Link方式分享到微信的流程
+    注意1:  调用自检函数之前必须要先调用registerApp:universalLink接口, 并确认调用成功
+    注意2:  自检过程中会有Log产生,可以先调用startLogByLevel函数,根据Log排查问题
+    注意3:  会多次回调block
+    注意4:  仅用于新接入SDK时调试使用,请勿在正式环境的调用
+ *
+ *  当completion回调的step为WXULCheckStepFinal时,表示检测通过,Universal Link接入成功
+ *  @param completion 回调Block
+ */
++ (void)checkUniversalLinkReady:(nonnull WXCheckULCompletion)completion;
+
+
+/*! @brief WXApi的成员函数,接受微信的log信息。byBlock
+    注意1:SDK会强引用这个block,注意不要导致内存泄漏,注意不要导致内存泄漏
+    注意2:调用过一次startLog by block之后,如果再调用一次任意方式的startLoad,会释放上一次logBlock,不再回调上一个logBlock
+ *
+ *  @param level 打印log的级别
+ *  @param logBlock 打印log的回调block
+ */
+
++ (void)startLogByLevel:(WXLogLevel)level logBlock:(WXLogBolock)logBlock;
+
+/*! @brief WXApi的成员函数,接受微信的log信息。byDelegate 
+    注意1:sdk会弱引用这个delegate,这里可加任意对象为代理,不需要与WXApiDelegate同一个对象
+    注意2:调用过一次startLog by delegate之后,再调用一次任意方式的startLoad,不会再回调上一个logDelegate对象
+ *  @param level 打印log的级别
+ *  @param logDelegate 打印log的回调代理,
+ */
++ (void)startLogByLevel:(WXLogLevel)level logDelegate:(id<WXApiLogDelegate>)logDelegate;
+
+/*! @brief 停止打印log,会清理block或者delegate为空,释放block
+ *  @param 
+ */
++ (void)stopLog;
+
+@end
+
+NS_ASSUME_NONNULL_END

File diff suppressed because it is too large
+ 1075 - 0
v5/ios/ios_sdk/Demo/Demo/allpaysdk/WXModule/WXApiObject.h


+ 68 - 0
v5/ios/ios_sdk/Demo/Demo/allpaysdk/WXModule/WechatAuthSDK.h

@@ -0,0 +1,68 @@
+//
+//  WechatAuthSDK.h
+//  WechatAuthSDK
+//
+//  Created by 李凯 on 13-11-29.
+//  Copyright (c) 2013年 Tencent. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+enum  AuthErrCode {
+    WechatAuth_Err_Ok = 0,  //Auth成功
+    WechatAuth_Err_NormalErr = -1,  //普通错误
+    WechatAuth_Err_NetworkErr = -2, //网络错误
+    WechatAuth_Err_GetQrcodeFailed = -3,    //获取二维码失败
+    WechatAuth_Err_Cancel = -4,     //用户取消授权
+    WechatAuth_Err_Timeout = -5,    //超时
+};
+
+@protocol WechatAuthAPIDelegate<NSObject>
+@optional
+
+- (void)onAuthGotQrcode:(UIImage *)image;  //得到二维码
+- (void)onQrcodeScanned;    //二维码被扫描
+- (void)onAuthFinish:(int)errCode AuthCode:(nullable NSString *)authCode;    //成功登录
+
+@end
+
+@interface WechatAuthSDK : NSObject{
+    NSString *_sdkVersion;
+    __weak id<WechatAuthAPIDelegate> _delegate;
+}
+
+@property(nonatomic, weak, nullable) id<WechatAuthAPIDelegate> delegate;
+@property(nonatomic, readonly) NSString *sdkVersion;   //authSDK版本号
+
+/*! @brief 发送登录请求,等待WechatAuthAPIDelegate回调
+ *
+ * @param appId 微信开发者ID
+ * @param nonceStr 一个随机的尽量不重复的字符串,用来使得每次的signature不同
+ * @param timeStamp 时间戳
+ * @param scope 应用授权作用域,拥有多个作用域用逗号(,)分隔
+ * @param signature 签名
+ * @param schemeData 会在扫码后拼在scheme后
+ * @return 成功返回YES,失败返回NO
+    注:该实现只保证同时只有一个Auth在运行,Auth未完成或未Stop再次调用Auth接口时会返回NO。
+ */
+
+- (BOOL)Auth:(NSString *)appId
+    nonceStr:(NSString *)nonceStr
+   timeStamp:(NSString *)timeStamp
+       scope:(NSString *)scope
+   signature:(NSString *)signature
+  schemeData:(nullable NSString *)schemeData;
+
+
+/*! @brief 暂停登录请求
+ *
+ * @return 成功返回YES,失败返回NO。
+ */
+- (BOOL)StopAuth;
+
+@end
+
+NS_ASSUME_NONNULL_END

BIN
v5/ios/ios_sdk/Demo/Demo/allpaysdk/WXModule/libWXModule.a