提交 54946d8a authored 作者: JarvanMo's avatar JarvanMo

impl FluwxDelegate in iOS

上级 8fd31e0c
......@@ -11,7 +11,18 @@
@implementation FluwxDelegate
+ (instancetype)defaultManager {
static dispatch_once_t onceToken;
static FluwxDelegate *instance;
dispatch_once(&onceToken, ^{
instance = [[FluwxDelegate alloc] init];
});
return instance;
}
- (void) registerWxAPI:(NSString *)appId universalLink:(NSString *)universalLink {
[WXApi registerApp:appId universalLink:universalLink];
}
@end
......@@ -3,14 +3,20 @@
#import "FluwxStringUtil.h"
#import "FluwxAuthHandler.h"
#import "FluwxShareHandler.h"
#import "FluwxDelegate.h"
@interface FluwxPlugin()<WXApiManagerDelegate>
@property (strong,nonatomic)NSString *extMsg;
@end
typedef void(^FluwxWXReqRunnable)(void);
@implementation FluwxPlugin
FluwxAuthHandler *_fluwxAuthHandler;
FluwxShareHandler *_fluwxShareHandler;
BOOL _isRunning;
FluwxWXReqRunnable _initialWXReqRunnable;
BOOL handleOpenURLByFluwx = YES;
......@@ -40,12 +46,17 @@ FlutterMethodChannel *channel = nil;
if (self) {
_fluwxAuthHandler = [[FluwxAuthHandler alloc] initWithRegistrar:registrar methodChannel:flutterMethodChannel];
_fluwxShareHandler = [[FluwxShareHandler alloc] initWithRegistrar:registrar];
_isRunning = NO;
channel = flutterMethodChannel;
[FluwxResponseHandler defaultManager].delegate = self;
}
return self;
}
- (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result {
_isRunning = YES;
if ([@"registerApp" isEqualToString:call.method]) {
[self registerApp:call result:result];
} else if ([@"isWeChatInstalled" isEqualToString:call.method]) {
......@@ -239,8 +250,8 @@ FlutterMethodChannel *channel = nil;
}
- (void)handelGetExtMsgWithCall:(FlutterMethodCall *)call result:(FlutterResult)result {
result(self.extMsg);
self.extMsg=nil;
result([FluwxDelegate defaultManager].extMsg);
[FluwxDelegate defaultManager].extMsg=nil;
}
......@@ -271,7 +282,18 @@ FlutterMethodChannel *channel = nil;
}
- (void)managerDidRecvLaunchFromWXReq:(LaunchFromWXReq *)request {
self.extMsg = request.message.messageExt;
[FluwxDelegate defaultManager].extMsg = request.message.messageExt;
// LaunchFromWXReq *launchFromWXReq = (LaunchFromWXReq *)request;
//
// if (_isRunning) {
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt;
// } else {
// __weak typeof(self) weakSelf = self;
// _initialWXReqRunnable = ^() {
// __strong typeof(weakSelf) strongSelf = weakSelf;
// [FluwxDelegate defaultManager].extMsg = request.message.messageExt
// };
// }
}
@end
......@@ -8,5 +8,9 @@
@interface FluwxDelegate : NSObject
@property (strong,nonatomic)NSString *extMsg;
+ (instancetype)defaultManager;
- (void)registerWxAPI:(NSString *)appId universalLink:(NSString *)universalLink;
@end
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论