提交 09df90cd authored 作者: JarvanMo's avatar JarvanMo

support OpenBusinessView in iOS.

上级 0489dd98
......@@ -68,6 +68,8 @@ FlutterMethodChannel *channel = nil;
[self handleSubscribeWithCall:call result:result];
} else if ([@"autoDeduct" isEqualToString:call.method]) {
[self handleAutoDeductWithCall:call result:result];
} else if ([@"openBusinessView" isEqualToString:call.method]) {
[self handleOpenBusinessView:call result:result];
}else if([@"authByPhoneLogin" isEqualToString:call.method]){
[_fluwxAuthHandler handleAuthByPhoneLogin:call result:result];
}else if([@"getExtMsg" isEqualToString:call.method]){
......@@ -76,7 +78,9 @@ FlutterMethodChannel *channel = nil;
[_fluwxShareHandler handleShare:call result:result];
} else if ([@"openWeChatCustomerServiceChat" isEqualToString:call.method]) {
[self openWeChatCustomerServiceChat:call result:result];
} else {
} else if ([@"checkSupportOpenBusinessView" isEqualToString:call.method]) {
[self checkSupportOpenBusinessView:call result:result];
}else {
result(FlutterMethodNotImplemented);
}
}
......@@ -124,6 +128,14 @@ FlutterMethodChannel *channel = nil;
}];
}
- (void)checkSupportOpenBusinessView:(FlutterMethodCall *)call result:(FlutterResult)result {
if(![WXApi isWXAppInstalled]){
result([FlutterError errorWithCode:@"WeChat Not Installed" message:@"Please install the WeChat first" details:nil]);
}else {
result(@(true));
}
}
- (void)handlePayment:(FlutterMethodCall *)call result:(FlutterResult)result {
......@@ -211,6 +223,21 @@ FlutterMethodChannel *channel = nil;
}];
}
- (void)handleOpenBusinessView:(FlutterMethodCall *)call result:(FlutterResult)result {
NSDictionary *params = call.arguments;
WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object];
NSString *businessType = [params valueForKey:@"businessType"];
NSString *query = [params valueForKey:@"query"];
req.businessType = businessType;
req.query = query;
req.extInfo = @"{\"miniProgramType\":0}";
[WXApi sendReq:req completion:^(BOOL done) {
result(@(done));
}];
}
- (void)handelGetExtMsgWithCall:(FlutterMethodCall *)call result:(FlutterResult)result {
result(self.extMsg);
self.extMsg=nil;
......
......@@ -203,6 +203,21 @@ FlutterMethodChannel *fluwxMethodChannel = nil;
[fluwxMethodChannel invokeMethod:@"onWXOpenBusinessWebviewResponse" arguments:result];
// 相关错误信息
}else if ([resp isKindOfClass:[WXOpenBusinessViewResp class]])
{
WXOpenBusinessViewResp *openBusinessViewResp = (WXOpenBusinessViewResp *) resp;
NSDictionary *result = @{
description: [FluwxStringUtil nilToEmpty:openBusinessViewResp.description],
errStr: [FluwxStringUtil nilToEmpty:resp.errStr],
errCode: @(openBusinessViewResp.errCode),
@"businessType":openBusinessViewResp.businessType,
type: @(openBusinessViewResp.type),
@"extMsg":[FluwxStringUtil nilToEmpty:openBusinessViewResp.extMsg]
};
[fluwxMethodChannel invokeMethod:@"onOpenBusinessViewResponse" arguments:result];
// 相关错误信息
}
}
......
......@@ -26,7 +26,7 @@ A new Flutter plugin for Wechat SDK.
s.libraries = ["z", "sqlite3.0", "c++"]
s.preserve_paths = 'Lib/*.a'
s.vendored_libraries = "**/*.a"
s.ios.deployment_target = '8.0'
s.ios.deployment_target = '9.0'
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' }
......
......@@ -283,7 +283,7 @@ Future<bool> openWeChatCustomerServiceChat({required String url, required String
.invokeMethod("openWeChatCustomerServiceChat", {"corpId": corpId, "url": url});
}
// see https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter6_2_1.shtml
/// see https://pay.weixin.qq.com/wiki/doc/apiv3_partner/Offline/apis/chapter6_2_1.shtml
Future<bool> openWeChatBusinessView({required String businessType, required String query}) async {
return await _channel
.invokeMethod("openBusinessView", {"businessType": businessType, "query": query});
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论