首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在颤动中的Webview中获取URL响应的控制台日志

在颤动中的Webview中获取URL响应的控制台日志
EN

Stack Overflow用户
提问于 2020-03-04 21:23:12
回答 1查看 4.3K关注 0票数 0

我使用了webview_flutter插件来展示Webview。目前,我在Webview中打开了条带API。条带API成功后,它将重定向到我的服务器API。在此API中,验证条形卡并在控制台中发送打印的响应。我不会在flutter端得到这个控制台日志。

代码语言:javascript
运行
复制
                       WebView(
                            initialUrl: "https://connect.stripe.com/oauth/authorize?response_type=code&client_id=${clientId}&scope=read_write&redirect_uri=${baseUrl}/transaction/connect&state=161",
                            javascriptMode: JavascriptMode.unrestricted,
                            javascriptChannels:  [
                              JavascriptChannel(
                                  name: 'Print',
                                  onMessageReceived: (JavascriptMessage message) {
                                    print('Message: ${message.message}');
                                  }),
                            ].toSet(),
                            onPageStarted: (url) {
                              debugPrint("onPageStarted $url");
                            },
                            onPageFinished: (url) {
                              debugPrint("onPageFinished $url");
                            })

我试图从JavascriptChannel中的应用程序接口获取Javascript响应,这在安卓中得到了响应,但在iOS端却没有得到。

1)有没有办法把这些日志放在颤动端?

2)有没有其他方法可以在颤动中获得API的响应?

EN

回答 1

Stack Overflow用户

发布于 2020-03-16 17:57:09

我找到了一种替代方法,可以从条纹API中获得回调。为了响应API回调,我重定向到另一个后端API。

代码语言:javascript
运行
复制
 public connectWithStripe = async (req: CustomRequest, res: Response) => {
    request.post(process.env.StripeConnecturl
        , {
            form: {
                client_secret: process.env.StripeKey,
                code: req.query.code,
                grant_type: "authorization_code",
            },
        }, async (error: any, response: any) => {
            if (response && response.statusCode === 200) {
                const stripeDetails = {
                    stripeAccountId: JSON.parse(response.body).stripe_user_id,
                };
                return res.redirect('connect-success');  // redirect when successfully stripe account 
            } else {
                return res.redirect('connect-fail');   // fail
            }
        });
}

在flutter端,我们在navigationDelegate函数中得到URL的变化。

代码语言:javascript
运行
复制
WebView(
    initialUrl: url,
    navigationDelegate: (request) {
      if (request.url.contains('connect-success')) {
        // TODO when api success
      } else if (request.url.contains('connect-fail')) {
        // TODO when api fail
      }
      return NavigationDecision.navigate;
    },
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60527134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档