提交 766a4aca authored 作者: nelson1110's avatar nelson1110

Merge branch 'master' of https://github.com/JarvanMo/fluwx

...@@ -2,10 +2,19 @@ ...@@ -2,10 +2,19 @@
微信的回调也要根据平台的不同进行差异化处理。 微信的回调也要根据平台的不同进行差异化处理。
### Android ### Android
除了支付以外的回调,你需要在你的`WXEntryActivity`中添加如下代码,支付回调需要在`WXPayEntryActivity`中添加 需要在`WXEntryActivity``WXPayEntryActivity`中添加如下代码
```kotlin ```kotlin
override fun onResp(resp: BaseResp) { override fun onResp(resp: BaseResp) {
FluwxResponseHandler.handleResponse(resp) FluwxResponseHandler.handleResponse(resp)
} }
``` ```
你也可以直接继承```FluwxWXEntryActivity``` 你也可以直接继承```FluwxWXEntryActivity```
\ No newline at end of file
### iOS
在你的`AppDelegate`中重写下面方法:
```objective-c
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:[FluwxResponseHandler responseHandler]];
}
```
\ No newline at end of file
...@@ -12,6 +12,11 @@ ...@@ -12,6 +12,11 @@
return [super application:application didFinishLaunchingWithOptions:launchOptions]; return [super application:application didFinishLaunchingWithOptions:launchOptions];
} }
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:[FluwxResponseHandler responseHandler]];
}
- (void)applicationWillResignActive:(UIApplication *)application { - (void)applicationWillResignActive:(UIApplication *)application {
} }
......
...@@ -4,10 +4,12 @@ ...@@ -4,10 +4,12 @@
#import "FluwxWXApiHandler.h" #import "FluwxWXApiHandler.h"
@class FluwxShareHandler; @class FluwxShareHandler;
@class FluwxResponseHandler; @class FluwxResponseHandler;
@class FluwxAuthHandler; @class FluwxAuthHandler;
@class FluwxWXApiHandler; @class FluwxWXApiHandler;
@class FluwxPaymentHandler;
extern BOOL isWeChatRegistered; extern BOOL isWeChatRegistered;
...@@ -19,6 +21,8 @@ extern BOOL isWeChatRegistered; ...@@ -19,6 +21,8 @@ extern BOOL isWeChatRegistered;
@private @private
FluwxAuthHandler *_fluwxAuthHandler; FluwxAuthHandler *_fluwxAuthHandler;
@private FluwxWXApiHandler *_fluwxWXApiHandler; @private FluwxWXApiHandler *_fluwxWXApiHandler;
@private FluwxPaymentHandler *_fluwxPaymentHandler;
} }
@end @end
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#import "FluwxAuthHandler.h" #import "FluwxAuthHandler.h"
#import "FluwxWXApiHandler.h" #import "FluwxWXApiHandler.h"
#import "FluwxPaymentHandler.h"
@implementation FluwxPlugin @implementation FluwxPlugin
...@@ -30,6 +31,7 @@ BOOL isWeChatRegistered = NO; ...@@ -30,6 +31,7 @@ BOOL isWeChatRegistered = NO;
_fluwxShareHandler = [[FluwxShareHandler alloc] initWithRegistrar:registrar]; _fluwxShareHandler = [[FluwxShareHandler alloc] initWithRegistrar:registrar];
_fluwxAuthHandler = [[FluwxAuthHandler alloc] initWithRegistrar:registrar]; _fluwxAuthHandler = [[FluwxAuthHandler alloc] initWithRegistrar:registrar];
_fluwxWXApiHandler = [[FluwxWXApiHandler alloc] init]; _fluwxWXApiHandler = [[FluwxWXApiHandler alloc] init];
_fluwxPaymentHandler = [[FluwxPaymentHandler alloc] init];
} }
return self; return self;
...@@ -54,6 +56,11 @@ BOOL isWeChatRegistered = NO; ...@@ -54,6 +56,11 @@ BOOL isWeChatRegistered = NO;
return; return;
} }
if([@"pay" isEqualToString :call.method]){
[_fluwxPaymentHandler handlePayment:call result:result];
return;
}
if ([call.method hasPrefix:@"share"]) { if ([call.method hasPrefix:@"share"]) {
[_fluwxShareHandler handleShare:call result:result]; [_fluwxShareHandler handleShare:call result:result];
return; return;
......
...@@ -13,5 +13,29 @@ ...@@ -13,5 +13,29 @@
} }
- (void)handlePayment:(FlutterMethodCall *)call result:(FlutterResult)result { - (void)handlePayment:(FlutterMethodCall *)call result:(FlutterResult)result {
if (!isWeChatRegistered) {
result([FlutterError errorWithCode:resultErrorNeedWeChat message:resultMessageNeedWeChat details:nil]);
return;
}
if (![WXApi isWXAppInstalled]) {
result([FlutterError errorWithCode:@"wechat not installed" message:@"wechat not installed" details:nil]);
return;
}
NSString *partnerId = call.arguments[@"partnerId"];
NSString *prepayId = call.arguments[@"prepayId"];
NSString *packageValue = call.arguments[@"packageValue"];
NSString *nonceStr = call.arguments[@"nonceStr"];
UInt32 timeStamp = (UInt32) call.arguments[@"timeStamp"];
NSString *sign = call.arguments[@"sign"];
BOOL done = [WXApiRequestHandler sendPayment:@""
PartnerId:partnerId
PrepayId:prepayId
NonceStr:nonceStr
Timestamp:timeStamp
Package:packageValue
Sign:sign];
result(@{fluwxKeyPlatform: fluwxKeyIOS, fluwxKeyResult: @(done)});
} }
@end @end
\ No newline at end of file
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
isWeChatRegistered = [WXApi registerApp:appId]; isWeChatRegistered = [WXApi registerApp:appId];
UInt64 typeFlag = MMAPP_SUPPORT_TEXT | MMAPP_SUPPORT_PICTURE | MMAPP_SUPPORT_LOCATION | MMAPP_SUPPORT_VIDEO |MMAPP_SUPPORT_AUDIO | MMAPP_SUPPORT_WEBPAGE | MMAPP_SUPPORT_DOC | MMAPP_SUPPORT_DOCX | MMAPP_SUPPORT_PPT | MMAPP_SUPPORT_PPTX | MMAPP_SUPPORT_XLS | MMAPP_SUPPORT_XLSX | MMAPP_SUPPORT_PDF;
[WXApi registerAppSupportContentFlag:typeFlag];
result(@{fluwxKeyPlatform: fluwxKeyIOS, fluwxKeyResult: @(isWeChatRegistered)}); result(@{fluwxKeyPlatform: fluwxKeyIOS, fluwxKeyResult: @(isWeChatRegistered)});
} }
......
...@@ -138,7 +138,5 @@ ...@@ -138,7 +138,5 @@
NonceStr:(NSString *)nonceStr NonceStr:(NSString *)nonceStr
Timestamp:(UInt32)timestamp Timestamp:(UInt32)timestamp
Package:(NSString *)package Package:(NSString *)package
Sign:(NSString *)sign Sign:(NSString *)sign;
Description:(NSString *)description
;
@end @end
...@@ -384,7 +384,6 @@ ...@@ -384,7 +384,6 @@
Timestamp:(UInt32)timestamp Timestamp:(UInt32)timestamp
Package:(NSString *)package Package:(NSString *)package
Sign:(NSString *)sign Sign:(NSString *)sign
Description:(NSString *)description
{ {
PayReq *req = [[PayReq alloc] init]; PayReq *req = [[PayReq alloc] init];
req.partnerId = partnerId; req.partnerId = partnerId;
...@@ -395,6 +394,8 @@ ...@@ -395,6 +394,8 @@
req.sign = sign; req.sign = sign;
return [WXApi sendReq:req]; return [WXApi sendReq:req];
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论