2020-04-26 14:57:08 +08:00
|
|
|
//
|
|
|
|
// MOP_registerExtensionApi.m
|
|
|
|
// mop
|
|
|
|
//
|
|
|
|
// Created by 康旭耀 on 2020/4/20.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "MOP_registerExtensionApi.h"
|
|
|
|
#import "MopPlugin.h"
|
|
|
|
#import <FinApplet/FinApplet.h>
|
|
|
|
|
|
|
|
@implementation MOP_registerExtensionApi
|
|
|
|
|
|
|
|
- (void)setupApiWithSuccess:(void (^)(NSDictionary<NSString *,id> * _Nonnull))success failure:(void (^)(id _Nullable))failure cancel:(void (^)(void))cancel
|
|
|
|
{
|
|
|
|
NSLog(@"MOP_registerExtensionApi");
|
|
|
|
FlutterMethodChannel *channel = [[MopPlugin instance] methodChannel];
|
2022-04-25 18:56:35 +08:00
|
|
|
[[FATClient sharedClient] registerExtensionApi:self.name handle:^(id param, FATExtensionApiCallback callback) {
|
2020-04-26 14:57:08 +08:00
|
|
|
NSLog(@"invoke ExtensionApi:");
|
|
|
|
NSLog(@"%@",self.name);
|
|
|
|
NSLog(@"%@",param);
|
|
|
|
NSString* api = [@"extensionApi:" stringByAppendingString:self.name];
|
|
|
|
[channel invokeMethod:api arguments:param result:^(id _Nullable result) {
|
2021-07-09 17:07:44 +08:00
|
|
|
NSLog(@"extensionApi reslut:%@",result);
|
2021-08-20 17:01:15 +08:00
|
|
|
// 先判断是否flutter发生错误
|
2022-11-15 22:05:00 +08:00
|
|
|
// BOOL isFlutterError = [result isKindOfClass:[FlutterError class]] || result == FlutterMethodNotImplemented;
|
|
|
|
BOOL isValid = [result isKindOfClass:[NSDictionary class]];
|
|
|
|
if (!isValid) {
|
|
|
|
NSLog(@"extensionApi reslut is not NSDictionary");
|
2020-04-26 14:57:08 +08:00
|
|
|
callback(FATExtensionCodeFailure,nil);
|
2021-08-20 17:01:15 +08:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
// 再判断回调是否为失败
|
|
|
|
BOOL hasError = [[result allKeys] containsObject:@"errMsg"];
|
|
|
|
if (hasError) {
|
|
|
|
NSString *errMsg = result[@"errMsg"];
|
|
|
|
NSString *errPrefix = [NSString stringWithFormat:@"%@:fail", self.name];
|
|
|
|
BOOL isFail = [errMsg hasPrefix:errPrefix];
|
|
|
|
if (isFail) {
|
|
|
|
NSLog(@"extensionApi reslut:fail");
|
|
|
|
callback(FATExtensionCodeFailure,nil);
|
|
|
|
return;
|
|
|
|
}
|
2020-04-26 14:57:08 +08:00
|
|
|
}
|
2021-08-20 17:01:15 +08:00
|
|
|
// 其他的按成功处理
|
|
|
|
NSLog(@"extensionApi callback:%@",result);
|
|
|
|
callback(FATExtensionCodeSuccess,result);
|
2020-04-26 14:57:08 +08:00
|
|
|
}];
|
|
|
|
}];
|
|
|
|
success(@{});
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|