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

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

......@@ -2,10 +2,19 @@
微信的回调也要根据平台的不同进行差异化处理。
### Android
除了支付以外的回调,你需要在你的`WXEntryActivity`中添加如下代码,支付回调需要在`WXPayEntryActivity`中添加
需要在`WXEntryActivity``WXPayEntryActivity`中添加如下代码
```kotlin
override fun onResp(resp: BaseResp) {
FluwxResponseHandler.handleResponse(resp)
}
```
你也可以直接继承```FluwxWXEntryActivity```
\ No newline at end of file
你也可以直接继承```FluwxWXEntryActivity```
### 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 @@
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:[FluwxResponseHandler responseHandler]];
}
- (void)applicationWillResignActive:(UIApplication *)application {
}
......
......@@ -4,10 +4,12 @@
#import "FluwxWXApiHandler.h"
@class FluwxShareHandler;
@class FluwxResponseHandler;
@class FluwxAuthHandler;
@class FluwxWXApiHandler;
@class FluwxPaymentHandler;
extern BOOL isWeChatRegistered;
......@@ -19,6 +21,8 @@ extern BOOL isWeChatRegistered;
@private
FluwxAuthHandler *_fluwxAuthHandler;
@private FluwxWXApiHandler *_fluwxWXApiHandler;
@private FluwxPaymentHandler *_fluwxPaymentHandler;
}
@end
......@@ -5,6 +5,7 @@
#import "FluwxAuthHandler.h"
#import "FluwxWXApiHandler.h"
#import "FluwxPaymentHandler.h"
@implementation FluwxPlugin
......@@ -30,6 +31,7 @@ BOOL isWeChatRegistered = NO;
_fluwxShareHandler = [[FluwxShareHandler alloc] initWithRegistrar:registrar];
_fluwxAuthHandler = [[FluwxAuthHandler alloc] initWithRegistrar:registrar];
_fluwxWXApiHandler = [[FluwxWXApiHandler alloc] init];
_fluwxPaymentHandler = [[FluwxPaymentHandler alloc] init];
}
return self;
......@@ -54,6 +56,11 @@ BOOL isWeChatRegistered = NO;
return;
}
if([@"pay" isEqualToString :call.method]){
[_fluwxPaymentHandler handlePayment:call result:result];
return;
}
if ([call.method hasPrefix:@"share"]) {
[_fluwxShareHandler handleShare:call result:result];
return;
......
......@@ -13,5 +13,29 @@
}
- (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
\ No newline at end of file
......@@ -29,6 +29,9 @@
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)});
}
......
......@@ -138,7 +138,5 @@
NonceStr:(NSString *)nonceStr
Timestamp:(UInt32)timestamp
Package:(NSString *)package
Sign:(NSString *)sign
Description:(NSString *)description
;
Sign:(NSString *)sign;
@end
......@@ -384,7 +384,6 @@
Timestamp:(UInt32)timestamp
Package:(NSString *)package
Sign:(NSString *)sign
Description:(NSString *)description
{
PayReq *req = [[PayReq alloc] init];
req.partnerId = partnerId;
......@@ -395,6 +394,8 @@
req.sign = sign;
return [WXApi sendReq:req];
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论