flutter - 在flutter中获取URL响应的控制台登录Webview
问题描述
我使用webview_flutter插件来显示 Webview。目前,我在 Webview 中打开条带 API。条带化 API 成功后,它将重定向到我的服务器 API。在此 API 中,验证条带卡并发送在控制台中打印的响应。我没有在颤动方面得到这个控制台日志。
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 中的 API 获取 Javascript 响应,这进入了 android,但没有进入 iOS 端。
1)有没有办法让这些日志在颤振方面得到?
2)是否有任何替代方法可以通过 API 获得响应以在颤振中进行审查?
解决方案
我找到了一种从 Stripe API 回调的替代方法。为了响应 API 回调,我已经重定向到另一个后端 API。
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
}
});
}
在颤振方面,我们在 navigationDelegate 函数中获得了 URL 变化。
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;
},
)
推荐阅读
- python - Django admin 的 auth 部分中没有用户链接
- maven - 谷歌格式化插件-Spotless
- python - 如何从 web api 访问类似 json 的对象列表?
- java - 从 Java 到 C# 的 DateTime 格式
- php - cURL 错误 [0]:无法连接到 127.0.0.1 端口 8545:连接被拒绝
- wordpress - v-data-table 中“每页行数”菜单的位置计算错误
- c++ - C ++ - 对`mysql_init的未定义引用
- javascript - pdf/renderer jest ReferenceError: _a is not defined
- sql-server - SQL Server:计算一个月的四个星期
- arm - ARM NEON 到 aarch64