@@ -123,8 +123,7 @@ export default class FluwxPlugin implements FlutterPlugin, MethodCallHandler, Ab
123
123
result.notImplemented();
124
124
break;
125
125
case "openBusinessView":
126
- // TODO
127
- result.notImplemented();
126
+ this.openBusinessView(call, result);
128
127
break;
129
128
case "openWeChatInvoice":
130
129
// TODO
@@ -156,8 +155,16 @@ export default class FluwxPlugin implements FlutterPlugin, MethodCallHandler, Ab
156
155
// 微信回调 start
157
156
158
157
onReq = (req: wechatSDK.BaseReq): void => {
159
- // TODO
158
+ if (req instanceof wechatSDK.LaunchFromWXReq) {
159
+ const _result: Map<string, ESObject> = new Map();
160
+ _result.set("extMsg", req.message?.messageExt);
161
+ _result.set("messageAction", req.message?.messageAction);
162
+ _result.set("lang", req.lang);
163
+ _result.set("country", req.country);
164
+ this.channel?.invokeMethod("onWXLaunchFromWX", _result);
165
+ }
160
166
}
167
+
161
168
onResp = (resp: wechatSDK.BaseResp): void => {
162
169
if (resp instanceof wechatSDK.SendAuthResp) {
163
170
this.onAuthResponse(resp);
@@ -270,4 +277,15 @@ export default class FluwxPlugin implements FlutterPlugin, MethodCallHandler, Ab
270
277
271
278
result.success(done);
272
279
}
280
+
281
+ async openBusinessView(call: MethodCall, result: MethodResult) {
282
+ const request = new wechatSDK.OpenBusinessViewReq();
283
+ request.businessType = call.argument("businessType");
284
+ request.query = call.argument("query");
285
+ request.extInfo = `{"miniProgramType": 0}`;
286
+
287
+ const done = await WXAPiHandler.wxApi?.sendReq(this.uiContext, request);
288
+
289
+ result.success(done);
290
+ }
273
291
}
0 commit comments